mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Handle unusual case in rebase-update where second rebase attempt works.
Previously we just added an assert here but better to simply succeed in this case, while outputting the intial failure message. BUG=425696 Review URL: https://codereview.chromium.org/667793005 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292687 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
@@ -148,30 +148,36 @@ def rebase_branch(branch, parent, start_hash):
|
||||
git.squash_current_branch(merge_base=start_hash)
|
||||
git.rebase(parent, start_hash, branch)
|
||||
else:
|
||||
print "Failed!"
|
||||
print
|
||||
|
||||
# rebase and leave in mid-rebase state.
|
||||
# This second rebase attempt should always fail in the same
|
||||
# way that the first one does. If it magically succeeds then
|
||||
# something very strange has happened.
|
||||
second_rebase_ret = git.rebase(parent, start_hash, branch)
|
||||
assert(not second_rebase_ret.success)
|
||||
print "Failed!"
|
||||
print
|
||||
print "Here's what git-rebase (squashed) had to say:"
|
||||
print
|
||||
print squash_ret.stdout
|
||||
print squash_ret.stderr
|
||||
print textwrap.dedent(
|
||||
"""\
|
||||
Squashing failed. You probably have a real merge conflict.
|
||||
if second_rebase_ret.success: # pragma: no cover
|
||||
print "Second rebase succeeded unexpectedly!"
|
||||
print "Please see: http://crbug.com/425696"
|
||||
print "First rebased failed with:"
|
||||
print rebase_ret.stderr
|
||||
else:
|
||||
print "Here's what git-rebase (squashed) had to say:"
|
||||
print
|
||||
print squash_ret.stdout
|
||||
print squash_ret.stderr
|
||||
print textwrap.dedent(
|
||||
"""\
|
||||
Squashing failed. You probably have a real merge conflict.
|
||||
|
||||
Your working copy is in mid-rebase. Either:
|
||||
* completely resolve like a normal git-rebase; OR
|
||||
* abort the rebase and mark this branch as dormant:
|
||||
git config branch.%s.dormant true
|
||||
Your working copy is in mid-rebase. Either:
|
||||
* completely resolve like a normal git-rebase; OR
|
||||
* abort the rebase and mark this branch as dormant:
|
||||
git config branch.%s.dormant true
|
||||
|
||||
And then run `git rebase-update` again to resume.
|
||||
""" % branch)
|
||||
return False
|
||||
And then run `git rebase-update` again to resume.
|
||||
""" % branch)
|
||||
return False
|
||||
else:
|
||||
print '%s up-to-date' % branch
|
||||
|
||||
|
||||
Reference in New Issue
Block a user