diff options
Diffstat (limited to 'files/zh-tw/mozilla/developer_guide/source_code/cvs/index.html')
-rw-r--r-- | files/zh-tw/mozilla/developer_guide/source_code/cvs/index.html | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/files/zh-tw/mozilla/developer_guide/source_code/cvs/index.html b/files/zh-tw/mozilla/developer_guide/source_code/cvs/index.html new file mode 100644 index 0000000000..385662f39f --- /dev/null +++ b/files/zh-tw/mozilla/developer_guide/source_code/cvs/index.html @@ -0,0 +1,182 @@ +--- +title: 使用CVS獲取Mozilla源代碼 +slug: Mozilla/Developer_guide/Source_Code/CVS +translation_of: Mozilla/Developer_guide/Source_Code/CVS +--- +<div class="note">Tips: This document descibes how to get source code for older versions of the code, Gecko 1.9.0, Firefox 3 or earlier, and older versions of NSS and NSPR. Development for Gecko 1.9.1/Firefox 3.5 and beyond, and recent versions of NSS and NSPR, uses the <a class="internal" href="/en-US/docs/Developer_Guide/Source_Code/Mercurial" title="En/Developer Guide/Source Code/Mercurial">Mercurial</a> source code control system.</div> + +<div class="warning"> +<p>到 七月 2015, 在Mozilla 上CVS 服務不會有長時間的操作.為訪問CVS 存檔, 請看 <a href="https://blog.mozilla.org/it/2015/07/28/vcs-decom-status/">the blog post</a> 宣告改變.</p> +</div> + +<p><span class="outputBox-2liU7_0">那些正在進行積極開發的人可以使用 CVS 查看最新的源代碼。如果您計劃提供補丁並修復錯誤,這是最好的方法,因為它可以讓您獲得最新的更新並將它們與您自己的更改合併。</span></p> + +<p><span class="outputBox-2liU7_0">如果要編譯產品以供發布,通常下載 Mozilla 源代碼 tarball</span></p> + +<h3 id="Getting_Started" name="Getting_Started">開始</h3> + +<p><span class="outputBox-2liU7_0">CVS 表示 “並發版本控制系統”。要了解有關 CVS 的更多信息,請訪問</span></p> + +<p><a href="https://mozilla-version-control-tools.readthedocs.io/en/latest/hgmozilla/unifiedrepo.html">支持文檔</a></p> + +<p>所有人可以檢查 (也被認爲是 "拉" 或是 "下載") 通過 CVS, 但只有一個確定的人擁有能力記錄 (創建改變, 也被認爲是 "提交"). 那些人是模塊所有人以及他們的代表. 閲讀我們的檔案在 <a class="external" href="https://www.mozilla.org/hacking/">hacking mozilla</a> 去找到怎樣獲得能力記錄. 你也許也想閲讀關於 <a href="https://developer.mozilla.org/en/Using_SSH_to_connect_to_CVS">通過SSH連接CVS</a>.</p> + +<h4 id="Requirements" name="Requirements">必選</h4> + +<p>檢查原始碼需要運行 <a class="external" href="http://www.nongnu.org/cvs/">CVS</a> 1.11 及其更新版本. CVS伺服器不適用于1.12.13 以及懸挂的替代結果, 雖然 1.12.9 知道如何工作. 而且, 你必須利用 <a class="external" href="https://www.gnu.org/software/make/">GNU make</a> 檢查以及構建 Mozilla. 沒有其他的 “make” 程式是可接受的. 在 Windows, mac 以及合格的 GNU 系統 (比如 GNU/Linux), 使用 "make" 運行 GNU make; 在許多的 非 GNU unixes (比如 Solaris, etc.), 使用 "gmake".</p> + +<h3 id="CVS_Client_Settings" name="CVS_Client_Settings">CVS 用戶端設置</h3> + +<p>"cvsroot" (倉庫驗証字符串) 用於匿名訪問 Mozilla CVS 是</p> + +<pre class="eval"><a class="link-mailto" href="mailto::pserver:anonymous@cvs-mirror.mozilla.org" rel="freelink">:pserver:anonymous@cvs-mirror.mozilla.org</a>:/cvsroot +</pre> + +<p>如果你使用圖形化 CVS 用戶界面, 使用後面的服務器數據:</p> + +<ul> + <li><strong>host</strong>: "cvs-mirror.mozilla.org"</li> + <li><strong>repository path</strong>: "/cvsroot"</li> + <li><strong>user</strong>: "anonymous"</li> + <li><strong>connection type</strong>: pserver</li> + <li><strong>port</strong>: default (2401)</li> +</ul> + +<h3 id="Selecting_a_Project_to_Pull" name="Selecting_a_Project_to_Pull">選擇一個項目 Pull</h3> + +<p>由於幾個不同的應用程式是從一個相同的基礎源代碼構建而成, 你必須選擇哪一個程式在命令行上使用 <code>MOZ_CO_PROJECT</code> 變量來檢查. 當他將要檢查實際源代碼時, 信息需要支持。 (見適當的<a href="#Checkout">checkout</a> <a href="#Checkout_2">section</a> 之下, 你應該根據分支進行檢查). 可能性選項包括以下内容:</p> + +<p> 检查以上所有项目的源代码,以及一些附加的实用程序代码</p> + +<dl> + <dt>browser </dt> + <dd>獨立的 ”Firefox" 瀏覽器</dd> + <dt>mail </dt> + <dd>獨立的 “Thunderbird” 郵件/新聞 客戶端</dd> + <dt>suite </dt> + <dd>傳統的 ”Mozilla“ SeaMonkey 瀏覽器套裝, 郵件/新聞, composer, 與其他應用程式.</dd> + <dt>minimo </dt> + <dd>獨立的小設備瀏覽器.</dd> + <dt>composer </dt> + <dd>獨立的 HTML composer.</dd> + <dt>calendar </dt> + <dd>獨立的 "Sunbird" 日曆 應用.</dd> + <dt>xulrunner </dt> + <dd>下一代 XUL 應用啓動器.</dd> + <dt>camino </dt> + <dd>“Camino” Macintosh 本地瀏覽器</dd> + <dt>all </dt> +</dl> + +<p>Multiple projects can be specified with commas: <code>MOZ_CO_PROJECT=suite,browser,xulrunner</code>.</p> + +<p><strong>Note</strong> that if you are using a custom <code><a href="/en/Configuring_Build_Options#Using_a_.mozconfig_Configuration_File" title="en/Configuring_Build_Options#Using_a_.mozconfig_Configuration_File">.mozconfig</a></code> file, you can also specify <code>MOZ_CO_PROJECT</code> there, instead of including it on the command line.</p> + +<h3 id="Checking_Out_a_New_Source_Tree" name="Checking_Out_a_New_Source_Tree">Checking Out a New Source Tree</h3> + +<h4 id="Check_Tinderbox" name="Check_Tinderbox">Check Tinderbox</h4> + +<p>Before pulling a tree, you should always check the appropriate <a href="/en/Tinderbox" title="en/Tinderbox">Tinderbox</a> to make sure that the codebase is not broken. If there are red tinderboxes, it is usually advisable to wait until they are green before pulling a tree.</p> + +<h4 id="Branch_HEAD" name="Branch_HEAD">Branch HEAD</h4> + +<p>To check out a new source tree from scratch, get the <code>client.mk</code> file which contains makefile instructions which are used to pull the rest of the tree:</p> + +<pre class="eval">$ cvs -d <a class="link-mailto" href="mailto::pserver:anonymous@cvs-mirror.mozilla.org" rel="freelink">:pserver:anonymous@cvs-mirror.mozilla.org</a>:/cvsroot co mozilla/client.mk +</pre> + +<p>Note: if you have already set up a <code><a href="/en/Configuring_Build_Options#Using_a_.mozconfig_Configuration_File" title="en/Configuring_Build_Options#Using_a_.mozconfig_Configuration_File">.mozconfig</a></code> file, you may also need to check out the following files:</p> + +<dl> + <dt>Firefox </dt> + <dd> + <pre>cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/browser/config/mozconfig</pre> + </dd> + <dt>Thunderbird </dt> + <dd> + <pre>cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/mail/config/mozconfig</pre> + </dd> +</dl> + +<p>{{ Note("The last version of Thunderbird on the HEAD was a post-3.0a2 nightly build. The last version of SeaMonkey on the HEAD was a 2.0a1pre nightly build. No further development of Thunderbird or SeaMonkey is taking place on the HEAD of CVS") }}</p> + +<h4 id="Specific_Branch" name="Specific_Branch">Specific Branch</h4> + +<p>If you want to check out the source code of a specific <a class="external" href="https://mozilla-version-control-tools.readthedocs.io/en/latest/hgmozilla/dag.html#creating-dag-branches">CVS branch</a>, use</p> + +<pre class="eval">$ cvs -d <a class="link-mailto" href="mailto::pserver:anonymous@cvs-mirror.mozilla.org" rel="freelink">:pserver:anonymous@cvs-mirror.mozilla.org</a>:/cvsroot co -r BRANCH mozilla/client.mk +</pre> + +<p>instead. To, for example, pull the Firefox 2.0/Thunderbird 2.0/SeaMonkey 1.1 development branch, replace BRANCH above with MOZILLA_1_8_BRANCH. For available branch tags in Mozilla, see <a href="/en/CVS_Tags" title="en/CVS_Tags">CVS Tags</a>.</p> + +<p>The information on pulling project specific <code>.mozconfig</code> files as listed in the <a href="#Branch_HEAD">previous section</a> apply to other branches than HEAD as well of course.</p> + +<h4 id="Checkout" name="Checkout">Checkout</h4> + +<p>After having chosen the correct branch, run:</p> + +<pre class="eval">$ cd mozilla +$ make -f client.mk checkout MOZ_CO_PROJECT=<em>option,option</em> +</pre> + +<p>As mentioned above, if you are using a custom <code>.mozconfig</code> file where you have already specified the <code>MOZ_CO_PROJECT</code> variable, you do not need to repeat it here on command line.</p> + +<div class="note">Always use <code>client.mk</code> to checkout the Mozilla sources: do not check out the <code>mozilla/</code> module directly. Various subprojects such as NSS, NSPR, and LDAP C SDK are pulled from stable release tags, even when regular mozilla development occurs on the trunk.</div> + +<h4 id="Specific_Time" name="Specific_Time">Specific Time</h4> + +<p>If you want to check out the source code as it was at a specific time you can use the MOZ_CO_DATE variable. For example <code>MOZ_CO_DATE="20 Oct 2006 17:00 PDT"</code>.</p> + +<p>This can either be added to your <code><a href="/en/Configuring_Build_Options#Using_a_.mozconfig_Configuration_File" title="en/Configuring_Build_Options#Using_a_.mozconfig_Configuration_File">.mozconfig</a></code> file, or specified on the command line, such as</p> + +<pre class="eval">$ cd mozilla +$ make -f client.mk checkout MOZ_CO_DATE="20 Oct 2006 17:00 PDT" MOZ_CO_PROJECT=<em>option,option</em> +</pre> + +<h3 id="Changing_the_Source_Tree_to_a_Different_Branch" name="Changing_the_Source_Tree_to_a_Different_Branch">Changing the Source Tree to a Different Branch</h3> + +<h4 id="Branch_HEAD_2" name="Branch_HEAD_2">Branch HEAD</h4> + +<p>In order to update a source tree (be it branch HEAD or a specific branch) to latest branch HEAD, first run:</p> + +<pre class="eval">$ cd mozilla +$ cvs up -A client.mk +</pre> + +<p>The -A option removes any "sticky branch" information, which leads to the effect that the tree is updated to HEAD.</p> + +<h4 id="Specific_Branch_2" name="Specific_Branch_2">Specific Branch</h4> + +<p>To update a source tree which was pulled from a specific branch, start with</p> + +<pre class="eval">$ cd mozilla +$ cvs up -r BRANCH client.mk +</pre> + +<p>instead. Replace BRANCH by the tag of the branch you want to update.</p> + +<h3 id="Updating_a_Source_Tree" name="Updating_a_Source_Tree">Updating a Source Tree</h3> + +<p>To update your source tree simply do the following:</p> + +<pre class="eval">$ make -f client.mk checkout MOZ_CO_PROJECT=<em>option,option</em> +</pre> + +<p>As always, if you use a custom <code>.mozconfig</code> file where <code>MOZ_CO_PROJECT</code> is already defined, you do not need to repeat it on command line.</p> + +<h3 id="Creating_a_Diff_File" name="Creating_a_Diff_File">Creating a Diff File</h3> + +<p>In order to create a diff of a single local file against the current file in the repository, use:</p> + +<pre class="eval">$ cvs diff -u8p FILENAME +</pre> + +<p>See <a href="/en/Creating_a_patch" title="en/Creating_a_patch">Creating a patch</a> for more information.</p> + +<h3 id="Converting_a_Downloaded_Source_Tree" name="Converting_a_Downloaded_Source_Tree">Converting a Downloaded Source Tree</h3> + +<p>Downloaded source trees from mozilla.org (<a href="/En/Developer_Guide/Source_Code/Downloading_Source_Archives" title="en/Mozilla_Source_Code_(HTTP//FTP)">source tarballs</a>) are already set up with CVS information, like a normal checkout. You can update these trees like normal trees to the latest code, without special action. See previous section on how to update a source tree.</p> + +<p><span class="comment">interwiki link</span></p> + +<p> </p> |