mirror of
https://github.com/python/cpython.git
synced 2025-10-13 18:33:34 +00:00
Fix comment to add the all-important trailing colon to the example.
Print the author with the revision date and filename.
This commit is contained in:
parent
dc1a072e02
commit
9971f689cb
1 changed files with 16 additions and 9 deletions
|
@ -4,10 +4,11 @@
|
||||||
|
|
||||||
Input should be the output of a CVS or RCS logging command, e.g.
|
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
|
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
|
This collects all the revision records and outputs them sorted by date
|
||||||
rather than by file, collapsing duplicate revision record, i.e.,
|
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
|
command, which shows the revisions including the given tag, while you
|
||||||
probably want everything *since* that tag.
|
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]
|
dateline = lines[1]
|
||||||
text = lines[2:]
|
text = lines[2:]
|
||||||
words = string.split(dateline)
|
words = string.split(dateline)
|
||||||
|
author = None
|
||||||
if len(words) >= 3 and words[0] == 'date:':
|
if len(words) >= 3 and words[0] == 'date:':
|
||||||
dateword = words[1]
|
dateword = words[1]
|
||||||
timeword = words[2]
|
timeword = words[2]
|
||||||
if timeword[-1:] == ';':
|
if timeword[-1:] == ';':
|
||||||
timeword = timeword[:-1]
|
timeword = timeword[:-1]
|
||||||
date = dateword + ' ' + timeword
|
date = dateword + ' ' + timeword
|
||||||
|
if len(words) >= 5 and words[3] == 'author:':
|
||||||
|
author = words[4]
|
||||||
|
if author[-1:] == ';':
|
||||||
|
author = author[:-1]
|
||||||
else:
|
else:
|
||||||
date = None
|
date = None
|
||||||
text.insert(0, revline)
|
text.insert(0, revline)
|
||||||
|
@ -103,22 +110,22 @@ def digest_chunk(chunk):
|
||||||
else:
|
else:
|
||||||
rev = None
|
rev = None
|
||||||
text.insert(0, revline)
|
text.insert(0, revline)
|
||||||
records.append((date, working_file, rev, text))
|
records.append((date, working_file, rev, author, text))
|
||||||
return records
|
return records
|
||||||
|
|
||||||
def format_output(database):
|
def format_output(database):
|
||||||
prevtext = None
|
prevtext = None
|
||||||
prev = []
|
prev = []
|
||||||
database.append((None, None, None, None)) # Sentinel
|
database.append((None, None, None, None, None)) # Sentinel
|
||||||
for (date, working_file, rev, text) in database:
|
for (date, working_file, rev, author, text) in database:
|
||||||
if text != prevtext:
|
if text != prevtext:
|
||||||
if prev:
|
if prev:
|
||||||
print sep2,
|
print sep2,
|
||||||
for (p_date, p_working_file, p_rev) in prev:
|
for (p_date, p_working_file, p_rev, p_author) in prev:
|
||||||
print p_date, p_working_file
|
print p_date, p_author, p_working_file
|
||||||
sys.stdout.writelines(prevtext)
|
sys.stdout.writelines(prevtext)
|
||||||
prev = []
|
prev = []
|
||||||
prev.append((date, working_file, rev))
|
prev.append((date, working_file, rev, author))
|
||||||
prevtext = text
|
prevtext = text
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue