canmove, Confirmed users
2,850
edits
No edit summary |
ChrisCooper (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
= 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'' | |||
= Choosing a changeset to merge = | |||
For merges from 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. | |||
= Order of operations = | |||
Integration branches should be merged to mozilla-central first, then mozilla-central should be merged back to 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 | |||
After you, be sure to use Bugherder to classify any failures on your merge commit. It's available from the menu for the push on [https://treeherder.mozilla.org/#/jobs?repo=mozilla-central Treeherder]''' | |||
Example mozilla- | == Merging back from mozilla-central to autoland and mozilla-inbound == | ||
Example mozilla-central to mozilla-inbound merge: | |||
cd mozilla-unified | |||
hg pull | |||
- | hg update inbound | ||
hg merge central | |||
hg commit -m "Merge mozilla-central to mozilla-inbound" | |||
hg push -r . inbound | |||
These commands *might* result in race conditions on the tree when it is busy. Under those circumstances, this commands avoid delays between steps: | |||
cd mozilla-unified | |||
hg pull && hg update inbound && hg merge central && hg commit -m "Merge mozilla-central to mozilla-inbound" && hg push -r . inbound | |||
= | === When there is nothing to merge === | ||
You run <code>hg update</code> to get a working copy information, but there are no changes on mozilla-central and so nothing to merge. The workflow for this case is: | |||
# Run <code>hg update</code> | |||
#* You can run <code>hg out</code> to list all the changesets to merged to mozilla-central. | |||
# Because there's been no merge, you won't have a commit containing a approval message, e.g. "merge a to b a=me." This means you will run afoul of the hg hook telling you that the m-c repo is set to approval-only. You need to temporarily set the mozilla-central tree to "open" via [https://mozilla-releng.net/treestatus Treestatus] to be able to push. | |||
# Push your changes from Step 1. | |||
# 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. | |||
# Use Bugherder to mark and failures as usual for your push. | |||
# Now when you merge from mozilla-inbound you get the note that you need to merge. | |||