summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-10-06 21:09:32 (GMT)
committerGuido van Rossum <guido@python.org>1997-10-06 21:09:32 (GMT)
commit9971f689cbce2c7ce3241aed4af0f8455836fbea (patch)
treedb3346a335b3f97676574e038dfa41f7ac1a71da /Tools
parentdc1a072e02096480520020f0fa37f4d5995a8b43 (diff)
downloadcpython-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-xTools/scripts/logmerge.py25
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()