From 9971f689cbce2c7ce3241aed4af0f8455836fbea Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
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

