Skip to content

Commit

Permalink
git-p4: Cleanup; moved the code for getting a sorted list of p4 chang…
Browse files Browse the repository at this point in the history
…es for a list of given depot paths into a standalone method.

Signed-off-by: Simon Hausmann <simon@lst.de>
  • Loading branch information
Simon Hausmann committed Sep 3, 2007
1 parent 14594f4 commit 4f6432d
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions contrib/fast-import/git-p4
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,19 @@ def createOrUpdateBranchesFromOrigin(localRefPrefix = "refs/remotes/p4/", silent
def originP4BranchesExist():
return gitBranchExists("origin") or gitBranchExists("origin/p4") or gitBranchExists("origin/p4/master")

def p4ChangesForPaths(depotPaths, changeRange):
assert depotPaths
output = read_pipe_lines("p4 changes " + ' '.join (["%s...%s" % (p, changeRange)
for p in depotPaths]))

changes = []
for line in output:
changeNum = line.split(" ")[1]
changes.append(int(changeNum))

changes.sort()
return changes

class Command:
def __init__(self):
self.usage = "usage: %prog [options]"
Expand Down Expand Up @@ -1322,15 +1335,7 @@ class P4Sync(Command):
if self.verbose:
print "Getting p4 changes for %s...%s" % (', '.join(self.depotPaths),
self.changeRange)
assert self.depotPaths
output = read_pipe_lines("p4 changes " + ' '.join (["%s...%s" % (p, self.changeRange)
for p in self.depotPaths]))

for line in output:
changeNum = line.split(" ")[1]
changes.append(int(changeNum))

changes.sort()
changes = p4ChangesForPaths(self.depotPaths, self.changeRange)

if len(self.maxChanges) > 0:
changes = changes[:min(int(self.maxChanges), len(changes))]
Expand Down

0 comments on commit 4f6432d

Please sign in to comment.