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 <shausman@trolltech.com>
This commit is contained in:
@ -1361,9 +1361,17 @@ class P4Rebase(Command):
|
|||||||
def run(self, args):
|
def run(self, args):
|
||||||
sync = P4Sync()
|
sync = P4Sync()
|
||||||
sync.run([])
|
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()
|
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)
|
system("git diff-tree --stat --summary -M %s HEAD" % oldHead)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user