diff options
Diffstat (limited to 'files/zh-cn/mozilla/developer_guide/source_code/cvs/index.html')
| -rw-r--r-- | files/zh-cn/mozilla/developer_guide/source_code/cvs/index.html | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/files/zh-cn/mozilla/developer_guide/source_code/cvs/index.html b/files/zh-cn/mozilla/developer_guide/source_code/cvs/index.html new file mode 100644 index 0000000000..30cd759598 --- /dev/null +++ b/files/zh-cn/mozilla/developer_guide/source_code/cvs/index.html @@ -0,0 +1,192 @@ +--- +title: 通过CVS获取源码 +slug: Mozilla/Developer_guide/Source_Code/CVS +tags: + - Build documentation + - 所有分类 +translation_of: Mozilla/Developer_guide/Source_Code/CVS +--- +<div class="breadcrumbs"><a href="/cn" title="cn">首页</a>> <a href="/cn/%E7%BC%96%E8%AF%91%E6%89%8B%E5%86%8C" title="cn/编译手册">编译手册</a>> 通过CVS获取源码</div> + +<div class="breadcrumbs"> </div> + +<div class="breadcrumbs">注:本文档,描述如何获得源代码早起版本的代码,Gecko 1.9.0,Firefox 3或更早,和早起版本的NSS NSPR。<br> +开发者版本1.9.1/Firefox 3.5,使用 <a class="internal" href="/cn/通过Mercurial获取源码" title="En/Developer Guide/Source Code/Mercurial">Mercurial</a> source 代码控制系统的NSS NSPR最新版本。</div> + +<p> </p> + +<p>那些活跃的开发者可以使用CVS来查看最新的源代码。如果你计划提供补丁和修复bug这是你的首选,因为它可以让你得到最新的更新并且作为你自己的。</p> + +<p>如果你想编译发布一款产品,一般最好<a href="/cn/Download_Mozilla_Source_Code" title="源代码">下载Mozilla源代码</a>。</p> + +<h3 id="Getting_Started" name="Getting_Started">开始</h3> + +<div><span id="ouHighlight__0_2TO0_2">CVS</span><span id="noHighlight_0.006101604173799902"> 是</span><span id="ouHighlight__4_8TO5_5">指</span><span id="ouHighlight__10_20TO6_8">"并发</span><span id="ouHighlight__22_31TO9_12">版本控制</span><span id="ouHighlight__33_39TO13_14">系统</span><span id="ouHighlight__40_40TO15_16">"。</span><span id="ouHighlight__42_49TO17_18">要想了解</span><span class="highlight" id="ouHighlight__51_54TO19_20">更多</span><span id="ouHighlight__56_60TO21_22">关于</span><span id="noHighlight_0.3904859264576983"> </span><span id="ouHighlight__62_64TO24_26">CVS</span><span id="noHighlight_0.02617727506384604"> </span><span id="ouHighlight__66_67TO28_28">的</span><span id="ouHighlight__69_75TO29_30">通用性</span><span id="ouHighlight__76_76TO34_34">,</span><span id="ouHighlight__78_82TO35_36">欢迎访问</span><span id="noHighlight_0.7504795543601643"> </span><a class="external" href="http://ximbiot.com/cvs/manual/">ximbiot.com</a><span id="ouHighlight__95_95TO49_49">,</span><span id="ouHighlight__97_98TO50_50">或</span><span id="ouHighlight__100_103TO51_52">阅读</span><a class="external" href="/zh-CN/docs/Web/Tutorials">教程</a><span id="noHighlight_0.44247972506917965">。</span></div> + +<p> </p> + +<p>任何人都可以通过 CVS的源代码来Check out (也被称为"拉取"或"下载") ,但只有某些人可信任的人能Check in (进行更改,也被称为"提交")。这些人是<a href="http://www.mozilla.org/owners.html">模块所有者</a>和他们的代表。阅读我们 <a class="external" href="http://www.mozilla.org/hacking/">hacking mozilla</a> 的文档了解如何获得录入信任。同时你也不妨阅读有关<a class="external" href="http://www.mozilla.org/cvs-ssh-faq.html">使用 SSH 连接到 CVS</a>。</p> + +<div class="InnerControlsContainer" id="OutputControlsInnerContainer"> +<div class="zh-CHS" id="OutputArea" style="direction: ltr; text-align: left;"> +<div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> +<div><span id="ouHighlight__0_4TO0_1">尽管</span><a href="https://developer.mozilla.org/zh-CN/docs/Mozilla/Developer_guide/Source_Code/CVS#Full_CVS_Checkout">完整的 CVS Checkout</a><span id="ouHighlight__29_32TO12_12">也</span><span id="ouHighlight__26_27TO13_13">是</span>可行<span id="noHighlight_0.23447154538345538">的</span><span id="ouHighlight__44_45TO17_17">但并</span><span id="ouHighlight__50_52TO18_18">不推荐</span><span id="ouHighlight__65_65TO21_21">;</span><span id="noHighlight_0.898978494462116"> </span><span id="ouHighlight__95_101TO25_31">mozilla</span><span id="noHighlight_0.004147883966893695"> </span><span id="ouHighlight__103_105TO33_35">cvs</span><span id="noHighlight_0.5887991782855997"> </span><span id="ouHighlight__107_112TO37_39">服务器</span><span id="noHighlight_0.3493855925398275">上</span><span id="ouHighlight__75_79TO42_44">不应有</span><span id="ouHighlight__81_86TO46_47">压力</span><span id="ouHighlight__115_117TO48_48">,</span><span id="ouHighlight__119_124TO51_52">应完全</span><span id="ouHighlight__136_142TO53_54">避免</span><span id="noHighlight_0.49436219439103335">,</span><span id="ouHighlight__144_149TO56_57">除非</span><span id="ouHighlight__151_153TO58_58">你</span><span id="ouHighlight__155_158TO59_60">知道</span><span id="ouHighlight__165_167TO61_61">你</span><span id="ouHighlight__169_171TO62_63">正在</span><span id="ouHighlight__173_177TO64_64">做什么</span><span id="noHighlight_0.9103636369103666">的</span><span id="ouHighlight__180_182TO66_66">和你真正</span><span id="ouHighlight__184_187TO67_68">需要</span><span id="ouHighlight__189_191TO69_69">它</span><span id="noHighlight_0.9572012512895453">。</span></div> +</div> +</div> +</div> + +<h4 id="Requirements" name="Requirements"> </h4> + +<h4 id="Requirements" name="Requirements"><span class="highlight" id="ouHighlight__0_11TO0_1">要求</span></h4> + +<p>要Check out源代码,您需要运行 <a class="external" href="http://www.nongnu.org/cvs/">CVS</a> 1.11 或更高版本。1.12.13版本无法和CVS 服务器一起使用,反而导致挂起,虽然 1.12.9 已知工作正常。此外,您必须使用 <a class="external" href="http://www.gnu.org/software/make/">GNU make</a> 来Check out和建立 Mozilla。没有其他"make"是程序可以接受的。在 windows、 mac 和周期性的 GNU 系统 (如 GNU/Linux),使用"make"来运行 GNU make;对大多数非 GNU unix (像例如 Solaris, etc.),使用"gmake"。</p> + +<h3 id="CVS_Client_Settings" name="CVS_Client_Settings">CVS <span id="ouHighlight__4_9TO4_6">客户端</span><span id="ouHighlight__11_18TO7_8">设置</span></h3> + +<p><span id="ouHighlight__4_12TO0_8">"Cvsroot"</span><span id="ouHighlight__14_24TO9_9">(存储库</span><span id="ouHighlight__26_39TO13_14">标识</span><span id="ouHighlight__41_47TO15_18">字符串)</span><span id="noHighlight_0.42411573837951677"> </span><span id="ouHighlight__49_56TO20_21">用于</span><span id="ouHighlight__58_66TO22_23">匿名</span><span id="ouHighlight__68_73TO24_25">访问</span><span id="noHighlight_0.08293482149776588"> </span><span id="ouHighlight__78_84TO27_33">Mozilla</span><span id="noHighlight_0.5289142812629902"> </span><span class="highlight" id="ouHighlight__86_88TO35_37">CVS</span></p> + +<pre class="eval">:pserver:<a class="link-mailto" href="mailto:anonymous@cvs-mirror.mozilla.org" rel="freelink">anonymous@cvs-mirror.mozilla.org</a>:/cvsroot +</pre> + +<div class="zh-CHS" id="OutputArea" style="direction: ltr; text-align: left;"> +<div class="Wrap" id="OutputText" style="direction: ltr; text-align: left;"> +<div><span id="ouHighlight__3_7TO1_2">开始</span><span id="ouHighlight__9_13TO3_4">使用</span><span id="noHighlight_0.4494873625160599"> </span><span id="ouHighlight__15_17TO7_9">CVS</span><span id="noHighlight_0.8497840591303994"> 前</span><span id="ouHighlight__19_21TO11_11">你</span><span id="ouHighlight__28_32TO14_15">首先要</span><span id="ouHighlight__34_36TO16_17">登录</span><span id="noHighlight_0.6510822178000212">。</span><span id="ouHighlight__42_44TO19_20">运行</span><span id="ouHighlight__50_58TO21_22">以下</span><span id="ouHighlight__60_66TO23_24">命令</span><span id="noHighlight_0.07365615678397897">:</span></div> +</div> +</div> + +<pre class="eval">$ cvs -d :pserver:<a class="link-mailto" href="mailto:anonymous@cvs-mirror.mozilla.org" rel="freelink">anonymous@cvs-mirror.mozilla.org</a>:/cvsroot login +# type the password <em>anonymous</em> +</pre> + +<p><span id="ouHighlight__0_1TO0_1">如果</span><span id="ouHighlight__3_5TO2_2">您</span><span id="ouHighlight__11_15TO3_4">使用</span><span id="noHighlight_0.44859764876350694">的</span><span id="ouHighlight__17_18TO6_6">是</span><span id="noHighlight_0.10028503295802516"> </span><span id="ouHighlight__20_22TO8_10">IDE</span><span id="ouHighlight__23_23TO11_11">,</span><span id="ouHighlight__25_27TO12_13">使用</span><span class="highlight" id="ouHighlight__33_41TO14_15">以下</span><span id="ouHighlight__43_48TO16_18">服务器</span><span id="ouHighlight__50_53TO19_20">数据</span><span id="noHighlight_0.23928851291086273">:</span></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>password</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">选择一个项目进行拉取</h3> + +<p>由于多种不同的应用都基于相同的源代码,您必须通过 <code>MOZ_CO_PROJECT 变量</code>选择对何种应用进行 checkout。当 checkout 真正的源代码时,这一信息(<code>MOZ_CO_PROJECT</code>)是必需的(详见下面对应于您想要checkout的分支的 <a href="#Checkout">checkout</a> 部分)。允许的(<code>MOZ_CO_PROJECT</code>)选项有:</p> + +<dl> + <dt>browser </dt> + <dd>独立的 "Firefox" 浏览器。</dd> + <dt>mail </dt> + <dd>独立的 "Thunderbird" 邮件/新闻客户端。</dd> + <dt>suite </dt> + <dd>传统的 "Mozilla" SeaMonkey 套件,包括 browser, mail/news, composer 和其他应用。</dd> + <dt>minimo </dt> + <dd>独立的针对小型设备的浏览器。</dd> + <dt>composer </dt> + <dd>独立的 HTML 编辑器。</dd> + <dt>calendar </dt> + <dd>独立的 "Sunbird" 日历应用。</dd> + <dt>xulrunner </dt> + <dd>下一代的XUL应用启动器。</dd> + <dt>macbrowser </dt> + <dd>针对 Macintosh 的 "Camino" 本地浏览器。</dd> + <dt>all </dt> + <dd>Check out 以上所有的项目,以及一些附加组件的代码。</dd> +</dl> + +<p>选择多项项目可以用逗号分隔:<code>MOZ_CO_PROJECT=suite,browser,xulrunner</code>.</p> + +<p><strong>注意</strong>如果您正在使用一个用户自定义的 <code><a href="/cn/%E9%85%8D%E7%BD%AE%E7%BC%96%E8%AF%91%E9%80%89%E9%A1%B9#Using_a_.mozconfig_Configuration_File" title="cn/配置编译选项#Using_a_.mozconfig_Configuration_File">.mozconfig</a> </code>文件,您也可以在这一文件中注明 <code>MOZ_CO_PROJECT 设置,而无需在命令行中添加 MOZ_CO_PROJECT。</code></p> + +<h3 id="Checking_Out_a_New_Source_Tree" name="Checking_Out_a_New_Source_Tree">Checking Out 一个新的源代码树</h3> + +<h4 id="Check_Tinderbox" name="Check_Tinderbox">检查 Tinderbox</h4> + +<p>在拉取一个代码树之前,您应该检查相应的Tinderbox来确保代码库的完整性。如果存在红色的tinderboxes,我们总是建议您在等到它们变为绿色后,再进行拉取。</p> + +<h4 id="Branch_HEAD" name="Branch_HEAD">HEAD 分支</h4> + +<p>为了从头开始 check out 一个新的源代码树,需要首先拿到 <code>client.mk 文件。这个文件含有</code>使用 makefile 对剩余的源代码树进行拉取的说明<font face="Consolas, Liberation Mono, Courier, monospace">:</font></p> + +<pre><code>$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk</code></pre> + +<p>注意:如果您已经设置了一个 <code><a href="https://developer.mozilla.org/cn/%E9%85%8D%E7%BD%AE%E7%BC%96%E8%AF%91%E9%80%89%E9%A1%B9#Using_a_.mozconfig_Configuration_File" title="cn/配置编译选项#Using_a_.mozconfig_Configuration_File">.mozconfig</a></code> 文件,您仍将需要 check out 以下文件:</p> + +<dl> + <dt>Firefox </dt> + <dd> + <pre><code>cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/browser/config/mozconfig</code></pre> + </dd> + <dt>Thunderbird </dt> + <dd> + <pre><code>cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/mail/config/mozconfig</code></pre> + </dd> +</dl> + +<h4 id="Specific_Branch" name="Specific_Branch">特定分支</h4> + +<p>如果您想要 check out 一个特定 <a href="http://ximbiot.com/cvs/wiki/index.php?title=CVS--Concurrent_Versions_System_v1.12.12.1:_Branching_and_merging">CVS </a>分支的源代码,使用</p> + +<pre><code>$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -r BRANCH mozilla/client.mk</code></pre> + +<p>例如,在拉取 Firefox 1.5 development 分支时,需要用 MOZILLA_1_8_BRANCH 替换上面的 BRANCH。在 <a href="https://developer.mozilla.org/cn/CVS_Tags" title="cn/CVS_Tags">CVS Tags</a> 中可以查看 Mozilla 中可用的分支标签。</p> + +<p>当然前面提供的拉取特定项目的 <code>.mozconfig</code> 文件的方法对除 HEAD 外的分支同样适用。</p> + +<h4 id="Checkout" name="Checkout">Checkout</h4> + +<p>在选定正确的分支后,运行:</p> + +<pre><code>$ cd mozilla +$ make -f client.mk checkout MOZ_CO_PROJECT=option,option</code></pre> + +<p>上面已经提到,如果您正在适用已经注明了 <code>MOZ_CO_PROJECT</code> 变量的 <code>.mozconfig 文件,无需在命令行中重复注明。</code></p> + +<h4 id="Specific_Time" name="Specific_Time">特定时刻</h4> + +<p>如果您想要 check out 源代码在某一特定时刻的状态,您可以使用 MOZ_CO_DATE 变量。例如 <code>MOZ_CO_DATE="20 Oct 2006 17:00 PDT"。</code></p> + +<p>这一说明可以加入 <code><a href="https://developer.mozilla.org/en/Configuring_Build_Options#Using_a_.mozconfig_Configuration_File" title="en/Configuring_Build_Options#Using_a_.mozconfig_Configuration_File">.mozconfig</a></code> 文件中,或者可以在命令行注明,例如</p> + +<pre><code>$ cd mozilla +$ make -f client.mk checkout MOZ_CO_DATE="20 Oct 2006 17:00 PDT" MOZ_CO_PROJECT=option,option</code></pre> + +<h3 id="Updating_a_Source_Tree" name="Updating_a_Source_Tree">将源代码树变更至另一个分支</h3> + +<h4 id="Branch_HEAD_2" name="Branch_HEAD_2">HEAD 分支</h4> + +<p>更新一个源代码树(无论是 HEAD 分支还是一个特定的分支)至最新的 HEAD 分支,运行:</p> + +<pre><code>$ cd mozilla +$ cvs up -A client.mk</code></pre> + +<p>-A 选择项会删除任何“黏性分支” ("sticky branch")信息,从而达到更新至 HEAD 分支的效果。</p> + +<h4 id="Specific_Branch_2" name="Specific_Branch_2">特定分支</h4> + +<p>更新一个从某一特定分支拉取来的源代码树,首先使用</p> + +<pre><code>$ cd mozilla +$ cvs up -r BRANCH client.mk</code></pre> + +<p>将 BRANCH 替换为您想要更新的分支的标签。</p> + +<h3 id="Updating_a_Source_Tree" name="Updating_a_Source_Tree">更新一个源代码树</h3> + +<p>只需使用以下方法即可更新您的代码树:</p> + +<pre><code>$ make -f client.mk checkout MOZ_CO_PROJECT=option,option</code></pre> + +<p>同样地,如果您使用了 <code>MOZ_CO_PROJECT</code> 已被定义的用户自定义 <code>.mozconfig</code> 文件,无需在命令行中重复注明。</p> + +<h3 id="Creating_a_Diff_File" name="Creating_a_Diff_File">创建一个 Diff 文件</h3> + +<p>为一个与当前知识库(repository)中相应文件不同的单一本地文件创建 diff,使用:</p> + +<pre><code>$ cvs diff -u8p FILENAME</code></pre> + +<p>更多信息可以查看 <a href="https://developer.mozilla.org/cn/Creating_a_patch" title="cn/Creating_a_patch">Creating a patch</a>。</p> + +<h3 id="Converting_a_Downloaded_Source_Tree" name="Converting_a_Downloaded_Source_Tree">转换一个已下载的源代码树</h3> + +<p>与普通的 checkout 相同,从 mozilla.org (<a href="https://developer.mozilla.org/cn/Download_Mozilla_Source_Code" title="cn/Download_Mozilla_Source_Code">source tarballs</a>) 下载的源代码树已经被设置了 CVS 信息。您可以像普通的源代码树一样更新这些树至最新代码,无需多余操作。有关如何更新源代码树的内容请查看前述章节。</p> |
