Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally

always rebasing on top of remotes/p4/master
This commit is contained in:
Simon Hausmann
2007-06-12 14:34:46 +02:00
parent 3f7d065721
commit 46cfe91e74

12
git-p4
View File

@@ -1361,9 +1361,17 @@ class P4Rebase(Command):
def run(self, args):
sync = P4Sync()
sync.run([])
print "Rebasing the current branch"
[upstream, settings] = findUpstreamBranchPoint()
if len(upstream) == 0:
die("Cannot find upstream branchpoint for rebase")
# the branchpoint may be p4/foo~3, so strip off the parent
upstream = re.sub("~[0-9]+$", "", upstream)
print "Rebasing the current branch onto %s" % upstream
oldHead = read_pipe("git rev-parse HEAD").strip()
system("git rebase p4")
system("git rebase %s" % upstream)
system("git diff-tree --stat --summary -M %s HEAD" % oldHead)
return True