self.changeRange = ""
self.initialParent = ""
self.previousDepotPath = ""
+ # importing into default remotes/p4/* layout?
+ defaultImport = False
if len(self.branch) == 0:
- self.branch = "p4"
+ if gitBranchExists("refs/heads/p4"):
+ self.branch = "p4"
+ else:
+ self.branch = "refs/remotes/p4/master"
+ defaultImport = True
if len(args) == 0:
if not gitBranchExists(self.branch) and gitBranchExists("origin"):
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:
This will create an empty git repository in a subdirectory called "project" (or
"myproject" with the second command), import the head revision from the
-specified perforce path into a git "p4" branch, create a master branch off it
-and check it out. If you want the entire history (not just the head revision) then
-you can simply append a "@all" to the depot path:
+specified perforce path into a git "p4" branch (remotes/p4 actually), create a
+master branch off it and check it out. If you want the entire history (not just
+the head revision) then you can simply append a "@all" to the depot path:
git-p4 clone //depot/project/main@all myproject