self.changeRange = ""
self.initialParent = ""
self.previousDepotPath = ""
+ # importing into default remotes/p4/* layout?
+ defaultImport = False
if len(self.branch) == 0:
- self.branch = "p4"
+ self.branch = "refs/remotes/p4/master"
+ if gitBranchExists("refs/heads/p4"):
+ system("git update-ref %s refs/heads/p4" % self.branch)
+ system("git symbolic-ref refs/remotes/p4/HEAD refs/remotes/p4/master")
+ system("git branch -D p4");
+ else:
+ defaultImport = True
if len(args) == 0:
if not gitBranchExists(self.branch) and gitBranchExists("origin"):
if not self.silent:
print "Creating %s branch in git repository based on origin" % self.branch
- system("git branch %s origin" % self.branch)
+ branch = self.branch
+ if not branch.startswith("refs"):
+ branch = "refs/heads/" + branch
+ system("git update-ref %s origin" % branch)
+ if defaultImport:
+ system("git symbolic-ref refs/remotes/p4/HEAD %s" % branch)
[self.previousDepotPath, p4Change] = extractDepotPathAndChangeFromGitLog(extractLogMessageFromGitCommit(self.branch))
if len(self.previousDepotPath) > 0 and len(p4Change) > 0:
if self.detectLabels:
self.getLabels();
- if len(self.changeRange) == 0:
- try:
- sout, sin, serr = popen2.popen3("git name-rev --tags `git rev-parse %s`" % self.branch)
- output = sout.read()
- if output.endswith("\n"):
- output = output[:-1]
- tagIdx = output.index(" tags/p4/")
- caretIdx = output.find("^")
- endPos = len(output)
- if caretIdx != -1:
- endPos = caretIdx
- self.rev = int(output[tagIdx + 9 : endPos]) + 1
- self.changeRange = "@%s,#head" % self.rev
- self.initialParent = parseRevision(self.branch)
- except:
- pass
-
self.tz = "%+03d%02d" % (- time.timezone / 3600, ((- time.timezone % 3600) / 60))
importProcess = subprocess.Popen(["git", "fast-import"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE);