From 19a83d80854d88f079f8d6530812b50948f0e28c Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 16 Apr 2009 08:14:26 -0700 Subject: [PATCH] Use default rebase during sync instead of rebase -i rebase interactive (aka rebase -i) has changed in newer versions of git, and doesn't always generate the sequence of commits the same way it used to. It also doesn't handle having a previously applied commit try to be applied again. The default rebase algorithm is better suited to our needs. It uses --ignore-if-in-upstream when generating the patch series for git-am, and git-am with its 3-way fallback is able to handle a rename case just as well as the cherry-pick variant used by -m. Its also a generally faster implementation. Signed-off-by: Shawn O. Pearce --- project.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project.py b/project.py index bd35c65..6ffbd02 100644 --- a/project.py +++ b/project.py @@ -893,11 +893,11 @@ class Project(object): raise GitError('%s reset --hard %s ' % (self.name, rev)) def _Rebase(self, upstream, onto = None): - cmd = ['rebase', '-i'] + cmd = ['rebase'] if onto is not None: cmd.extend(['--onto', onto]) cmd.append(upstream) - if GitCommand(self, cmd, disable_editor=True).Wait() != 0: + if GitCommand(self, cmd).Wait() != 0: raise GitError('%s rebase %s ' % (self.name, upstream)) def _FastForward(self, head):