From 9971f689cbce2c7ce3241aed4af0f8455836fbea Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 6 Oct 1997 21:09:32 +0000 Subject: Fix comment to add the all-important trailing colon to the example. Print the author with the revision date and filename. --- Tools/scripts/logmerge.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/Tools/scripts/logmerge.py b/Tools/scripts/logmerge.py index f74d4f9..51a5627 100755 --- a/Tools/scripts/logmerge.py +++ b/Tools/scripts/logmerge.py @@ -4,10 +4,11 @@ Input should be the output of a CVS or RCS logging command, e.g. - cvs log -rrelease14 + cvs log -rrelease14: which dumps all log messages from release1.4 upwards (assuming that -release 1.4 was tagged with tag 'release14'). +release 1.4 was tagged with tag 'release14'). Note the trailing +colon! This collects all the revision records and outputs them sorted by date rather than by file, collapsing duplicate revision record, i.e., @@ -18,7 +19,8 @@ entry; this is useful when using something like the above cvs log command, which shows the revisions including the given tag, while you probably want everything *since* that tag. -XXX This code was created by reverse engineering CVS 1.9 and RCS 5.7. +XXX This code was created by reverse engineering CVS 1.9 and RCS 5.7 +from their output. """ @@ -88,12 +90,17 @@ def digest_chunk(chunk): dateline = lines[1] text = lines[2:] words = string.split(dateline) + author = None if len(words) >= 3 and words[0] == 'date:': dateword = words[1] timeword = words[2] if timeword[-1:] == ';': timeword = timeword[:-1] date = dateword + ' ' + timeword + if len(words) >= 5 and words[3] == 'author:': + author = words[4] + if author[-1:] == ';': + author = author[:-1] else: date = None text.insert(0, revline) @@ -103,22 +110,22 @@ def digest_chunk(chunk): else: rev = None text.insert(0, revline) - records.append((date, working_file, rev, text)) + records.append((date, working_file, rev, author, text)) return records def format_output(database): prevtext = None prev = [] - database.append((None, None, None, None)) # Sentinel - for (date, working_file, rev, text) in database: + database.append((None, None, None, None, None)) # Sentinel + for (date, working_file, rev, author, text) in database: if text != prevtext: if prev: print sep2, - for (p_date, p_working_file, p_rev) in prev: - print p_date, p_working_file + for (p_date, p_working_file, p_rev, p_author) in prev: + print p_date, p_author, p_working_file sys.stdout.writelines(prevtext) prev = [] - prev.append((date, working_file, rev)) + prev.append((date, working_file, rev, author)) prevtext = text main() -- cgit v0.12