Sheriffing/How To/Unified Repos: Difference between revisions

Clean up merge instructions
(How to recover a messed up repo)
(Clean up merge instructions)
Line 7: Line 7:


=== Merges ===
=== Merges ===
* [20:21] KWierso trying to figure out how hard it'd be to switch my sheriffing tasks over to the Right Way(tm) from the way I'm doing them currently
This assumes you have your unified repo all set up so that `hg fxheads` lists each of central, b2ginbound, fx-team, and inbound.
* [20:22] gps like anything, there will be a learning curve
 
* [20:22] gps but using a unified repo was a huge time-saver for me when working with multiple repos
To merge mozilla-central into mozilla-inbound:
* [20:22] gps i recommend it for sheriffs
# hg pull central
* [20:22] gps just don't use mq - mq doesn't work with share
# hg pull inbound
* [20:23] KWierso like currently to merge inbound to mozilla-central, it's something like | cd ../mozilla-central && hg pull -u && hg pull -u && hg pull inbound | to get all of the new inbound commits, then either | hg up | or | hg merge && hg commit -m "Blah" | depending on the number of heads
# hg up inbound
* [20:23] KWierso then
# hg merge central
* [20:23] KWierso | hg push |
# hg commit -m "Merge mozilla-central to mozilla-inbound a=merge"
* [20:23] gps i would do this in a single checkout
# hg push -r . inbound
* [20:23] gps hg pull central
* [20:23] gps hg pull inbound
* [20:23] gps hg up central
* [20:23] gps hg merge inbound
* [20:23] gps hg commit
* [20:23] gps hg push central
* [20:24] gps (you should get in the habbit of typing `hg push -r . central`)
* [20:24] gps firefoxtree infers "-r ." when pushing to a firefox tree
* [20:25] KWierso but the actual tree would be hard to infer in that case
* [20:25] KWierso got it
* [20:25] gps what do you mean "hard to infer"?
* [20:25] KWierso er, making sure that push goes to central and not one of the others?
* [20:26] gps for those concerns, i recommend 1) always specifying the revision to push (-r <rev>) 2) always specifying the remote (not relying on default)
* [20:26] gps mercurial won't allow you to create a new head without --force
* [20:27] gps that takes away a number of obvious oops possiblities
* [20:27] gps and the firefox repos all have a hook that enforces one head per branch
* [20:28] gps even if you --force push, the server will reject it
* [20:28] gps about the worst you can do is merge the wrong commits or push a merge prematurely


=== Checkin-neededs ===
=== Checkin-neededs ===
Confirmed users
396

edits