sys.exit(1)
def currentGitBranch():
- return os.popen("git-name-rev HEAD").read().split(" ")[1][:-1]
+ return os.popen("git name-rev HEAD").read().split(" ")[1][:-1]
def isValidGitDir(path):
if os.path.exists(path + "/HEAD") and os.path.exists(path + "/refs") and os.path.exists(path + "/objects"):
def extractLogMessageFromGitCommit(commit):
logMessage = ""
foundTitle = False
- for log in os.popen("git-cat-file commit %s" % commit).readlines():
+ for log in os.popen("git cat-file commit %s" % commit).readlines():
if not foundTitle:
if len(log) == 1:
foundTitle = 1
return values.get("depot-path"), values.get("change")
def gitBranchExists(branch):
- if os.system("git-rev-parse %s 2>/dev/null >/dev/null" % branch) == 0:
+ if os.system("git rev-parse %s 2>/dev/null >/dev/null" % branch) == 0:
return True
return False
class Command:
def __init__(self):
self.usage = "usage: %prog [options]"
+ self.needsGit = True
class P4Debug(Command):
def __init__(self):
self.options = [
]
self.description = "A tool to debug the output of p4 -G."
+ self.needsGit = False
def run(self, args):
for output in p4CmdList(" ".join(args)):
def run(self, args):
branch = currentGitBranch()
print "Cleaning out stale p4 import tags..."
- sout, sin, serr = popen2.popen3("git-name-rev --tags `git-rev-parse %s`" % branch)
+ sout, sin, serr = popen2.popen3("git name-rev --tags `git rev-parse %s`" % branch)
output = sout.read()
try:
tagIdx = output.index(" tags/p4/")
die("Cannot start sync. Previous sync config found at %s" % self.configFile)
commits = []
- for line in os.popen("git-rev-list --no-merges %s..%s" % (self.origin, self.master)).readlines():
+ for line in os.popen("git rev-list --no-merges %s..%s" % (self.origin, self.master)).readlines():
commits.append(line[:-1])
commits.reverse()
return result
def apply(self, id):
- print "Applying %s" % (os.popen("git-log --max-count=1 --pretty=oneline %s" % id).read())
+ print "Applying %s" % (os.popen("git log --max-count=1 --pretty=oneline %s" % id).read())
diff = os.popen("git diff-tree -r --name-status \"%s^\" \"%s\"" % (id, id)).readlines()
filesToAdd = set()
filesToDelete = set()
die("unknown modifier %s for %s" % (modifier, path))
if self.applyAsPatch:
- system("git-diff-tree -p --diff-filter=ACMRTUXB \"%s^\" \"%s\" | patch -p1" % (id, id))
+ system("git diff-tree -p --diff-filter=ACMRTUXB \"%s^\" \"%s\" | patch -p1" % (id, id))
else:
- system("git-diff-files --name-only -z | git-update-index --remove -z --stdin")
+ system("git diff-files --name-only -z | git update-index --remove -z --stdin")
system("git cherry-pick --no-commit \"%s\"" % id)
for f in filesToAdd:
self.branch = "refs/heads/" + self.branch
if len(self.globalPrefix) == 0:
- self.globalPrefix = self.previousDepotPath = os.popen("git-repo-config --get p4.depotpath").read()
+ self.globalPrefix = self.previousDepotPath = os.popen("git repo-config --get p4.depotpath").read()
if len(self.globalPrefix) != 0:
self.globalPrefix = self.globalPrefix[:-1]
if len(self.changeRange) == 0:
try:
- sout, sin, serr = popen2.popen3("git-name-rev --tags `git-rev-parse %s`" % self.branch)
+ 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]
endPos = caretIdx
self.rev = int(output[tagIdx + 9 : endPos]) + 1
self.changeRange = "@%s,#head" % self.rev
- self.initialParent = os.popen("git-rev-parse %s" % self.branch).read()[:-1]
+ self.initialParent = os.popen("git rev-parse %s" % self.branch).read()[:-1]
self.initialTag = "p4/%s" % (int(self.rev) - 1)
except:
pass
if tzsign != '+' and tzsign != '-':
self.tz = "+" + ("%s" % self.tz)
- self.gitOutput, self.gitStream, self.gitError = popen2.popen3("git-fast-import")
+ self.gitOutput, self.gitStream, self.gitError = popen2.popen3("git fast-import")
if len(self.revision) > 0:
print "Doing initial import of %s from revision %s" % (self.globalPrefix, self.revision)
self.gitOutput.close()
self.gitError.close()
- os.popen("git-repo-config p4.depotpath %s" % self.globalPrefix).read()
+ os.popen("git repo-config p4.depotpath %s" % self.globalPrefix).read()
if len(self.initialTag) > 0:
os.popen("git tag -d %s" % self.initialTag).read()
options = cmd.options
cmd.gitdir = gitdir
-options.append(optparse.make_option("--git-dir", dest="gitdir"))
-parser = optparse.OptionParser(cmd.usage.replace("%prog", "%prog " + cmdName),
- options,
- description = cmd.description,
- formatter = HelpFormatter())
+args = sys.argv[2:]
-(cmd, args) = parser.parse_args(sys.argv[2:], cmd);
+if len(options) > 0:
+ options.append(optparse.make_option("--git-dir", dest="gitdir"))
-gitdir = cmd.gitdir
-if len(gitdir) == 0:
- gitdir = ".git"
- if not isValidGitDir(gitdir):
- cdup = os.popen("git-rev-parse --show-cdup").read()[:-1]
- if isValidGitDir(cdup + "/" + gitdir):
- os.chdir(cdup)
+ parser = optparse.OptionParser(cmd.usage.replace("%prog", "%prog " + cmdName),
+ options,
+ description = cmd.description,
+ formatter = HelpFormatter())
+
+ (cmd, args) = parser.parse_args(sys.argv[2:], cmd);
+
+if cmd.needsGit:
+ gitdir = cmd.gitdir
+ if len(gitdir) == 0:
+ gitdir = ".git"
+ if not isValidGitDir(gitdir):
+ cdup = os.popen("git rev-parse --show-cdup").read()[:-1]
+ if isValidGitDir(cdup + "/" + gitdir):
+ os.chdir(cdup)
-if not isValidGitDir(gitdir):
- if isValidGitDir(gitdir + "/.git"):
- gitdir += "/.git"
- else:
- die("fatal: cannot locate git repository at %s" % gitdir)
+ if not isValidGitDir(gitdir):
+ if isValidGitDir(gitdir + "/.git"):
+ gitdir += "/.git"
+ else:
+ die("fatal: cannot locate git repository at %s" % gitdir)
-os.environ["GIT_DIR"] = gitdir
+ os.environ["GIT_DIR"] = gitdir
if not cmd.run(args):
parser.print_help()