print "%s tags removed." % len(allTags)
return True
-class P4Sync(Command):
+class P4Submit(Command):
def __init__(self):
Command.__init__(self)
self.options = [
return True
-class GitSync(Command):
+class P4Sync(Command):
def __init__(self):
Command.__init__(self)
self.options = [
optparse.make_option("--changesfile", dest="changesFile"),
optparse.make_option("--silent", dest="silent", action="store_true"),
optparse.make_option("--known-branches", dest="knownBranches"),
- optparse.make_option("--cache", dest="doCache", action="store_true"),
+ optparse.make_option("--data-cache", dest="dataCache", action="store_true"),
optparse.make_option("--command-cache", dest="commandCache", action="store_true")
]
self.description = """Imports from Perforce into a git repository.\n
if knownBranch:
continue
- for branch in knownBranches:
+ for branch in self.knownBranches:
#if relativePath.startswith(branch):
if self.isSubPathOf(relativePath, branch):
if len(branches) == 0:
def getLabels(self):
self.labels = {}
- for output in p4CmdList("labels %s..." % self.globalPrefix):
+ l = p4CmdList("labels %s..." % self.globalPrefix)
+ if len(l) > 0:
+ print "Finding files belonging to labels in %s" % self.globalPrefix
+
+ for output in l:
label = output["label"]
revisions = {}
newestChange = 0
return True
+class P4Rebase(Command):
+ def __init__(self):
+ Command.__init__(self)
+ self.options = [ ]
+ self.description = "Fetches the latest revision from perforce and rebases the current work (branch) against it"
+
+ def run(self, args):
+ sync = P4Sync()
+ sync.run([])
+ print "Rebasing the current branch"
+ system("git rebase p4")
+ return True
+
class HelpFormatter(optparse.IndentedHelpFormatter):
def __init__(self):
optparse.IndentedHelpFormatter.__init__(self)
commands = {
"debug" : P4Debug(),
"clean-tags" : P4CleanTags(),
- "submit" : P4Sync(),
- "sync" : GitSync()
+ "submit" : P4Submit(),
+ "sync" : P4Sync(),
+ "rebase" : P4Rebase()
}
if len(sys.argv[1:]) == 0: