--- a/mercurial/cmdutil.py Sun Jul 08 09:54:42 2007 +0200
+++ b/mercurial/cmdutil.py Sun Jul 08 12:59:58 2007 +0200
@@ -758,14 +758,8 @@
hexfunc = self.ui.debugflag and hex or short
- parents = log.parentrevs(rev)
- if not self.ui.debugflag:
- if parents[1] == nullrev:
- if parents[0] >= rev - 1:
- parents = []
- else:
- parents = [parents[0]]
- parents = [(p, hexfunc(log.node(p))) for p in parents]
+ parents = [(p, hexfunc(log.node(p)))
+ for p in self._meaningful_parentrevs(log, rev)]
self.ui.write(_("changeset: %d:%s\n") % (rev, hexfunc(changenode)))
@@ -823,6 +817,22 @@
opts=patch.diffopts(self.ui))
self.ui.write("\n")
+ def _meaningful_parentrevs(self, log, rev):
+ """Return list of meaningful (or all if debug) parentrevs for rev.
+
+ For merges (two non-nullrev revisions) both parents are meaningful.
+ Otherwise the first parent revision is considered meaningful if it
+ is not the preceding revision.
+ """
+ parents = log.parentrevs(rev)
+ if not self.ui.debugflag and parents[1] == nullrev:
+ if parents[0] >= rev - 1:
+ parents = []
+ else:
+ parents = [parents[0]]
+ return parents
+
+
class changeset_templater(changeset_printer):
'''format changeset information.'''
@@ -919,12 +929,8 @@
return showlist('branch', [branch], plural='branches', **args)
def showparents(**args):
- parents = [[('rev', log.rev(p)), ('node', hex(p))]
- for p in log.parents(changenode)
- if self.ui.debugflag or p != nullid]
- if (not self.ui.debugflag and len(parents) == 1 and
- parents[0][0][1] == rev - 1):
- return
+ parents = [[('rev', p), ('node', hex(log.node(p)))]
+ for p in self._meaningful_parentrevs(log, rev)]
return showlist('parent', parents, **args)
def showtags(**args):
@@ -966,7 +972,7 @@
'author': changes[1],
'branches': showbranches,
'date': changes[2],
- 'desc': changes[4],
+ 'desc': changes[4].strip(),
'file_adds': showadds,
'file_dels': showdels,
'files': showfiles,
--- a/tests/test-command-template.out Sun Jul 08 09:54:42 2007 +0200
+++ b/tests/test-command-template.out Sun Jul 08 12:59:58 2007 +0200
@@ -1,3 +1,4 @@
+0 files updated, 0 files merged, 4 files removed, 0 files unresolved
# default style is like normal output
# normal
# verbose
@@ -5,7 +6,10 @@
# revision with no copies (used to print a traceback)
# compact style works
-6[tip]:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person
+7[tip]:-1 29114dbae42b 1970-01-12 13:46 +0000 user
+ second
+
+6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person
merge
5:3 13207e5a10d9 1970-01-18 08:40 +0000 person
@@ -26,7 +30,10 @@
0 1e4e1b8f71e0 1970-01-12 13:46 +0000 user
line 1
-6[tip]:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person
+7[tip]:-1 29114dbae42b 1970-01-12 13:46 +0000 user
+ second
+
+6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person
merge
5:3 13207e5a10d9 1970-01-18 08:40 +0000 person
@@ -47,7 +54,10 @@
0 1e4e1b8f71e0 1970-01-12 13:46 +0000 user
line 1
-6[tip]:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person
+7[tip]:-1,-1 29114dbae42b 1970-01-12 13:46 +0000 user
+ second
+
+6:5,4 c7b487c6c50e 1970-01-18 08:40 +0000 person
merge
5:3,-1 13207e5a10d9 1970-01-18 08:40 +0000 person
@@ -77,6 +87,7 @@
# error if include fails
abort: template file ./q: Permission denied
# include works
+7
6
5
4
@@ -85,6 +96,7 @@
1
0
# ui.style works
+7
6
5
4
@@ -93,10 +105,16 @@
1
0
# issue338
+1970-01-12 User Name <user@hostname>
+
+ * second:
+ second
+ [29114dbae42b] [tip]
+
1970-01-18 person <person>
* merge
- [c7b487c6c50e] [tip]
+ [c7b487c6c50e]
* d:
new head
@@ -134,6 +152,7 @@
[1e4e1b8f71e0]
# keys work
+author: User Name <user@hostname>
author: person
author: person
author: person
@@ -141,6 +160,7 @@
author: other@place
author: A. N. Other <other@place>
author: User Name <user@hostname>
+author--verbose: User Name <user@hostname>
author--verbose: person
author--verbose: person
author--verbose: person
@@ -148,6 +168,7 @@
author--verbose: other@place
author--verbose: A. N. Other <other@place>
author--verbose: User Name <user@hostname>
+author--debug: User Name <user@hostname>
author--debug: person
author--debug: person
author--debug: person
@@ -157,6 +178,7 @@
author--debug: User Name <user@hostname>
branches:
branches:
+branches:
branches: foo
branches:
branches:
@@ -164,6 +186,7 @@
branches:
branches--verbose:
branches--verbose:
+branches--verbose:
branches--verbose: foo
branches--verbose:
branches--verbose:
@@ -171,11 +194,13 @@
branches--verbose:
branches--debug:
branches--debug:
+branches--debug:
branches--debug: foo
branches--debug:
branches--debug:
branches--debug:
branches--debug:
+date: 1000000.00
date: 1500001.00
date: 1500000.00
date: 1400000.00
@@ -183,6 +208,7 @@
date: 1200000.00
date: 1100000.00
date: 1000000.00
+date--verbose: 1000000.00
date--verbose: 1500001.00
date--verbose: 1500000.00
date--verbose: 1400000.00
@@ -190,6 +216,7 @@
date--verbose: 1200000.00
date--verbose: 1100000.00
date--verbose: 1000000.00
+date--debug: 1000000.00
date--debug: 1500001.00
date--debug: 1500000.00
date--debug: 1400000.00
@@ -197,6 +224,7 @@
date--debug: 1200000.00
date--debug: 1100000.00
date--debug: 1000000.00
+desc: second
desc: merge
desc: new head
desc: new branch
@@ -208,6 +236,7 @@
other 3
desc: line 1
line 2
+desc--verbose: second
desc--verbose: merge
desc--verbose: new head
desc--verbose: new branch
@@ -219,6 +248,7 @@
other 3
desc--verbose: line 1
line 2
+desc--debug: second
desc--debug: merge
desc--debug: new head
desc--debug: new branch
@@ -237,6 +267,8 @@
file_adds:
file_adds:
file_adds:
+file_adds:
+file_adds--verbose:
file_adds--verbose:
file_adds--verbose:
file_adds--verbose:
@@ -244,6 +276,7 @@
file_adds--verbose:
file_adds--verbose:
file_adds--verbose:
+file_adds--debug: second
file_adds--debug:
file_adds--debug: d
file_adds--debug:
@@ -258,6 +291,7 @@
file_dels:
file_dels:
file_dels:
+file_dels:
file_dels--verbose:
file_dels--verbose:
file_dels--verbose:
@@ -265,6 +299,8 @@
file_dels--verbose:
file_dels--verbose:
file_dels--verbose:
+file_dels--verbose:
+file_dels--debug:
file_dels--debug:
file_dels--debug:
file_dels--debug:
@@ -272,6 +308,7 @@
file_dels--debug:
file_dels--debug:
file_dels--debug:
+files: second
files:
files: d
files:
@@ -279,6 +316,7 @@
files: c
files: b
files: a
+files--verbose: second
files--verbose:
files--verbose: d
files--verbose:
@@ -289,6 +327,7 @@
files--debug:
files--debug:
files--debug:
+files--debug:
files--debug: c
files--debug:
files--debug:
@@ -300,6 +339,7 @@
manifest:
manifest:
manifest:
+manifest:
manifest--verbose:
manifest--verbose:
manifest--verbose:
@@ -307,6 +347,8 @@
manifest--verbose:
manifest--verbose:
manifest--verbose:
+manifest--verbose:
+manifest--debug: 7:f2dbc354b94e5ec0b4f10680ee0cee816101d0bf
manifest--debug: 6:91015e9dbdd76a6791085d12b0a0ec7fcd22ffbf
manifest--debug: 5:4dc3def4f9b4c6e8de820f6ee74737f91e96a216
manifest--debug: 4:90ae8dda64e1a876c792bccb9af66284f6018363
@@ -314,6 +356,7 @@
manifest--debug: 2:6e0e82995c35d0d57a52aca8da4e56139e06b4b1
manifest--debug: 1:4e8d705b1e53e3f9375e0e60dc7b525d8211fe55
manifest--debug: 0:a0c8bcbbb45c63b90b70ad007bf38961f64f2af0
+node: 29114dbae42b9f078cf2714dbe3a86bba8ec7453
node: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f
node: 13207e5a10d9fd28ec424934298e176197f2c67f
node: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4
@@ -321,6 +364,7 @@
node: 97054abb4ab824450e9164180baf491ae0078465
node: b608e9d1a3f0273ccf70fb85fd6866b3482bf965
node: 1e4e1b8f71e05681d422154f5421e385fec3454f
+node--verbose: 29114dbae42b9f078cf2714dbe3a86bba8ec7453
node--verbose: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f
node--verbose: 13207e5a10d9fd28ec424934298e176197f2c67f
node--verbose: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4
@@ -328,6 +372,7 @@
node--verbose: 97054abb4ab824450e9164180baf491ae0078465
node--verbose: b608e9d1a3f0273ccf70fb85fd6866b3482bf965
node--verbose: 1e4e1b8f71e05681d422154f5421e385fec3454f
+node--debug: 29114dbae42b9f078cf2714dbe3a86bba8ec7453
node--debug: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f
node--debug: 13207e5a10d9fd28ec424934298e176197f2c67f
node--debug: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4
@@ -335,6 +380,7 @@
node--debug: 97054abb4ab824450e9164180baf491ae0078465
node--debug: b608e9d1a3f0273ccf70fb85fd6866b3482bf965
node--debug: 1e4e1b8f71e05681d422154f5421e385fec3454f
+parents: -1:000000000000
parents: 5:13207e5a10d9 4:32a18f097fcc
parents: 3:10e46f2dcbf4
parents:
@@ -342,6 +388,7 @@
parents:
parents:
parents:
+parents--verbose: -1:000000000000
parents--verbose: 5:13207e5a10d9 4:32a18f097fcc
parents--verbose: 3:10e46f2dcbf4
parents--verbose:
@@ -349,6 +396,7 @@
parents--verbose:
parents--verbose:
parents--verbose:
+parents--debug: -1:0000000000000000000000000000000000000000 -1:0000000000000000000000000000000000000000
parents--debug: 5:13207e5a10d9fd28ec424934298e176197f2c67f 4:32a18f097fcccf76ef282f62f8a85b3adf8d13c4
parents--debug: 3:10e46f2dcbf4823578cf180f33ecf0b957964c47 -1:0000000000000000000000000000000000000000
parents--debug: 3:10e46f2dcbf4823578cf180f33ecf0b957964c47 -1:0000000000000000000000000000000000000000
@@ -356,6 +404,7 @@
parents--debug: 1:b608e9d1a3f0273ccf70fb85fd6866b3482bf965 -1:0000000000000000000000000000000000000000
parents--debug: 0:1e4e1b8f71e05681d422154f5421e385fec3454f -1:0000000000000000000000000000000000000000
parents--debug: -1:0000000000000000000000000000000000000000 -1:0000000000000000000000000000000000000000
+rev: 7
rev: 6
rev: 5
rev: 4
@@ -363,6 +412,7 @@
rev: 2
rev: 1
rev: 0
+rev--verbose: 7
rev--verbose: 6
rev--verbose: 5
rev--verbose: 4
@@ -370,6 +420,7 @@
rev--verbose: 2
rev--verbose: 1
rev--verbose: 0
+rev--debug: 7
rev--debug: 6
rev--debug: 5
rev--debug: 4
@@ -384,6 +435,7 @@
tags:
tags:
tags:
+tags:
tags--verbose: tip
tags--verbose:
tags--verbose:
@@ -391,6 +443,7 @@
tags--verbose:
tags--verbose:
tags--verbose:
+tags--verbose:
tags--debug: tip
tags--debug:
tags--debug:
@@ -398,7 +451,9 @@
tags--debug:
tags--debug:
tags--debug:
+tags--debug:
# filters work
+hostname
@@ -406,6 +461,7 @@
place
place
hostname
+User Name
person
person
person
@@ -413,6 +469,7 @@
other
A. N. Other
User Name
+user
person
person
person
@@ -420,6 +477,7 @@
other
other
user
+Mon Jan 12 13:46:40 1970 +0000
Sun Jan 18 08:40:01 1970 +0000
Sun Jan 18 08:40:00 1970 +0000
Sat Jan 17 04:53:20 1970 +0000
@@ -427,6 +485,7 @@
Wed Jan 14 21:20:00 1970 +0000
Tue Jan 13 17:33:20 1970 +0000
Mon Jan 12 13:46:40 1970 +0000
+1970-01-12 13:46 +0000
1970-01-18 08:40 +0000
1970-01-18 08:40 +0000
1970-01-17 04:53 +0000
@@ -434,6 +493,7 @@
1970-01-14 21:20 +0000
1970-01-13 17:33 +0000
1970-01-12 13:46 +0000
+Mon, 12 Jan 1970 13:46:40 +0000
Sun, 18 Jan 1970 08:40:01 +0000
Sun, 18 Jan 1970 08:40:00 +0000
Sat, 17 Jan 1970 04:53:20 +0000
@@ -441,6 +501,7 @@
Wed, 14 Jan 1970 21:20:00 +0000
Tue, 13 Jan 1970 17:33:20 +0000
Mon, 12 Jan 1970 13:46:40 +0000
+second
merge
new head
new branch
@@ -448,6 +509,7 @@
no person
other 1
line 1
+29114dbae42b
c7b487c6c50e
13207e5a10d9
32a18f097fcc