diff options
author | Carsten Dominik <carsten.dominik@gmail.com> | 2010-07-07 08:37:11 +0200 |
---|---|---|
committer | Carsten Dominik <carsten.dominik@gmail.com> | 2010-07-07 08:37:11 +0200 |
commit | 28731855f7fbebea3a122fd85490269b839322d0 (patch) | |
tree | 38f0c2f20c0a9da70ed2b88a076705352939f8dc | |
parent | f34f0b9b39322d93d9eefa1f4375f67335bcacf9 (diff) | |
download | org-mode-28731855f7fbebea3a122fd85490269b839322d0.tar.gz |
Update git-changelog by John Wiegley
-rwxr-xr-x | UTILITIES/git-changelog | 31 |
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 |