diff options
author | Guido van Rossum <guido@python.org> | 1997-10-06 21:09:32 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-10-06 21:09:32 (GMT) |
commit | 9971f689cbce2c7ce3241aed4af0f8455836fbea (patch) | |
tree | db3346a335b3f97676574e038dfa41f7ac1a71da /Tools | |
parent | dc1a072e02096480520020f0fa37f4d5995a8b43 (diff) | |
download | cpython-9971f689cbce2c7ce3241aed4af0f8455836fbea.zip cpython-9971f689cbce2c7ce3241aed4af0f8455836fbea.tar.gz cpython-9971f689cbce2c7ce3241aed4af0f8455836fbea.tar.bz2 |
Fix comment to add the all-important trailing colon to the example.
Print the author with the revision date and filename.
Diffstat (limited to 'Tools')
-rwxr-xr-x | Tools/scripts/logmerge.py | 25 |
1 files 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() |