@ -148,30 +148,36 @@ def rebase_branch(branch, parent, start_hash):
git . squash_current_branch ( merge_base = start_hash )
git . squash_current_branch ( merge_base = start_hash )
git . rebase ( parent , start_hash , branch )
git . rebase ( parent , start_hash , branch )
else :
else :
print " Failed! "
print
# rebase and leave in mid-rebase state.
# rebase and leave in mid-rebase state.
# This second rebase attempt should always fail in the same
# This second rebase attempt should always fail in the same
# way that the first one does. If it magically succeeds then
# way that the first one does. If it magically succeeds then
# something very strange has happened.
# something very strange has happened.
second_rebase_ret = git . rebase ( parent , start_hash , branch )
second_rebase_ret = git . rebase ( parent , start_hash , branch )
assert ( not second_rebase_ret . success )
if second_rebase_ret . success : # pragma: no cover
print " Failed! "
print " Second rebase succeeded unexpectedly! "
print
print " Please see: http://crbug.com/425696 "
print " Here ' s what git-rebase (squashed) had to say: "
print " First rebased failed with: "
print
print rebase_ret . stderr
print squash_ret . stdout
else :
print squash_ret . stderr
print " Here ' s what git-rebase (squashed) had to say: "
print textwrap . dedent (
print
""" \
print squash_ret . stdout
Squashing failed . You probably have a real merge conflict .
print squash_ret . stderr
print textwrap . dedent (
Your working copy is in mid - rebase . Either :
""" \
* completely resolve like a normal git - rebase ; OR
Squashing failed . You probably have a real merge conflict .
* 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
And then run ` git rebase - update ` again to resume .
* abort the rebase and mark this branch as dormant :
""" % branch)
git config branch . % s . dormant true
return False
And then run ` git rebase - update ` again to resume .
""" % branch)
return False
else :
else :
print ' %s up-to-date ' % branch
print ' %s up-to-date ' % branch