summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Hausmann <simon@lst.de>2008-02-19 08:29:06 (GMT)
committerSimon Hausmann <simon@lst.de>2008-02-27 15:27:03 (GMT)
commitedae1e2f407d0e9c6c92333047bc31b27bfdd58f (patch)
tree39fc31647e95cdf2082b8f93f60221dc84dd6aac
parent4b61b5c963ad1fd59e858c2bc21b1b48836f04f8 (diff)
downloadgit-edae1e2f407d0e9c6c92333047bc31b27bfdd58f.zip
git-edae1e2f407d0e9c6c92333047bc31b27bfdd58f.tar.gz
git-edae1e2f407d0e9c6c92333047bc31b27bfdd58f.tar.bz2
git-p4: Clean up git-p4 submit's log message handling.
Instead of trying to substitute fields in the p4 submit template we now simply replace the description of the submit with the log message of the git commit. Signed-off-by: Simon Hausmann <simon@lst.de>
-rwxr-xr-xcontrib/fast-import/git-p432
1 files changed, 16 insertions, 16 deletions
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index f2a6059..e55a41b 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -483,10 +483,6 @@ class P4Submit(Command):
self.verbose = False
self.isWindows = (platform.system() == "Windows")
- self.logSubstitutions = {}
- self.logSubstitutions["<enter description here>"] = "%log%"
- self.logSubstitutions["\tDetails:"] = "\tDetails: %log%"
-
def check(self):
if len(p4CmdList("opened ...")) > 0:
die("You have files opened with perforce! Close them before starting the sync.")
@@ -507,26 +503,31 @@ class P4Submit(Command):
self.config["commits"] = commits
+ # replaces everything between 'Description:' and the next P4 submit template field with the
+ # commit message
def prepareLogMessage(self, template, message):
result = ""
+ inDescriptionSection = False
+
for line in template.split("\n"):
if line.startswith("#"):
result += line + "\n"
continue
- substituted = False
- for key in self.logSubstitutions.keys():
- if line.find(key) != -1:
- value = self.logSubstitutions[key]
- value = value.replace("%log%", message)
- if value != "@remove@":
- result += line.replace(key, value) + "\n"
- substituted = True
- break
+ if inDescriptionSection:
+ if line.startswith("Files:"):
+ inDescriptionSection = False
+ else:
+ continue
+ else:
+ if line.startswith("Description:"):
+ inDescriptionSection = True
+ line += "\n"
+ for messageLine in message.split("\n"):
+ line += "\t" + messageLine + "\n"
- if not substituted:
- result += line + "\n"
+ result += line + "\n"
return result
@@ -650,7 +651,6 @@ class P4Submit(Command):
logMessage = ""
if not self.directSubmit:
logMessage = extractLogMessageFromGitCommit(id)
- logMessage = logMessage.replace("\n", "\n\t")
if self.isWindows:
logMessage = logMessage.replace("\n", "\r\n")
logMessage = logMessage.strip()