Browse Source

Fix the branch mapping detection to be independent from the order of the "p4 branches" output.

Collect "unknown" source branches separately and register them at the end.

Also added a minor speed up to splitFilesIntoBranches by breaking out of the loop through all branches when it's safe.

Signed-off-by: Simon Hausmann <simon@lst.de>
maint
Simon Hausmann 18 years ago
parent
commit
6555b2ccfe
  1. 16
      contrib/fast-import/git-p4

16
contrib/fast-import/git-p4

@ -700,6 +700,7 @@ class P4Sync(Command): @@ -700,6 +700,7 @@ class P4Sync(Command):
if branch not in branches:
branches[branch] = []
branches[branch].append(file)
break

return branches

@ -938,6 +939,8 @@ class P4Sync(Command): @@ -938,6 +939,8 @@ class P4Sync(Command):
return p

def getBranchMapping(self):
lostAndFoundBranches = set()

for info in p4CmdList("branches"):
details = p4Cmd("branch -o %s" % info["branch"])
viewIdx = 0
@ -953,10 +956,17 @@ class P4Sync(Command): @@ -953,10 +956,17 @@ class P4Sync(Command):
if source.startswith(self.depotPaths[0]) and destination.startswith(self.depotPaths[0]):
source = source[len(self.depotPaths[0]):-4]
destination = destination[len(self.depotPaths[0]):-4]
if destination not in self.knownBranches:
self.knownBranches[destination] = source

self.knownBranches[destination] = source

lostAndFoundBranches.discard(destination)

if source not in self.knownBranches:
self.knownBranches[source] = source
lostAndFoundBranches.add(source)


for branch in lostAndFoundBranches:
self.knownBranches[branch] = branch

def listExistingP4GitBranches(self):
self.p4BranchesInGit = []

Loading…
Cancel
Save