<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.caminobrowser.org/index.php?action=history&amp;feed=atom&amp;title=Development%3ACommitting</id>
	<title>Development:Committing - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.caminobrowser.org/index.php?action=history&amp;feed=atom&amp;title=Development%3ACommitting"/>
	<link rel="alternate" type="text/html" href="http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;action=history"/>
	<updated>2026-05-08T18:29:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.4</generator>
	<entry>
		<id>http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11813&amp;oldid=prev</id>
		<title>Sardisson: /* Figuring out what patches (commits) you are pushing to the remote repository */ add the caveat here</title>
		<link rel="alternate" type="text/html" href="http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11813&amp;oldid=prev"/>
		<updated>2011-07-11T04:56:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Figuring out what patches (commits) you are pushing to the remote repository: &lt;/span&gt; add the caveat here&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 04:56, 11 July 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l57&quot; &gt;Line 57:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 57:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Be sure to paste the changeset URLs in the bug when resolving it (the [http://hg.mozilla.org/users/alqahira_ardisson.org/misc/file/tip/echoURL echoURL] hook can help with that)!&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Be sure to paste the changeset URLs in the bug when resolving it (the [http://hg.mozilla.org/users/alqahira_ardisson.org/misc/file/tip/echoURL echoURL] hook can help with that&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, at least for the first changeset of a push&lt;/ins&gt;)!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CVS===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CVS===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sardisson</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11356&amp;oldid=prev</id>
		<title>Sardisson: /* Add a hook to ensure complete checkin messages */ no after-the-fact correction</title>
		<link rel="alternate" type="text/html" href="http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11356&amp;oldid=prev"/>
		<updated>2010-08-16T19:47:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Add a hook to ensure complete checkin messages: &lt;/span&gt; no after-the-fact correction&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 19:47, 16 August 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot; &gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Add a hook to ensure complete checkin messages====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Add a hook to ensure complete checkin messages====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For some reason Camino committers appear far more likely to drop a required part of the commit message with Hg commits than we did with CVS.  An easy way to prevent bad commit messages is to use a “hook” that checks your commit message for required data and aborts the commit with a helpful error when the data is missing.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For some reason Camino committers appear far more likely to drop a required part of the commit message with Hg commits than we did with CVS.  An easy way to prevent bad commit messages is to use a “hook” that checks your commit message for required data and aborts the commit with a helpful error when the data is missing &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(particularly since Hg commit messages cannot be corrected after the fact, unlike with CVS)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Smokey has written a hook that ensures commit messages contain the bug number and at least one reviewer or superreviewer: [http://hg.mozilla.org/users/alqahira_ardisson.org/misc/file/tip/bugnum bugnum].  By default the &amp;lt;code&amp;gt;bugnum&amp;lt;/code&amp;gt; hook only enforces these commit message rules for &amp;lt;code&amp;gt;mozilla-*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;camino&amp;lt;/code&amp;gt;, so you can use the script as a global hook and still commit to other Hg repositories that don’t require bug numbers or reviews, or you can customize the hook to add additional repositories to the &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt; pattern in order to enforce the rules on additional repositories.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Smokey has written a hook that ensures commit messages contain the bug number and at least one reviewer or superreviewer: [http://hg.mozilla.org/users/alqahira_ardisson.org/misc/file/tip/bugnum bugnum].  By default the &amp;lt;code&amp;gt;bugnum&amp;lt;/code&amp;gt; hook only enforces these commit message rules for &amp;lt;code&amp;gt;mozilla-*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;camino&amp;lt;/code&amp;gt;, so you can use the script as a global hook and still commit to other Hg repositories that don’t require bug numbers or reviews, or you can customize the hook to add additional repositories to the &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt; pattern in order to enforce the rules on additional repositories.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sardisson</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11218&amp;oldid=prev</id>
		<title>Sardisson: /* Figuring out what patches (commits) you are pushing to the remote repository */ and yet, it is echoURL</title>
		<link rel="alternate" type="text/html" href="http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11218&amp;oldid=prev"/>
		<updated>2010-06-05T04:34:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Figuring out what patches (commits) you are pushing to the remote repository: &lt;/span&gt; and yet, it is echoURL&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 04:34, 5 June 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l57&quot; &gt;Line 57:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 57:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Be sure to paste the changeset URLs in the bug when resolving it (the [http://hg.mozilla.org/users/alqahira_ardisson.org/misc/file/tip/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;bugnum &lt;/del&gt;echoURL] hook can help with that)!&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Be sure to paste the changeset URLs in the bug when resolving it (the [http://hg.mozilla.org/users/alqahira_ardisson.org/misc/file/tip/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;echoURL &lt;/ins&gt;echoURL] hook can help with that)!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CVS===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CVS===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sardisson</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11217&amp;oldid=prev</id>
		<title>Sardisson: /* Mercurial */ add echoURL</title>
		<link rel="alternate" type="text/html" href="http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11217&amp;oldid=prev"/>
		<updated>2010-06-05T04:33:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Mercurial: &lt;/span&gt; add echoURL&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 04:33, 5 June 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l57&quot; &gt;Line 57:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 57:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Be sure to paste the changeset URLs in the bug when resolving it!&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Be sure to paste the changeset URLs in the bug when resolving it &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(the [http://hg.mozilla.org/users/alqahira_ardisson.org/misc/file/tip/bugnum echoURL] hook can help with that)&lt;/ins&gt;!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CVS===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CVS===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sardisson</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11175&amp;oldid=prev</id>
		<title>Sardisson: edit this to be more stand-alone for committers and add some additional info</title>
		<link rel="alternate" type="text/html" href="http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11175&amp;oldid=prev"/>
		<updated>2010-05-27T01:38:32Z</updated>

		<summary type="html">&lt;p&gt;edit this to be more stand-alone for committers and add some additional info&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 01:38, 27 May 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;== Checking In ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After a patch has &amp;#039;&amp;#039;&amp;#039;review+&amp;#039;&amp;#039;&amp;#039; from two reviewers and &amp;#039;&amp;#039;&amp;#039;superreview+&amp;#039;&amp;#039;&amp;#039; from one of the Camino leads, it needs to be &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;committed to one or more of Camino’s code repositories&lt;/ins&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After a patch has &amp;#039;&amp;#039;&amp;#039;review+&amp;#039;&amp;#039;&amp;#039; from two reviewers and &amp;#039;&amp;#039;&amp;#039;superreview+&amp;#039;&amp;#039;&amp;#039; from one of the Camino leads, it needs to be &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;checked in&lt;/del&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Check-ins for Camino can be made by any of the super-reviewers listed &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;above &lt;/del&gt;as well as ardissone, froodian, hwaara and kreeger (note that froodian, hwaara, kreeger, and smfr are not currently checking in Camino patches, nor, with some exceptions, will pinkerton or mento check in patches they have not written).   &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Check-ins for Camino can be made by any of the super-reviewers listed &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Development:Reviewing#.E2.80.9CSuper.E2.80.9D_Reviews|here]], &lt;/ins&gt;as well as ardissone, froodian, hwaara and kreeger (note that froodian, hwaara, kreeger, and smfr are not currently checking in Camino patches, nor, with some exceptions, will pinkerton or mento check in patches they have not written).   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;If no one is around to check in your patch after it has received the requisite approvals, add &amp;lt;tt&amp;gt;checkin-needed&amp;lt;/tt&amp;gt; to the bug&amp;#039;s Keyword field and one of the committers should notice and land your patch within a day or so.  If they do not, make a comment in the bug or on [irc://irc.mozilla.org#camino IRC].&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;==Checking In==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Also note &lt;/del&gt;that the &amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;tt&lt;/del&gt;&amp;gt;mozilla/camino&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;tt&lt;/del&gt;&amp;gt; directory hierarchy &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is &lt;/del&gt;open for approved Camino check-ins regardless of the state of various trees and branches, with a few exceptions, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;such as tagging of major branches&lt;/del&gt;, red Camino tinderboxen&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;missing Camino perf or nightly tinderboxen&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;etc.   &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Once code written by contributors who do not have commit access has received requisite reviews (and perhaps approvals, too), it falls to Camino committers to check the new code into the repository.  Sometimes one of the committers is following the bug and will land the patch as soon as the committer can watch the tree.  Other times the patch author may need to add &amp;lt;tt&amp;gt;checkin-needed&amp;lt;/tt&amp;gt; to the bug&amp;#039;s Keyword field in order to notify the committers &lt;/ins&gt;that the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;patch is ready to land.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Typically Camino committers try to land all patches within a day or so.  However, sometimes the committer will want to wait for a quiet tree to land a large change, or a committer may need to wait a few days until he can set aside enough time to watch the tree.  As with other things in Camino development, politely poke the relevant person if something is blocking your work (e.g., if a particular patch is adding a new feature you need to build upon, or if landing blocks spinning a release).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;If you commit a patch and it turns a tinderbox red or orange, you are responsible for figuring out and fixing the problem, even if the patch is not yours.  If the patch author is around, he or she should help you out.  Use the tinderbox logs to your advantage.  If you cannot figure out how to fix the bustage (and neither can the patch author, or he or she is not available), back out the patch and reopen the bug.  When reopening the bug, make a helpful comment about what you observed and anything you may have discovered (including links to tinderbox logs).  You are still on the hook until the tree goes green, so do not back out and leave (just as you would not check in and leave).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;==Tree Status==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Note that &lt;/ins&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;code&amp;gt;hg.mozilla.org/camino&amp;lt;/code&amp;gt; and the &amp;lt;code&lt;/ins&gt;&amp;gt;mozilla/camino&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/ins&gt;&amp;gt; directory hierarchy &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;in CVS are &lt;/ins&gt;open for approved Camino check-ins regardless of the state of various &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Mozilla &lt;/ins&gt;trees and branches, with a few exceptions&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: IT work on the Mozilla network&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;repositories&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;or other systems related to building; &lt;/ins&gt;red Camino tinderboxen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;; &lt;/ins&gt;missing Camino perf or nightly tinderboxen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;; tagging of major branches; &lt;/ins&gt;etc.   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;N.B&amp;#039;&amp;#039;&amp;#039; When the Camino tree is closed while the Mozilla tree is closed, there is typically a note on the [http://tinderbox.mozilla.org/showbuilds.cgi?tree=Camino Camino tinderbox] explaining the closure, and the closure is often mentioned in the “topic” in the [irc://irc.mozilla.org#camino #camino] channel on IRC.  &amp;#039;&amp;#039;&amp;#039;However&amp;#039;&amp;#039;&amp;#039;, when the opposite is true—Mozilla is closed and Camino is open—there is typically no indication of the fact.  If you are unsure of the state of the Camino tree, ask on in the [irc://irc.mozilla.org#camino #camino] channel on IRC.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;N.B&amp;#039;&amp;#039;&amp;#039; When the Camino tree is closed while the Mozilla tree is closed, there is typically a note on the [http://tinderbox.mozilla.org/showbuilds.cgi?tree=Camino Camino tinderbox] explaining the closure, and the closure is often mentioned in the “topic” in the [irc://irc.mozilla.org#camino #camino] channel on IRC.  &amp;#039;&amp;#039;&amp;#039;However&amp;#039;&amp;#039;&amp;#039;, when the opposite is true—Mozilla is closed and Camino is open—there is typically no indication of the fact.  If you are unsure of the state of the Camino tree, ask on in the [irc://irc.mozilla.org#camino #camino] channel on IRC.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==Checkin tips for new (and old) committers&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Checkin tips for new (and old) committers==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;===Mercurial&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Mercurial===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Remember that Hg is a distributed VCS, so that most operations are local.  In particular, where “committing” to the official repository was a single operation with CVS (&amp;lt;code&amp;gt;cvs commit&amp;lt;/code&amp;gt;), it is a pair of operations with Hg (the local-only &amp;lt;code&amp;gt;hg commit&amp;lt;/code&amp;gt; and the local-to-remote &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Remember that Hg is a distributed VCS, so that most operations are local.  In particular, where “committing” to the official repository was a single operation with CVS (&amp;lt;code&amp;gt;cvs commit&amp;lt;/code&amp;gt;), it is a pair of operations with Hg (the local-only &amp;lt;code&amp;gt;hg commit&amp;lt;/code&amp;gt; and the local-to-remote &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Configuration changes to allow you to check code into the official repository&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Configuration changes to allow you to check code into the official repository====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order to be able to push changes to a remote hg repository, you will need to make a pair of configuration changes:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order to be able to push changes to a remote hg repository, you will need to make a pair of configuration changes:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot; &gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;default-push = ssh://hg.mozilla.org/camino/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;default-push = ssh://hg.mozilla.org/camino/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Add a hook to ensure complete checkin messages&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Add a hook to ensure complete checkin messages====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For some reason Camino committers appear far more likely to drop a required part of the commit message with Hg commits than we did with CVS.  An easy way to prevent bad commit messages is to use a “hook” that checks your commit message for required data and aborts the commit with a helpful error when the data is missing.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For some reason Camino committers appear far more likely to drop a required part of the commit message with Hg commits than we did with CVS.  An easy way to prevent bad commit messages is to use a “hook” that checks your commit message for required data and aborts the commit with a helpful error when the data is missing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot; &gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 44:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For more about Hg hooks, see [http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html Chapter 10. Handling repository events with hooks] in the Hg book.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For more about Hg hooks, see [http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html Chapter 10. Handling repository events with hooks] in the Hg book.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Checking in patches from others&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Checking in patches from others====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Mercurial has a way of recording the actual patch author even when someone else is committing and pushing the patch.  When you’re committing a patch written by someone else, use the following commit command syntax:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;hg commit -u &amp;quot;Patch Author &amp;lt;camino.dev@example.org&amp;gt;&amp;quot; -m &amp;quot;Complete commit message&amp;quot; file1 file2&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Mercurial has a way of recording the actual patch author even when someone else is committing and pushing the patch.  When you’re committing a patch written by someone else, use the following commit command syntax:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;hg commit -u &amp;quot;Patch Author &amp;lt;camino.dev@example.org&amp;gt;&amp;quot; -m &amp;quot;Complete commit message&amp;quot; file1 file2&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot; &gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 53:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Then commit all of Patch Author’s patches using &amp;lt;code&amp;gt;$ hg patchGuy -m &amp;quot;Complete commit message&amp;quot; file1 file2&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Then commit all of Patch Author’s patches using &amp;lt;code&amp;gt;$ hg patchGuy -m &amp;quot;Complete commit message&amp;quot; file1 file2&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Figuring out what patches (commits) you are pushing to the remote repository====&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Figuring out what patches (commits) you are pushing to the remote repository====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.  &lt;/del&gt;Be sure to paste the changeset URLs in the bug when resolving it!&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Be sure to paste the changeset URLs in the bug when resolving it!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;===CVS&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===CVS===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Checking in nibs&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Checking in nibs====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sometimes a person who doesn&amp;#039;t have CVS access will post a new or updated nib on a bug that needs to be checked in. The problem with this is that since a nib is technically a directory, there is a CVS folder inside the nib. If you attempt to check in a nib that has been changed by someone who has the &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt; set as &amp;quot;&amp;lt;tt&amp;gt;:pserver:anonymous@cvs-mirror.mozilla.org:/cvsrooot&amp;lt;/tt&amp;gt;&amp;quot; (&amp;#039;&amp;#039;e.g.&amp;#039;&amp;#039;, everyone without cvs write access), you will receive an authorization error from cvs. The problem is that the &amp;lt;tt&amp;gt;CVS/Root&amp;lt;/tt&amp;gt; file is set as the anonymous &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt;, not your &amp;quot;&amp;lt;tt&amp;gt;user%email.com@cvs.mozilla.org:/cvsroot&amp;lt;/tt&amp;gt;&amp;quot; &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt;.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sometimes a person who doesn&amp;#039;t have CVS access will post a new or updated nib on a bug that needs to be checked in. The problem with this is that since a nib is technically a directory, there is a CVS folder inside the nib. If you attempt to check in a nib that has been changed by someone who has the &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt; set as &amp;quot;&amp;lt;tt&amp;gt;:pserver:anonymous@cvs-mirror.mozilla.org:/cvsrooot&amp;lt;/tt&amp;gt;&amp;quot; (&amp;#039;&amp;#039;e.g.&amp;#039;&amp;#039;, everyone without cvs write access), you will receive an authorization error from cvs. The problem is that the &amp;lt;tt&amp;gt;CVS/Root&amp;lt;/tt&amp;gt; file is set as the anonymous &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt;, not your &amp;quot;&amp;lt;tt&amp;gt;user%email.com@cvs.mozilla.org:/cvsroot&amp;lt;/tt&amp;gt;&amp;quot; &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l60&quot; &gt;Line 60:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 68:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Alternatively, instead of dropping that person’s nib in place, use &amp;lt;code&amp;gt; cp /path/to/other/nib/*.nib /path/to/your/tree/nib; touch /path/to/your/nib&amp;lt;/code&amp;gt; to copy their nib files into your tree.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Alternatively, instead of dropping that person’s nib in place, use &amp;lt;code&amp;gt; cp /path/to/other/nib/*.nib /path/to/your/tree/nib; touch /path/to/your/nib&amp;lt;/code&amp;gt; to copy their nib files into your tree.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Trunk/branch mismatches&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Trunk/branch mismatches====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sometimes (due mostly to Gecko changes on the trunk) the trunk and branch versions of a patch will diverge and you can&amp;#039;t use cross-commit to land both places.  &amp;#039;&amp;#039;&amp;#039;If you&amp;#039;re confident the branch patch has been well-tested&amp;#039;&amp;#039;&amp;#039; and don&amp;#039;t have a branch tree, you can pull just the files you need to commit (rather than pull an entire tree).&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sometimes (due mostly to Gecko changes on the trunk) the trunk and branch versions of a patch will diverge and you can&amp;#039;t use cross-commit to land both places.  &amp;#039;&amp;#039;&amp;#039;If you&amp;#039;re confident the branch patch has been well-tested&amp;#039;&amp;#039;&amp;#039; and don&amp;#039;t have a branch tree, you can pull just the files you need to commit (rather than pull an entire tree).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l68&quot; &gt;Line 68:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 76:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Apply the patch and commit the files &amp;quot;as normal&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Apply the patch and commit the files &amp;quot;as normal&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Backing out a patch&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Backing out a patch====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sometimes you accidentally commit something that shouldn&amp;#039;t have landed yet, or sometimes (hopefully rarely) you commit something that breaks the tree and needs to be backed out.  To back out a patch, follow these steps:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sometimes you accidentally commit something that shouldn&amp;#039;t have landed yet, or sometimes (hopefully rarely) you commit something that breaks the tree and needs to be backed out.  To back out a patch, follow these steps:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot; &gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 86:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;lt;code&amp;gt;cvs commit&amp;lt;/code&amp;gt; &amp;quot;as normal&amp;quot;; this will commit a new copy of the file(s) with the incorrect change backed out&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;lt;code&amp;gt;cvs commit&amp;lt;/code&amp;gt; &amp;quot;as normal&amp;quot;; this will commit a new copy of the file(s) with the incorrect change backed out&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Adding new files&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Adding new files====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;cvs add&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;cvs add&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;cvs add -kb&amp;lt;/code&amp;gt; for any binary files, including images, UTF-16-encoded files (e.g., &amp;lt;code&amp;gt;.strings&amp;lt;/code&amp;gt; files from external projects), and &amp;lt;code&amp;gt;keyedobjects.nib&amp;lt;/code&amp;gt; files inside .nibs.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;cvs add -kb&amp;lt;/code&amp;gt; for any binary files, including images, UTF-16-encoded files (e.g., &amp;lt;code&amp;gt;.strings&amp;lt;/code&amp;gt; files from external projects), and &amp;lt;code&amp;gt;keyedobjects.nib&amp;lt;/code&amp;gt; files inside .nibs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====Adding new nibs&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;====&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Adding new nibs====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;cvs add&amp;lt;/code&amp;gt; the wrapper directory&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;cvs add&amp;lt;/code&amp;gt; the wrapper directory&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;cvs add -kb&amp;lt;/code&amp;gt; on &amp;#039;&amp;#039;&amp;#039;keyedobjects.nib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;cvs add -kb&amp;lt;/code&amp;gt; on &amp;#039;&amp;#039;&amp;#039;keyedobjects.nib&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sardisson</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11173&amp;oldid=prev</id>
		<title>Sardisson: Commit existing &quot;Checking In&quot; section of Development:Coding wholesale; editing to come</title>
		<link rel="alternate" type="text/html" href="http://wiki.caminobrowser.org/index.php?title=Development:Committing&amp;diff=11173&amp;oldid=prev"/>
		<updated>2010-05-27T01:07:00Z</updated>

		<summary type="html">&lt;p&gt;Commit existing &amp;quot;Checking In&amp;quot; section of &lt;a href=&quot;/Development:Coding&quot; title=&quot;Development:Coding&quot;&gt;Development:Coding&lt;/a&gt; wholesale; editing to come&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Checking In ==&lt;br /&gt;
After a patch has &amp;#039;&amp;#039;&amp;#039;review+&amp;#039;&amp;#039;&amp;#039; from two reviewers and &amp;#039;&amp;#039;&amp;#039;superreview+&amp;#039;&amp;#039;&amp;#039; from one of the Camino leads, it needs to be checked in. &lt;br /&gt;
&lt;br /&gt;
Check-ins for Camino can be made by any of the super-reviewers listed above as well as ardissone, froodian, hwaara and kreeger (note that froodian, hwaara, kreeger, and smfr are not currently checking in Camino patches, nor, with some exceptions, will pinkerton or mento check in patches they have not written).  &lt;br /&gt;
&lt;br /&gt;
If no one is around to check in your patch after it has received the requisite approvals, add &amp;lt;tt&amp;gt;checkin-needed&amp;lt;/tt&amp;gt; to the bug&amp;#039;s Keyword field and one of the committers should notice and land your patch within a day or so.  If they do not, make a comment in the bug or on [irc://irc.mozilla.org#camino IRC].&lt;br /&gt;
&lt;br /&gt;
Also note that the &amp;lt;tt&amp;gt;mozilla/camino&amp;lt;/tt&amp;gt; directory hierarchy is open for approved Camino check-ins regardless of the state of various trees and branches, with a few exceptions, such as tagging of major branches, red Camino tinderboxen, missing Camino perf or nightly tinderboxen, etc.  &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;N.B&amp;#039;&amp;#039;&amp;#039; When the Camino tree is closed while the Mozilla tree is closed, there is typically a note on the [http://tinderbox.mozilla.org/showbuilds.cgi?tree=Camino Camino tinderbox] explaining the closure, and the closure is often mentioned in the “topic” in the [irc://irc.mozilla.org#camino #camino] channel on IRC.  &amp;#039;&amp;#039;&amp;#039;However&amp;#039;&amp;#039;&amp;#039;, when the opposite is true—Mozilla is closed and Camino is open—there is typically no indication of the fact.  If you are unsure of the state of the Camino tree, ask on in the [irc://irc.mozilla.org#camino #camino] channel on IRC.&lt;br /&gt;
&lt;br /&gt;
===Checkin tips for new (and old) committers===&lt;br /&gt;
&lt;br /&gt;
====Mercurial====&lt;br /&gt;
&lt;br /&gt;
Remember that Hg is a distributed VCS, so that most operations are local.  In particular, where “committing” to the official repository was a single operation with CVS (&amp;lt;code&amp;gt;cvs commit&amp;lt;/code&amp;gt;), it is a pair of operations with Hg (the local-only &amp;lt;code&amp;gt;hg commit&amp;lt;/code&amp;gt; and the local-to-remote &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=====Configuration changes to allow you to check code into the official repository=====&lt;br /&gt;
&lt;br /&gt;
In order to be able to push changes to a remote hg repository, you will need to make a pair of configuration changes:&lt;br /&gt;
&lt;br /&gt;
# If you do not already have a &amp;lt;code&amp;gt;~/.ssh/config&amp;lt;/code&amp;gt; file to help manage your ssh connections, create the file using your favorite text editor.  Once the file exists, insert the following lines:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;Host hg.mozilla.org&lt;br /&gt;
  User user@domain.tld&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (where &amp;#039;&amp;#039;user@domain.tld&amp;#039;&amp;#039; is the email address associated with your Mozilla Hg/LDAP account)&lt;br /&gt;
# In each local clone from which you wish to push changes (e.g., &amp;lt;code&amp;gt;mozilla-1.9.2&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;camino&amp;lt;/code&amp;gt;), edit the &amp;lt;code&amp;gt;.hg/hgrc&amp;lt;/code&amp;gt; file and add a &amp;lt;code&amp;gt;default-push&amp;lt;/code&amp;gt; line.  The &amp;lt;code&amp;gt;default-push&amp;lt;/code&amp;gt; line should look exactly the same as the &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt; line, except you should replace &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;’s &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;ssh://&amp;lt;/code&amp;gt;.  For example, the &amp;lt;code&amp;gt;.hg/hgrc&amp;lt;/code&amp;gt; file for the &amp;lt;code&amp;gt;camino&amp;lt;/code&amp;gt; repository should look like this:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[paths]&lt;br /&gt;
default = http://hg.mozilla.org/camino/&lt;br /&gt;
default-push = ssh://hg.mozilla.org/camino/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Add a hook to ensure complete checkin messages=====&lt;br /&gt;
&lt;br /&gt;
For some reason Camino committers appear far more likely to drop a required part of the commit message with Hg commits than we did with CVS.  An easy way to prevent bad commit messages is to use a “hook” that checks your commit message for required data and aborts the commit with a helpful error when the data is missing.&lt;br /&gt;
&lt;br /&gt;
Smokey has written a hook that ensures commit messages contain the bug number and at least one reviewer or superreviewer: [http://hg.mozilla.org/users/alqahira_ardisson.org/misc/file/tip/bugnum bugnum].  By default the &amp;lt;code&amp;gt;bugnum&amp;lt;/code&amp;gt; hook only enforces these commit message rules for &amp;lt;code&amp;gt;mozilla-*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;camino&amp;lt;/code&amp;gt;, so you can use the script as a global hook and still commit to other Hg repositories that don’t require bug numbers or reviews, or you can customize the hook to add additional repositories to the &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt; pattern in order to enforce the rules on additional repositories.&lt;br /&gt;
&lt;br /&gt;
# Install the &amp;lt;code&amp;gt;bugnum&amp;lt;/code&amp;gt; script somewhere and make sure that it is executable.&lt;br /&gt;
# Add the following lines to your &amp;lt;code&amp;gt;~/.hgrc&amp;lt;/code&amp;gt; file:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[hooks]&lt;br /&gt;
pretxncommit.bugnum = /path/to/bugnum $HG_NODE&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (If, for some reason, you don’t want a global hook, you can instead add these lines to the &amp;lt;code&amp;gt;.hg/hgrc&amp;lt;/code&amp;gt; file inside each individual repository where you want to use the hook.)&lt;br /&gt;
&lt;br /&gt;
For more about Hg hooks, see [http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html Chapter 10. Handling repository events with hooks] in the Hg book.&lt;br /&gt;
&lt;br /&gt;
=====Checking in patches from others=====&lt;br /&gt;
&lt;br /&gt;
Mercurial has a way of recording the actual patch author even when someone else is committing and pushing the patch.  When you’re committing a patch written by someone else, use the following commit command syntax:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;hg commit -u &amp;quot;Patch Author &amp;lt;camino.dev@example.org&amp;gt;&amp;quot; -m &amp;quot;Complete commit message&amp;quot; file1 file2&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find yourself committing patches for someone else frequently, you can add an alias to your &amp;lt;code&amp;gt;~/.hgrc&amp;lt;/code&amp;gt; file to save you some typing:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[alias]&lt;br /&gt;
patchGuy = commit -u &amp;quot;Patch Author &amp;lt;camino.dev@example.org&amp;gt;&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then commit all of Patch Author’s patches using &amp;lt;code&amp;gt;$ hg patchGuy -m &amp;quot;Complete commit message&amp;quot; file1 file2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=====Figuring out what patches (commits) you are pushing to the remote repository=====&lt;br /&gt;
&lt;br /&gt;
Once you’ve committed some patches and are ready to push them to the official repository, you can sanity-check what you’re about to send by using the &amp;lt;code&amp;gt;hg outgoing&amp;lt;/code&amp;gt; command.  If the list of patches (commits) looks correct, &amp;lt;code&amp;gt;hg push&amp;lt;/code&amp;gt; will send them to the remote repository.  Be sure to paste the changeset URLs in the bug when resolving it!&lt;br /&gt;
&lt;br /&gt;
====CVS====&lt;br /&gt;
&lt;br /&gt;
=====Checking in nibs=====&lt;br /&gt;
Sometimes a person who doesn&amp;#039;t have CVS access will post a new or updated nib on a bug that needs to be checked in. The problem with this is that since a nib is technically a directory, there is a CVS folder inside the nib. If you attempt to check in a nib that has been changed by someone who has the &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt; set as &amp;quot;&amp;lt;tt&amp;gt;:pserver:anonymous@cvs-mirror.mozilla.org:/cvsrooot&amp;lt;/tt&amp;gt;&amp;quot; (&amp;#039;&amp;#039;e.g.&amp;#039;&amp;#039;, everyone without cvs write access), you will receive an authorization error from cvs. The problem is that the &amp;lt;tt&amp;gt;CVS/Root&amp;lt;/tt&amp;gt; file is set as the anonymous &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt;, not your &amp;quot;&amp;lt;tt&amp;gt;user%email.com@cvs.mozilla.org:/cvsroot&amp;lt;/tt&amp;gt;&amp;quot; &amp;lt;tt&amp;gt;CVSROOT&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
The easiest way to fix this problem is to copy a &amp;lt;code&amp;gt;Root&amp;lt;/code&amp;gt; file from one of the directories you have pulled to and paste it inside the &amp;lt;tt&amp;gt;Something.nib/CVS&amp;lt;/tt&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
Alternatively, instead of dropping that person’s nib in place, use &amp;lt;code&amp;gt; cp /path/to/other/nib/*.nib /path/to/your/tree/nib; touch /path/to/your/nib&amp;lt;/code&amp;gt; to copy their nib files into your tree.&lt;br /&gt;
&lt;br /&gt;
=====Trunk/branch mismatches=====&lt;br /&gt;
Sometimes (due mostly to Gecko changes on the trunk) the trunk and branch versions of a patch will diverge and you can&amp;#039;t use cross-commit to land both places.  &amp;#039;&amp;#039;&amp;#039;If you&amp;#039;re confident the branch patch has been well-tested&amp;#039;&amp;#039;&amp;#039; and don&amp;#039;t have a branch tree, you can pull just the files you need to commit (rather than pull an entire tree).&lt;br /&gt;
&lt;br /&gt;
# Set up your cvs environment as normal (i.e., &amp;lt;code&amp;gt;export cvsroot&amp;lt;/code&amp;gt;)&lt;br /&gt;
# &amp;lt;code&amp;gt;cvs co -r MOZILLA_1_8_BRANCH -d myfolder mozilla/camino/src/browser/foo mozilla/camino/PreferencePanes/Naviagtion/bar&amp;lt;/code&amp;gt;&lt;br /&gt;
#: where &amp;lt;code&amp;gt;MOZILLA_1_8_BRANCH&amp;lt;/code&amp;gt; is the branch tag, &amp;lt;code&amp;gt;myfolder&amp;lt;/code&amp;gt; is the folder in which you want the stub tree to live, and &amp;lt;code&amp;gt;foo&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bar&amp;lt;/code&amp;gt; are the files contained in the patch&lt;br /&gt;
# Apply the patch and commit the files &amp;quot;as normal&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=====Backing out a patch=====&lt;br /&gt;
Sometimes you accidentally commit something that shouldn&amp;#039;t have landed yet, or sometimes (hopefully rarely) you commit something that breaks the tree and needs to be backed out.  To back out a patch, follow these steps:&lt;br /&gt;
&lt;br /&gt;
# If you need to back out something only on the branch and have no branch tree (i.e., you check in using  cross-commit), follow the steps above to grab a &amp;quot;stub&amp;quot; branch tree of the files the patch touched.&lt;br /&gt;
# Consult bonsai for the correct backout command(s) to pull files (one per file) to run&lt;br /&gt;
#: The &amp;quot;Show commands which could be used to back out these changes&amp;quot; link at the top of the appropriate bonsai page will give you the appropriate command, in the form of&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;cvs update -j1.17.2.4 -j1.17.2.3 mozilla/camino/src/embedding/CHClickListener.mm&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;There will be one command per file (this particular example is a branch file, as you can see from the multiple sub-versions; the current [bad] version of the file is listed first and the previous [good] version is second)&lt;br /&gt;
# &amp;lt;code&amp;gt;touch&amp;lt;/code&amp;gt; each file &lt;br /&gt;
# &amp;lt;code&amp;gt;cvs diff -u&amp;lt;/code&amp;gt; the file(s) to sanity-check that the bad changes have been reverted in your local copy of the files&lt;br /&gt;
# &amp;lt;code&amp;gt;cvs commit&amp;lt;/code&amp;gt; &amp;quot;as normal&amp;quot;; this will commit a new copy of the file(s) with the incorrect change backed out&lt;br /&gt;
&lt;br /&gt;
=====Adding new files=====&lt;br /&gt;
* &amp;lt;code&amp;gt;cvs add&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;cvs add -kb&amp;lt;/code&amp;gt; for any binary files, including images, UTF-16-encoded files (e.g., &amp;lt;code&amp;gt;.strings&amp;lt;/code&amp;gt; files from external projects), and &amp;lt;code&amp;gt;keyedobjects.nib&amp;lt;/code&amp;gt; files inside .nibs.&lt;br /&gt;
&lt;br /&gt;
=====Adding new nibs=====&lt;br /&gt;
* &amp;lt;code&amp;gt;cvs add&amp;lt;/code&amp;gt; the wrapper directory&lt;br /&gt;
* &amp;lt;code&amp;gt;cvs add -kb&amp;lt;/code&amp;gt; on &amp;#039;&amp;#039;&amp;#039;keyedobjects.nib&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cvs add&amp;lt;/code&amp;gt; on the remaining .nib files inside the wrapper directory&lt;br /&gt;
&amp;lt;pre&amp;gt;[Qalaat-Samaan:trunk/mozilla/camino] smokey% cvs add resources/localized/English.lproj/SafeBrowsingBar.nib&lt;br /&gt;
? resources/localized/English.lproj/SafeBrowsingBar.nib/classes.nib&lt;br /&gt;
? resources/localized/English.lproj/SafeBrowsingBar.nib/info.nib&lt;br /&gt;
? resources/localized/English.lproj/SafeBrowsingBar.nib/keyedobjects.nib&lt;br /&gt;
Directory /cvsroot/mozilla/camino/resources/localized/English.lproj/SafeBrowsingBar.nib added to the repository&lt;br /&gt;
[Qalaat-Samaan:trunk/mozilla/camino] smokey% cvs add -kb resources/localized/English.lproj/SafeBrowsingBar.nib/keyedobjects.nib&lt;br /&gt;
cvs add: scheduling file `resources/localized/English.lproj/SafeBrowsingBar.nib/keyedobjects.nib&amp;#039; for addition&lt;br /&gt;
cvs add: use &amp;#039;cvs commit&amp;#039; to add this file permanently&lt;br /&gt;
[Qalaat-Samaan:trunk/mozilla/camino] smokey% cvs add resources/localized/English.lproj/SafeBrowsingBar.nib/classes.nib resources/localized/English.lproj/SafeBrowsingBar.nib/info.nib&lt;br /&gt;
cvs add: scheduling file `resources/localized/English.lproj/SafeBrowsingBar.nib/classes.nib&amp;#039; for addition&lt;br /&gt;
cvs add: scheduling file `resources/localized/English.lproj/SafeBrowsingBar.nib/info.nib&amp;#039; for addition&lt;br /&gt;
cvs add: use &amp;#039;cvs commit&amp;#039; to add these files permanently&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sardisson</name></author>
		
	</entry>
</feed>