Moved the code from git-p4 submit to figure out the upstream branch point
authorSimon Hausmann <shausman@trolltech.com>
Tue, 12 Jun 2007 12:31:59 +0000 (14:31 +0200)
committerSimon Hausmann <shausman@trolltech.com>
Tue, 12 Jun 2007 12:31:59 +0000 (14:31 +0200)
into a separate helper method.

git-p4

diff --git a/git-p4 b/git-p4
index 21f9ba7e07e8eb577c9ef722fd30f7f30ce9f652..1c7db11529037091b324c65f24dcbf3dd7e05b5d 100755 (executable)
--- a/git-p4
+++ b/git-p4
@@ -168,6 +168,28 @@ def gitBranchExists(branch):
 def gitConfig(key):
     return read_pipe("git config %s" % key, ignore_error=True).strip()
 
+def findUpstreamBranchPoint():
+    settings = None
+    branchPoint = ""
+    parent = 0
+    while parent < 65535:
+        commit = "HEAD~%s" % parent
+        log = extractLogMessageFromGitCommit(commit)
+        settings = extractSettingsGitLog(log)
+        if not settings.has_key("depot-paths"):
+            parent = parent + 1
+            continue
+
+        names = read_pipe_lines("git name-rev '--refs=refs/remotes/p4/*' '%s'" % commit)
+        if len(names) <= 0:
+            continue
+
+        # strip away the beginning of 'HEAD~42 refs/remotes/p4/foo'
+        branchPoint = names[0].strip()[len(commit) + 1:]
+        break
+
+    return [branchPoint, settings]
+
 class Command:
     def __init__(self):
         self.usage = "usage: %prog [options]"
@@ -494,25 +516,10 @@ class P4Submit(Command):
         else:
             return False
 
-        depotPath = ""
-        parent = 0
-        while parent < 65535:
-            commit = "HEAD~%s" % parent
-            log = extractLogMessageFromGitCommit(commit)
-            settings = extractSettingsGitLog(log)
-            if not settings.has_key("depot-paths"):
-                parent = parent + 1
-                continue
-
-            depotPath = settings['depot-paths'][0]
-
-            if len(self.origin) == 0:
-                names = read_pipe_lines("git name-rev '--refs=refs/remotes/p4/*' '%s'" % commit)
-                if len(names) > 0:
-                    # strip away the beginning of 'HEAD~42 refs/remotes/p4/foo'
-                    self.origin = names[0].strip()[len(commit) + 1:]
-
-            break
+        [upstream, settings] = findUpstreamBranchPoint()
+        depotPath = settings['depot-paths'][0]
+        if len(self.origin) == 0:
+            self.origin = upstream
 
         if self.verbose:
             print "Origin branch is " + self.origin