From: Simon Hausmann Date: Tue, 12 Jun 2007 12:34:46 +0000 (+0200) Subject: Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally X-Git-Tag: v1.5.3-rc0~65^2^2~7 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=d7e3868cdfdc73c3de15296ecf32138a8308c07e;p=git.git Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally always rebasing on top of remotes/p4/master Signed-off-by: Simon Hausmann --- diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4 index 1c7db1152..1168704be 100755 --- a/contrib/fast-import/git-p4 +++ b/contrib/fast-import/git-p4 @@ -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