Confirmed users
79
edits
('How to test a backout on the Try server' added) |
No edit summary |
||
| Line 3: | Line 3: | ||
= How to perform backouts = | = How to perform backouts = | ||
'''There are a few things to check out which can indicate the necessity of a backout:''' | |||
# there are ES (linting opt) failures: close the tree, backout, inform the developer | |||
# Requested by the developer | |||
# The push has many bustages | |||
# The push has a high failure rate | |||
# The failure occurs on multiple pushes | |||
# The failure is not assigned to a bug | |||
'''Before''' the backout, we should <span style="color:#FF0000">'''close the tree'''</span> from which we’ll backout in order to avoid race pushing. | |||
With unified repos, backouts are now easier to perform. Please follow the instructions for [[Sheriffing/How:To:SheriffingFromUnifiedRepos#Backouts|backing out from unified repos]]. | With unified repos, backouts are now easier to perform. Please follow the instructions for [[Sheriffing/How:To:SheriffingFromUnifiedRepos#Backouts|backing out from unified repos]]. | ||
====='''Steps:'''===== | |||
# close the tree | |||
# <code>cd mozilla-unified</code> <span style="color:#14866d">//access the mozilla-unified directory</span> | |||
# <code>hg pull <repo></code> <span style="color:#14866d">//download repo</span> | |||
# <code>hg update <repo></code> <span style="color:#14866d">//update repo</span> | |||
# identify the revision we want to backout | |||
# <code>hg oops -er <revision></code> <span style="color:#14866d">//run the backout command, for a single changeset. If the backout impacts</span> <span style="color:#FF0000">'''multiple changesets'''</span>, use <code>hg oops -esr <revision>::<revision></code> <span style="color:#14866d">instead.<span style="color:#FF0000">If there are</span> <span style="color:#FF0000">'''two changesets with other unrelated changesets inbetween'''</span>, <span style="color:#14866d">use</span><code>hg oops -esr <revision>+<revision></code> | |||
# open the text editor to add the description of the backout <span style="color:#FF0000">'''“Backed out changeset <revision> (bug X) for <insert reason here>”'''</span>. If the repo(s) are <span style="color:#FF0000">'''closed'''</span>, then we also need to add <span style="color:#FF0000">'''“on a CLOSED TREE”'''</span>. If the repo(s) are <span style="color:#FF0000">'''approval-only'''</span> we need to add <span style="color:#FF0000">'''a=backout'''</span> | |||
# <code>hg push -r . inbound</code> <span style="color:#14866d">// push the changes</span> | |||
===== Example on how to backout a single revision ===== | |||
'''Note:''' The example below is for inbound, but the same steps should be followed for any repos | |||
# close the tree | |||
# <code>cd mozilla-unified</code> | |||
# <code>hg pull inbound </code> | |||
# <code>hg update inbound </code> | |||
# identify the revision we want to backout (e.g. def0af88e262) | |||
# <code>hg oops -er def0af88e262 </code> | |||
# open the text editor to add the description of the backout, e.g.: “Backed out changeset def0af88e262 (bug 1359017) for <insert reason here> CLOSED TREE”. | |||
# <code>hg push -r . inbound </code> | |||
===== Example on how to backout a single revision ===== | |||
'''Note:''' The example below is for inbound, but the same steps should be followed for any repos | |||
# close the tree | |||
# <code>cd mozilla-unified </code> | |||
# <code>hg pull inbound </code> | |||
# <code>hg update inbound </code> | |||
# identify the push we want to backout. E.g.: 478cffed4b5f, daea2bcda8cb, 9abaf5195566, 2f665a0a379f | |||
# <code>hg oops -esr 2f665a0a379f::478cffed4b5f </code> | |||
# open the text editor to add the description of the backout, e.g.: “Backed out X changesets (bug 1359017) for <insert reason here> CLOSED TREE”. | |||
# <code>hg push -r . inbound </code> | |||
= Best Practices and Communication = | = Best Practices and Communication = | ||