mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
hg log: Move filtering implicit parents to own method and use it in templater.
Extended test repo in test-command-template to contain changeset to test this.
This commit is contained in:
parent
a0ef6536ad
commit
898f48cc24
@ -758,14 +758,8 @@ class changeset_printer(object):
|
||||
|
||||
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 @@ class changeset_printer(object):
|
||||
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 @@ class changeset_templater(changeset_printer):
|
||||
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):
|
||||
|
@ -25,6 +25,11 @@ hg add d
|
||||
hg commit -m 'new head' -d '1500000 0' -u 'person'
|
||||
hg merge -q
|
||||
hg commit -m 'merge' -d '1500001 0' -u 'person'
|
||||
# second branch starting at nullrev
|
||||
hg update null
|
||||
echo second > second
|
||||
hg add second
|
||||
hg commit -m second -d '1000000 0' -u 'User Name <user@hostname>'
|
||||
|
||||
# make sure user/global hgrc does not affect tests
|
||||
echo '[ui]' > .hg/hgrc
|
||||
|
@ -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 @@ abort: ./t: no key named 'changeset'
|
||||
# error if include fails
|
||||
abort: template file ./q: Permission denied
|
||||
# include works
|
||||
7
|
||||
6
|
||||
5
|
||||
4
|
||||
@ -85,6 +96,7 @@ abort: template file ./q: Permission denied
|
||||
1
|
||||
0
|
||||
# ui.style works
|
||||
7
|
||||
6
|
||||
5
|
||||
4
|
||||
@ -93,10 +105,16 @@ abort: template file ./q: Permission denied
|
||||
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 @@ abort: template file ./q: Permission denied
|
||||
[1e4e1b8f71e0]
|
||||
|
||||
# keys work
|
||||
author: User Name <user@hostname>
|
||||
author: person
|
||||
author: person
|
||||
author: person
|
||||
@ -141,6 +160,7 @@ author: person
|
||||
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: person
|
||||
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: A. N. Other <other@place>
|
||||
author--debug: User Name <user@hostname>
|
||||
branches:
|
||||
branches:
|
||||
branches:
|
||||
branches: foo
|
||||
branches:
|
||||
branches:
|
||||
@ -164,6 +186,7 @@ branches:
|
||||
branches:
|
||||
branches--verbose:
|
||||
branches--verbose:
|
||||
branches--verbose:
|
||||
branches--verbose: foo
|
||||
branches--verbose:
|
||||
branches--verbose:
|
||||
@ -171,11 +194,13 @@ branches--verbose:
|
||||
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: 1300000.00
|
||||
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: 1300000.00
|
||||
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: 1300000.00
|
||||
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 2
|
||||
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 2
|
||||
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,7 @@ file_adds:
|
||||
file_adds:
|
||||
file_adds:
|
||||
file_adds:
|
||||
file_adds:
|
||||
file_adds--verbose:
|
||||
file_adds--verbose:
|
||||
file_adds--verbose:
|
||||
@ -244,6 +275,8 @@ file_adds--verbose:
|
||||
file_adds--verbose:
|
||||
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,8 @@ file_dels:
|
||||
file_dels:
|
||||
file_dels:
|
||||
file_dels:
|
||||
file_dels:
|
||||
file_dels--verbose:
|
||||
file_dels--verbose:
|
||||
file_dels--verbose:
|
||||
file_dels--verbose:
|
||||
@ -272,6 +307,8 @@ file_dels--debug:
|
||||
file_dels--debug:
|
||||
file_dels--debug:
|
||||
file_dels--debug:
|
||||
file_dels--debug:
|
||||
files: second
|
||||
files:
|
||||
files: d
|
||||
files:
|
||||
@ -279,6 +316,7 @@ files: c
|
||||
files: c
|
||||
files: b
|
||||
files: a
|
||||
files--verbose: second
|
||||
files--verbose:
|
||||
files--verbose: d
|
||||
files--verbose:
|
||||
@ -289,6 +327,7 @@ files--verbose: a
|
||||
files--debug:
|
||||
files--debug:
|
||||
files--debug:
|
||||
files--debug:
|
||||
files--debug: c
|
||||
files--debug:
|
||||
files--debug:
|
||||
@ -300,6 +339,7 @@ manifest:
|
||||
manifest:
|
||||
manifest:
|
||||
manifest:
|
||||
manifest:
|
||||
manifest--verbose:
|
||||
manifest--verbose:
|
||||
manifest--verbose:
|
||||
@ -307,6 +347,8 @@ manifest--verbose:
|
||||
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: 3:cb5a1327723bada42f117e4c55a303246eaf9ccc
|
||||
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: 10e46f2dcbf4823578cf180f33ecf0b957964c47
|
||||
node: 97054abb4ab824450e9164180baf491ae0078465
|
||||
node: b608e9d1a3f0273ccf70fb85fd6866b3482bf965
|
||||
node: 1e4e1b8f71e05681d422154f5421e385fec3454f
|
||||
node--verbose: 29114dbae42b9f078cf2714dbe3a86bba8ec7453
|
||||
node--verbose: c7b487c6c50ef1cf464cafdc4f4f5e615fc5999f
|
||||
node--verbose: 13207e5a10d9fd28ec424934298e176197f2c67f
|
||||
node--verbose: 32a18f097fcccf76ef282f62f8a85b3adf8d13c4
|
||||
@ -328,6 +372,7 @@ node--verbose: 10e46f2dcbf4823578cf180f33ecf0b957964c47
|
||||
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: 10e46f2dcbf4823578cf180f33ecf0b957964c47
|
||||
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:
|
||||
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--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: 2:97054abb4ab824450e9164180baf491ae0078465 -1:000000000000000000
|
||||
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: 3
|
||||
rev: 2
|
||||
rev: 1
|
||||
rev: 0
|
||||
rev--verbose: 7
|
||||
rev--verbose: 6
|
||||
rev--verbose: 5
|
||||
rev--verbose: 4
|
||||
@ -370,6 +420,7 @@ rev--verbose: 3
|
||||
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:
|
||||
tags--verbose: tip
|
||||
tags--verbose:
|
||||
tags--verbose:
|
||||
@ -391,6 +443,7 @@ tags--verbose:
|
||||
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:
|
||||
tags--debug:
|
||||
# filters work
|
||||
hostname
|
||||
|
||||
|
||||
|
||||
@ -406,6 +461,7 @@ tags--debug:
|
||||
place
|
||||
place
|
||||
hostname
|
||||
User Name
|
||||
person
|
||||
person
|
||||
person
|
||||
@ -413,6 +469,7 @@ person
|
||||
other
|
||||
A. N. Other
|
||||
User Name
|
||||
user
|
||||
person
|
||||
person
|
||||
person
|
||||
@ -420,6 +477,7 @@ person
|
||||
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 @@ Fri Jan 16 01:06:40 1970 +0000
|
||||
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 @@ Mon Jan 12 13:46:40 1970 +0000
|
||||
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 @@ Fri, 16 Jan 1970 01:06:40 +0000
|
||||
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 user, no domain
|
||||
no person
|
||||
other 1
|
||||
line 1
|
||||
29114dbae42b
|
||||
c7b487c6c50e
|
||||
13207e5a10d9
|
||||
32a18f097fcc
|
||||
|
Loading…
Reference in New Issue
Block a user