Changes

Jump to: navigation, search

ReleaseEngineering/TryServer

1,611 bytes removed, 15:20, 15 August 2013
no edit summary
User <commit_user_email_address>
IdentityFile ~/.ssh/alternate_public_identity_key_file
</pre>
 
=== hg phases ===
[http://mercurial.selenic.com/wiki/Phases hg phases] were introduced in Mercurial 2.1. Their purpose is to keep you from accidentally modifying changesets you've shared with others, or from accidentally sharing your patch queue with others. In particular, this keeps you from qpop'ing patches you've pushed to try!
 
When you run <tt>hg qpop</tt> after pushing to try, you'll get
 
<pre>abort: popping would remove an immutable revision</pre>
 
You can force hg to let you <tt>qpop</tt> your patch queue by running
<pre>hg phase -f --draft qbase:tip</pre>
 
==== Disable hg phases with a post-push hook ====
 
Alternatively, you can avoid this rigamarole by disabling hg phases with an outgoing hook. Add the following to your personal .hgrc file (~/.hgrc):
 
<pre>
[hooks]
post-push = hg phase --force --draft "mq()"
</pre>
 
Now you should be able to perform hg push -f <whatever> without it affecting the phase.
 
These extra steps should no longer be necessary once the server is upgraded to Mercurial 2.1 and configured as "non-publishing" ({{bug|725362}}).
 
==== If you use an alias (e.g. "hg try" instead of "hg push -f ssh://hg.mozilla.org/try") ====
If you use an alias (e.g. you use <tt>hg try</tt> to push to try), this won't work -- you need to actually specify the post-command that you want it to perform after.
 
For example, if you alias your push command to <tt>hg try</tt>, as
<pre>
[alias]
try = push -f ssh://hg.mozilla.org/try
</pre>
 
Then you need to use the following instead of the above post-push hook:
<pre>
[hooks]
post-try = hg phase --force --draft "mq()"
</pre>
Confirm
657
edits

Navigation menu