Changes

Jump to: navigation, search

Sheriffing/How To/Merges

375 bytes added, 20:44, 21 July 2017
no edit summary
'''Merges:'= Goal = Each sheriff should perform a merge at the beginning of their work day. Effectively, this results in two sets of merges every day to/from autoland and mozilla-inbound to mozilla-central''
''Goal: Merging around twice = Choosing a day changeset to/merge =For merges from autoland and mozilla-inbound the integration trees to mozilla-central'', you should choose a changeset with a green PGO run to avoid bustages on nightly builds that also run PGO. You need to also make sure that are *NOT* any backouts *after* that changeset.
'''Merges from the integration trees = Order of operations =Integration branches should be merged to mozilla-central are done on green PGO runs first, then mozilla-central should be merged back to avoid bustages on PGO which could affect as example Nightly Builds'''the integration branches. These merge instructions were copied from [[Sheriffing/How:To:SheriffingFromUnifiedRepos#Merges|Sheriffing From Unified Repos]] document.
== Merging from autoland and mozilla-inbound to mozilla-central ==
Example mozilla-inbound to mozilla-central merge:
cd mozilla-unified
hg pull
hg update central
hg merge -r <changeset> # the green changeset with PGO runs on mozilla-inbound
hg commit -m "Merge inbound to mozilla-central"
hg push -r . central
= Step 1= Merging After you, be sure to use Bugherder to classify any failures on your merge commit. It's available from autoland and the menu for the push on [https://treeherder.mozilla-inbound to .org/#/jobs?repo=mozilla-centralTreeherder]'''
== Merging back from mozilla-central to autoland and mozilla-inbound ==Example mozilla-inbound central to mozilla-central inbound merge: -> cd into your mozilla-central directoryunified -> hg pull ssh:// hg.mozilla.org/integration/mozilla-inbound -r (the green with PGO runs update inbound revision changeset) - also make sure there are no backouts after that etc -> hg merge && central hg commit -m "merge inbound Merge mozilla-central to mozilla-centralinbound" hg push -> pushr . inbound
'''don't forget to use Bugherder after that! It's available from These commands *might* result in race conditions on the menu for the push on [httpstree when it is busy. Under those circumstances, this commands avoid delays between steps://treeherder. cd mozilla.org/#/jobs?repo=-unified hg pull && hg update inbound && hg merge central && hg commit -m "Merge mozilla-central Treeherder]'''to mozilla-inbound" && hg push -r . inbound
= Step 2 == When there is nothing to merge ===Merging back from You run <code>hg update</code> to get a working copy information, but there are no changes on mozilla-central and so nothing to autoland and mozilla-inboundmerge. The workflow for this case is:
Example mozilla-central to mozilla-inbound merge -> go to your mozilla-inbound tree directory -# Run <code> hg pull && hg update to make sure its the latest</code> -#* You can run <code> hg pull ssh://hg.mozilla.org/mozilla-centralout</ -> hg merge -code> hg commit -m "merge mozilla-central to mozilla-inbound" -> hg push since this above might result in race conditions on list all the tree (when its busy there) this works better -> go changesets to merged to your mozilla-inbound tree hg pull && hg update && hg pull ssh://hg.mozillacentral.org/mozilla-central/ && hg merge && hg commit -m "Merge mozilla-central to [TREENAME]" && hg push  Aliases for the various repositories make the above easier to type! = Step 3 hg update when # Because there is nothing to 's been no merge = You get the run , you won'hg update' to get t have a commit containing a working copy informationapproval message, because there where no changes on m-c and so nothing to mergee. The workflow for this case is: 1.) Run hg update-- If unsure if everything is ok just do a hg out, that should list all the changesets you want to sync to m-c 2g.) because you do no merge and so have no commits like "merge a to b a=me." This means you would will run into a afoul of the hg hook telling you that the m-c repo is set to approval-only - so you need to temporary . You need to temporarily set the mozilla-central tree to "open" via tree[https://mozilla-status releng.net/treestatus Treestatus] to be able to push. 3.) # Push your changes from Step 1. 4.) # Set the m-c tree back to "approval-required" in Treestatus. This is important because if we miss this, we risk unexpected pushes to mozilla-central since some people might think the open tree is intentional :).5.) # Use Bugherder to mark the bugs and failures as usualfor your push. 6.) now # Now when you do the Steps merge from Step 1 with mozilla-inbound you get the note that you need to merge.
Canmove, confirm
2,850
edits

Navigation menu