summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Dominik <carsten.dominik@gmail.com>2010-07-07 08:37:11 +0200
committerCarsten Dominik <carsten.dominik@gmail.com>2010-07-07 08:37:11 +0200
commit28731855f7fbebea3a122fd85490269b839322d0 (patch)
tree38f0c2f20c0a9da70ed2b88a076705352939f8dc
parentf34f0b9b39322d93d9eefa1f4375f67335bcacf9 (diff)
downloadorg-mode-28731855f7fbebea3a122fd85490269b839322d0.tar.gz
Update git-changelog by John Wiegley
-rwxr-xr-xUTILITIES/git-changelog31
1 files changed, 27 insertions, 4 deletions
diff --git a/UTILITIES/git-changelog b/UTILITIES/git-changelog
index e15374a..85c5f79 100755
--- a/UTILITIES/git-changelog
+++ b/UTILITIES/git-changelog
@@ -52,19 +52,42 @@ for commit in repo.iter_commits(ref, paths=path):
diff = commit.diff(commit.parents[0])
files = []
for f in diff:
- p = f.a_blob.path or f.b_blob.path
+ if not f.a_blob:
+ p = f.b_blob.path
+ elif not f.b_blob:
+ p = f.a_blob.path
+ else:
+ continue
+
p2 = re.sub('^' + path + '/', '', p)
if p != p2:
files.append(p2)
fp = Popen(["fmt", "-72"], shell = True, stdin = PIPE, stdout = PIPE)
- fp.stdin.write("\t* %s: %s" % (string.join(files, ",\n\t"), log_text))
+ if files:
+ fp.stdin.write("\t* %s: %s" % (string.join(files, ",\n\t"), log_text))
+ else:
+ fp.stdin.write("\t* %s" % log_text)
fp.stdin.close()
log_text = fp.stdout.read()
del fp
- print "%s %s <%s>\n\n%s%s" % \
+ print "%s %s <%s>\n" % \
(time.strftime("%Y-%m-%d", time.gmtime(date)),
- author.name, author.email, log_text, log_text_remainder)
+ author.name, author.email)
+
+ if path:
+ log_text = re.sub(' ' + path + '/', ' ', log_text)
+ log_text_remainder = re.sub(' ' + path + '/', ' ', log_text_remainder)
+
+ # If the log_text_remainder already begins with a *, then use that as the
+ # changelog text.
+ if re.match('\s+\* ', log_text_remainder):
+ if log_text_remainder[0] == '\n':
+ print log_text_remainder[1:]
+ else:
+ print log_text_remainder
+ else:
+ print "%s%s" % (log_text, log_text_remainder)
# git-changelog ends here