summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 5e100b5)
raw | patch | inline | side by side (parent: 5e100b5)
author | Simon Hausmann <simon@lst.de> | |
Thu, 7 Jun 2007 20:54:32 +0000 (22:54 +0200) | ||
committer | Simon Hausmann <simon@lst.de> | |
Thu, 7 Jun 2007 20:54:32 +0000 (22:54 +0200) |
working with multi-branch imports.
Signed-off-by: Simon Hausmann <simon@lst.de>
Signed-off-by: Simon Hausmann <simon@lst.de>
contrib/fast-import/git-p4 | patch | blob | history |
index 3fe7ae77a889c4b60a9687a02e6bd0016f256318..efec0be32c41a9114dbf83f96ee12ad414e9bd05 100755 (executable)
paths = values.get("depot-paths")
if not paths:
paths = values.get("depot-path")
- values['depot-paths'] = paths.split(',')
+ if paths:
+ values['depot-paths'] = paths.split(',')
return values
def gitBranchExists(branch):
return False
depotPath = ""
- settings = None
- if gitBranchExists("p4"):
- settings = extractSettingsGitLog(extractLogMessageFromGitCommit("p4"))
- if len(depotPath) == 0 and gitBranchExists("origin"):
- settings = extractSettingsGitLog(extractLogMessageFromGitCommit("origin"))
- depotPath = settings['depot-paths'][0]
+ 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
+
+ if self.verbose:
+ print "Origin branch is " + self.origin
if len(depotPath) == 0:
print "Internal error: cannot locate perforce depot path from existing branches"
if response == "y" or response == "yes":
system("p4 sync ...")
- if len(self.origin) == 0:
- if gitBranchExists("p4"):
- self.origin = "p4"
- else:
- self.origin = "origin"
-
if self.reset:
self.firstTime = True
print "creating %s" % remoteHead
update = True
else:
- settings = extractSettingsGitLog(extractLogMessageFromGitCommit(remoteHead))
+ settings = extractSettingsGitLog(extractLogMessageFromGitCommit(remoteHead))
if settings.has_key('change') > 0:
if settings['depot-paths'] == original['depot-paths']:
originP4Change = int(original['change'])