Sheriffing/How To/Backouts: Difference between revisions

Jump to navigation Jump to search
no edit summary
('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 =
Confirmed users
79

edits

Navigation menu