提交 6ae8de88 编写于 作者: S Simon Hausmann

Added some helper function(s) to parse the depot path and change number from the log message

Signed-off-by: NSimon Hausmann <simon@lst.de>
上级 f5816a55
......@@ -52,12 +52,44 @@ def system(cmd):
if os.system(cmd) != 0:
die("command failed: %s" % cmd)
def extractLogMessageFromGitCommit(commit):
logMessage = ""
foundTitle = False
for log in os.popen("git-cat-file commit %s" % commit).readlines():
if not foundTitle:
if len(log) == 1:
foundTitle = 1
continue
logMessage += log
return logMessage
def extractDepotPathAndChangeFromGitLog(log):
values = {}
for line in log.split("\n"):
line = line.strip()
if line.startswith("[git-p4:") and line.endswith("]"):
line = line[8:-1].strip()
for assignment in line.split(":"):
variable = assignment.strip()
value = ""
equalPos = assignment.find("=")
if equalPos != -1:
variable = assignment[:equalPos].strip()
value = assignment[equalPos + 1:].strip()
if value.startswith("\"") and value.endswith("\""):
value = value[1:-1]
values[variable] = value
return values.get("depot-path"), values.get("change")
class Command:
def __init__(self):
self.usage = "usage: %prog [options]"
class P4Debug(Command):
def __init__(self):
Command.__init__(self)
self.options = [
]
self.description = "A tool to debug the output of p4 -G."
......@@ -208,17 +240,9 @@ class P4Sync(Command):
system("p4 revert %s" % f)
system("p4 delete %s" % f)
logMessage = ""
foundTitle = False
for log in os.popen("git-cat-file commit %s" % id).readlines():
if not foundTitle:
if len(log) == 1:
foundTitle = 1
continue
if len(logMessage) > 0:
logMessage += "\t"
logMessage += log
logMessage = extractLogMessageFromGitCommit(id)
logMessage = logMessage.replace("\n", "\n\t")
logMessage = logMessage[:-1]
template = os.popen("p4 change -o").read()
......@@ -506,7 +530,7 @@ class GitSync(Command):
self.gitStream.write("data <<EOT\n")
self.gitStream.write(details["desc"])
self.gitStream.write("\n[git-p4: depot-path: \"%s\"; change: %s]\n" % (branchPrefix, details["change"]))
self.gitStream.write("\n[git-p4: depot-path = \"%s\": change = %s]\n" % (branchPrefix, details["change"]))
self.gitStream.write("EOT\n\n")
if len(parent) > 0:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册