@@ -31,7 +31,9 @@
PARENT = 'P'
GRANDPARENT = 'G'
MISSINGPARENT = 'M'
-EDGES = {PARENT: '|', GRANDPARENT: ':', MISSINGPARENT: '.'}
+# Style of line to draw. None signals a line that ends and is removed at this
+# point.
+EDGES = {PARENT: '|', GRANDPARENT: ':', MISSINGPARENT: None}
def groupbranchiter(revs, parentsfunc, firstbranch=()):
"""Yield revisions from heads to roots one (topo) branch at a time.
@@ -483,6 +485,47 @@
line.extend(echars[-(remainder * 2):])
return line
+def _drawendinglines(lines, extra, edgemap, seen):
+ """Draw ending lines for missing parent edges
+
+ None indicates an edge that ends at between this node and the next
+ Replace with a short line ending in ~ and add / lines to any edges to
+ the right.
+
+ """
+ if None not in edgemap.values():
+ return
+
+ # Check for more edges to the right of our ending edge.
+ # We need enough space to draw adjustment lines for these.
+ shift_size = sum(c is not None
+ for c in extra[extra.index(None) + 2::2])
+ while len(lines) < 3 + shift_size:
+ lines.append(extra[:])
+
+ for i in range(len(lines) - shift_size, len(lines)):
+ line = lines[i]
+ while None in line:
+ index = line.index(None)
+ line[index:index + 2] = []
+ line[index:] = ['/' if c == ' ' else ' ' for c in line[index:]]
+ line.extend(' ' * shift_size)
+ # copy to the next to ensure a smooth joining line.
+ if i < len(lines) - 1:
+ lines[i + 1] = line[:]
+
+ map = {1: '|', 2: '~'}
+ for i, line in enumerate(lines):
+ if None not in line:
+ continue
+ line[:] = [c or map.get(i, ' ') for c in line]
+
+ # remove edges that ended
+ remove = [p for p, c in edgemap.items() if c is None]
+ for parent in remove:
+ del edgemap[parent]
+ seen.remove(parent)
+
def asciistate():
"""returns the initial value for the "state" argument to ascii()"""
return {'seen': [], 'edges': {}, 'lastcoldiff': 0, 'lastindex': 0}
@@ -576,12 +619,15 @@
# make sure that there are as many graph lines as there are
# log strings
+ extra_interline = echars[:(ncols + coldiff) * 2]
+ if len(lines) < len(text):
+ while len(lines) < len(text):
+ lines.append(extra_interline[:])
+
+ _drawendinglines(lines, extra_interline, edgemap, seen)
+
while len(text) < len(lines):
text.append("")
- if len(lines) < len(text):
- extra_interline = echars[:(ncols + coldiff) * 2]
- while len(lines) < len(text):
- lines.append(extra_interline)
# print lines
indentation_level = max(ncols, ncols + coldiff)
@@ -539,11 +539,11 @@
| babar
|
| o 12:0 2647734878ef 1970-01-01 00:00 +0000 test
- | . fork
- | .
- o . 11 3334b7925910 1970-01-01 00:00 +0000 test
- . . a''
- . .
+ | | fork
+ | ~
+ o 11 3334b7925910 1970-01-01 00:00 +0000 test
+ | a''
+ ~
$ hg log -Gl 4 --hidden --style=compact
@ 14[tip]:11 b650e6ee8614 1970-01-01 00:00 +0000 test
| babar
@@ -552,11 +552,11 @@
|/ amend for phase
|
| o 12:0 2647734878ef 1970-01-01 00:00 +0000 test
- | . fork
- | .
- o . 11 3334b7925910 1970-01-01 00:00 +0000 test
- . . a''
- . .
+ | | fork
+ | ~
+ o 11 3334b7925910 1970-01-01 00:00 +0000 test
+ | a''
+ ~
Amend with files changes
@@ -579,11 +579,11 @@
|/ amend for phase
|
| o 12:0 2647734878ef 1970-01-01 00:00 +0000 test
- | . fork
- | .
- o . 11 3334b7925910 1970-01-01 00:00 +0000 test
- . . a''
- . .
+ | | fork
+ | ~
+ o 11 3334b7925910 1970-01-01 00:00 +0000 test
+ | a''
+ ~
Test that amend does not make it easy to create obsolescence cycle
@@ -370,7 +370,8 @@
| o 7 e6d364a69ff1 (draft) "change in dest" files: dest
|/
o 6 0613c8e59a3d (public) "6: change a" files: a
- .
+ |
+ ~
$ cd ..
$ hg convert --filemap filemap source dest --config convert.hg.revs=3:
@@ -954,179 +954,180 @@
| :
o : changeset: 30:6e11cd4b648f
|\ \ parent: 28:44ecd0b9ae99
- | . : parent: 29:cd9bb2be7593
- | . : user: test
- | . : date: Thu Jan 01 00:00:30 1970 +0000
- | . : summary: (30) expand
- | . :
- o . : changeset: 28:44ecd0b9ae99
- |\ \ \ parent: 1:6db2ef61d156
- | . . : parent: 26:7f25b6c2f0b9
- | . . : user: test
- | . . : date: Thu Jan 01 00:00:28 1970 +0000
- | . . : summary: (28) merge zero known
- | . . :
- o . . : changeset: 26:7f25b6c2f0b9
- |\ \ \ \ parent: 18:1aa84d96232a
- | | . . : parent: 25:91da8ed57247
- | | . . : user: test
- | | . . : date: Thu Jan 01 00:00:26 1970 +0000
- | | . . : summary: (26) merge one known; far right
- | | . . :
- | o-----+ changeset: 25:91da8ed57247
- | | . . : parent: 21:d42a756af44d
- | | . . : parent: 24:a9c19a3d96b7
- | | . . : user: test
- | | . . : date: Thu Jan 01 00:00:25 1970 +0000
- | | . . : summary: (25) merge one known; far left
- | | . . :
- | o . . : changeset: 24:a9c19a3d96b7
- | |\ \ \ \ parent: 0:e6eb3150255d
- | | . . . : parent: 23:a01cddf0766d
- | | . . . : user: test
- | | . . . : date: Thu Jan 01 00:00:24 1970 +0000
- | | . . . : summary: (24) merge one known; immediate right
- | | . . . :
- | o---+ . : changeset: 23:a01cddf0766d
- | | . . . : parent: 1:6db2ef61d156
- | | . . . : parent: 22:e0d9cccacb5d
- | | . . . : user: test
- | | . . . : date: Thu Jan 01 00:00:23 1970 +0000
- | | . . . : summary: (23) merge one known; immediate left
- | | . . . :
- | o-------+ changeset: 22:e0d9cccacb5d
- | . . . . : parent: 18:1aa84d96232a
- |/ / / / / parent: 21:d42a756af44d
- | . . . : user: test
- | . . . : date: Thu Jan 01 00:00:22 1970 +0000
- | . . . : summary: (22) merge two known; one far left, one far right
- | . . . :
- | . . . o changeset: 21:d42a756af44d
- | . . . |\ parent: 19:31ddc2c1573b
- | . . . | | parent: 20:d30ed6450e32
- | . . . | | user: test
- | . . . | | date: Thu Jan 01 00:00:21 1970 +0000
- | . . . | | summary: (21) expand
- | . . . | |
- +-+-------o changeset: 20:d30ed6450e32
- | . . . | parent: 0:e6eb3150255d
- | . . . | parent: 18:1aa84d96232a
- | . . . | user: test
- | . . . | date: Thu Jan 01 00:00:20 1970 +0000
- | . . . | summary: (20) merge two known; two far right
- | . . . |
- | . . . o changeset: 19:31ddc2c1573b
- | . . . |\ parent: 15:1dda3f72782d
- | . . . | | parent: 17:44765d7c06e0
- | . . . | | user: test
- | . . . | | date: Thu Jan 01 00:00:19 1970 +0000
- | . . . | | summary: (19) expand
- | . . . | |
- o---+---+ | changeset: 18:1aa84d96232a
- . . . | | parent: 1:6db2ef61d156
- / / / / / parent: 15:1dda3f72782d
- . . . | | user: test
- . . . | | date: Thu Jan 01 00:00:18 1970 +0000
- . . . | | summary: (18) merge two known; two far left
- . . . | |
- . . . | o changeset: 17:44765d7c06e0
- . . . | |\ parent: 12:86b91144a6e9
- . . . | | | parent: 16:3677d192927d
- . . . | | | user: test
- . . . | | | date: Thu Jan 01 00:00:17 1970 +0000
- . . . | | | summary: (17) expand
- . . . | | |
- +-+-------o changeset: 16:3677d192927d
- . . . | | parent: 0:e6eb3150255d
- . . . | | parent: 1:6db2ef61d156
- . . . | | user: test
- . . . | | date: Thu Jan 01 00:00:16 1970 +0000
- . . . | | summary: (16) merge two known; one immediate right, one near right
- . . . | |
- . . . o | changeset: 15:1dda3f72782d
- . . . |\ \ parent: 13:22d8966a97e3
- . . . | | | parent: 14:8eac370358ef
- . . . | | | user: test
- . . . | | | date: Thu Jan 01 00:00:15 1970 +0000
- . . . | | | summary: (15) expand
- . . . | | |
- +-------o | changeset: 14:8eac370358ef
- . . . | |/ parent: 0:e6eb3150255d
- . . . | | parent: 12:86b91144a6e9
- . . . | | user: test
- . . . | | date: Thu Jan 01 00:00:14 1970 +0000
- . . . | | summary: (14) merge two known; one immediate right, one far right
- . . . | |
- . . . o | changeset: 13:22d8966a97e3
- . . . |\ \ parent: 9:7010c0af0a35
- . . . | | | parent: 11:832d76e6bdf2
- . . . | | | user: test
- . . . | | | date: Thu Jan 01 00:00:13 1970 +0000
- . . . | | | summary: (13) expand
- . . . | | |
- . +---+---o changeset: 12:86b91144a6e9
- . . . | | parent: 1:6db2ef61d156
- . . . | | parent: 9:7010c0af0a35
- . . . | | user: test
- . . . | | date: Thu Jan 01 00:00:12 1970 +0000
- . . . | | summary: (12) merge two known; one immediate right, one far left
- . . . | |
- . . . | o changeset: 11:832d76e6bdf2
- . . . | |\ parent: 6:b105a072e251
- . . . | | | parent: 10:74c64d036d72
- . . . | | | user: test
- . . . | | | date: Thu Jan 01 00:00:11 1970 +0000
- . . . | | | summary: (11) expand
- . . . | | |
- +---------o changeset: 10:74c64d036d72
- . . . | |/ parent: 0:e6eb3150255d
- . . . | | parent: 6:b105a072e251
- . . . | | user: test
- . . . | | date: Thu Jan 01 00:00:10 1970 +0000
- . . . | | summary: (10) merge two known; one immediate left, one near right
- . . . | |
- . . . o | changeset: 9:7010c0af0a35
- . . . |\ \ parent: 7:b632bb1b1224
- . . . | | | parent: 8:7a0b11f71937
- . . . | | | user: test
- . . . | | | date: Thu Jan 01 00:00:09 1970 +0000
- . . . | | | summary: (9) expand
- . . . | | |
- +-------o | changeset: 8:7a0b11f71937
- . . . |/ / parent: 0:e6eb3150255d
- . . . | | parent: 7:b632bb1b1224
- . . . | | user: test
- . . . | | date: Thu Jan 01 00:00:08 1970 +0000
- . . . | | summary: (8) merge two known; one immediate left, one far right
- . . . | |
- . . . o | changeset: 7:b632bb1b1224
- . . . |\ \ parent: 2:3d9a33b8d1e1
- . . . | . | parent: 5:4409d547b708
- . . . | . | user: test
- . . . | . | date: Thu Jan 01 00:00:07 1970 +0000
- . . . | . | summary: (7) expand
- . . . | . |
- . . . +---o changeset: 6:b105a072e251
- . . . | ./ parent: 2:3d9a33b8d1e1
- . . . | . parent: 5:4409d547b708
- . . . | . user: test
- . . . | . date: Thu Jan 01 00:00:06 1970 +0000
- . . . | . summary: (6) merge two known; one immediate left, one far left
- . . . | .
- . . . o . changeset: 5:4409d547b708
- . . . |\ \ parent: 3:27eef8ed80b4
- . . . | . . parent: 4:26a8bac39d9f
- . . . | . . user: test
- . . . | . . date: Thu Jan 01 00:00:05 1970 +0000
- . . . | . . summary: (5) expand
- . . . | . .
- . +---o . . changeset: 4:26a8bac39d9f
- . . . ./ / parent: 1:6db2ef61d156
- . . . . . parent: 3:27eef8ed80b4
- . . . . . user: test
- . . . . . date: Thu Jan 01 00:00:04 1970 +0000
- . . . . . summary: (4) merge two known; one immediate left, one immediate right
- . . . . .
+ | ~ : parent: 29:cd9bb2be7593
+ | : user: test
+ | : date: Thu Jan 01 00:00:30 1970 +0000
+ | : summary: (30) expand
+ | /
+ o : changeset: 28:44ecd0b9ae99
+ |\ \ parent: 1:6db2ef61d156
+ | ~ : parent: 26:7f25b6c2f0b9
+ | : user: test
+ | : date: Thu Jan 01 00:00:28 1970 +0000
+ | : summary: (28) merge zero known
+ | /
+ o : changeset: 26:7f25b6c2f0b9
+ |\ \ parent: 18:1aa84d96232a
+ | | : parent: 25:91da8ed57247
+ | | : user: test
+ | | : date: Thu Jan 01 00:00:26 1970 +0000
+ | | : summary: (26) merge one known; far right
+ | | :
+ | o : changeset: 25:91da8ed57247
+ | |\: parent: 21:d42a756af44d
+ | | : parent: 24:a9c19a3d96b7
+ | | : user: test
+ | | : date: Thu Jan 01 00:00:25 1970 +0000
+ | | : summary: (25) merge one known; far left
+ | | :
+ | o : changeset: 24:a9c19a3d96b7
+ | |\ \ parent: 0:e6eb3150255d
+ | | ~ : parent: 23:a01cddf0766d
+ | | : user: test
+ | | : date: Thu Jan 01 00:00:24 1970 +0000
+ | | : summary: (24) merge one known; immediate right
+ | | /
+ | o : changeset: 23:a01cddf0766d
+ | |\ \ parent: 1:6db2ef61d156
+ | | ~ : parent: 22:e0d9cccacb5d
+ | | : user: test
+ | | : date: Thu Jan 01 00:00:23 1970 +0000
+ | | : summary: (23) merge one known; immediate left
+ | | /
+ | o : changeset: 22:e0d9cccacb5d
+ |/:/ parent: 18:1aa84d96232a
+ | : parent: 21:d42a756af44d
+ | : user: test
+ | : date: Thu Jan 01 00:00:22 1970 +0000
+ | : summary: (22) merge two known; one far left, one far right
+ | :
+ | o changeset: 21:d42a756af44d
+ | |\ parent: 19:31ddc2c1573b
+ | | | parent: 20:d30ed6450e32
+ | | | user: test
+ | | | date: Thu Jan 01 00:00:21 1970 +0000
+ | | | summary: (21) expand
+ | | |
+ +---o changeset: 20:d30ed6450e32
+ | | | parent: 0:e6eb3150255d
+ | | ~ parent: 18:1aa84d96232a
+ | | user: test
+ | | date: Thu Jan 01 00:00:20 1970 +0000
+ | | summary: (20) merge two known; two far right
+ | |
+ | o changeset: 19:31ddc2c1573b
+ | |\ parent: 15:1dda3f72782d
+ | | | parent: 17:44765d7c06e0
+ | | | user: test
+ | | | date: Thu Jan 01 00:00:19 1970 +0000
+ | | | summary: (19) expand
+ | | |
+ o | | changeset: 18:1aa84d96232a
+ |\| | parent: 1:6db2ef61d156
+ ~ | | parent: 15:1dda3f72782d
+ | | user: test
+ | | date: Thu Jan 01 00:00:18 1970 +0000
+ / / summary: (18) merge two known; two far left
+ / /
+ | o changeset: 17:44765d7c06e0
+ | |\ parent: 12:86b91144a6e9
+ | | | parent: 16:3677d192927d
+ | | | user: test
+ | | | date: Thu Jan 01 00:00:17 1970 +0000
+ | | | summary: (17) expand
+ | | |
+ | | o changeset: 16:3677d192927d
+ | | |\ parent: 0:e6eb3150255d
+ | | ~ ~ parent: 1:6db2ef61d156
+ | | user: test
+ | | date: Thu Jan 01 00:00:16 1970 +0000
+ | | summary: (16) merge two known; one immediate right, one near right
+ | |
+ o | changeset: 15:1dda3f72782d
+ |\ \ parent: 13:22d8966a97e3
+ | | | parent: 14:8eac370358ef
+ | | | user: test
+ | | | date: Thu Jan 01 00:00:15 1970 +0000
+ | | | summary: (15) expand
+ | | |
+ | o | changeset: 14:8eac370358ef
+ | |\| parent: 0:e6eb3150255d
+ | ~ | parent: 12:86b91144a6e9
+ | | user: test
+ | | date: Thu Jan 01 00:00:14 1970 +0000
+ | | summary: (14) merge two known; one immediate right, one far right
+ | /
+ o | changeset: 13:22d8966a97e3
+ |\ \ parent: 9:7010c0af0a35
+ | | | parent: 11:832d76e6bdf2
+ | | | user: test
+ | | | date: Thu Jan 01 00:00:13 1970 +0000
+ | | | summary: (13) expand
+ | | |
+ +---o changeset: 12:86b91144a6e9
+ | | | parent: 1:6db2ef61d156
+ | | ~ parent: 9:7010c0af0a35
+ | | user: test
+ | | date: Thu Jan 01 00:00:12 1970 +0000
+ | | summary: (12) merge two known; one immediate right, one far left
+ | |
+ | o changeset: 11:832d76e6bdf2
+ | |\ parent: 6:b105a072e251
+ | | | parent: 10:74c64d036d72
+ | | | user: test
+ | | | date: Thu Jan 01 00:00:11 1970 +0000
+ | | | summary: (11) expand
+ | | |
+ | | o changeset: 10:74c64d036d72
+ | |/| parent: 0:e6eb3150255d
+ | | ~ parent: 6:b105a072e251
+ | | user: test
+ | | date: Thu Jan 01 00:00:10 1970 +0000
+ | | summary: (10) merge two known; one immediate left, one near right
+ | |
+ o | changeset: 9:7010c0af0a35
+ |\ \ parent: 7:b632bb1b1224
+ | | | parent: 8:7a0b11f71937
+ | | | user: test
+ | | | date: Thu Jan 01 00:00:09 1970 +0000
+ | | | summary: (9) expand
+ | | |
+ | o | changeset: 8:7a0b11f71937
+ |/| | parent: 0:e6eb3150255d
+ | ~ | parent: 7:b632bb1b1224
+ | | user: test
+ | | date: Thu Jan 01 00:00:08 1970 +0000
+ | | summary: (8) merge two known; one immediate left, one far right
+ | /
+ o | changeset: 7:b632bb1b1224
+ |\ \ parent: 2:3d9a33b8d1e1
+ | ~ | parent: 5:4409d547b708
+ | | user: test
+ | | date: Thu Jan 01 00:00:07 1970 +0000
+ | | summary: (7) expand
+ | /
+ | o changeset: 6:b105a072e251
+ |/| parent: 2:3d9a33b8d1e1
+ | ~ parent: 5:4409d547b708
+ | user: test
+ | date: Thu Jan 01 00:00:06 1970 +0000
+ | summary: (6) merge two known; one immediate left, one far left
+ |
+ o changeset: 5:4409d547b708
+ |\ parent: 3:27eef8ed80b4
+ | ~ parent: 4:26a8bac39d9f
+ | user: test
+ | date: Thu Jan 01 00:00:05 1970 +0000
+ | summary: (5) expand
+ |
+ o changeset: 4:26a8bac39d9f
+ |\ parent: 1:6db2ef61d156
+ ~ ~ parent: 3:27eef8ed80b4
+ user: test
+ date: Thu Jan 01 00:00:04 1970 +0000
+ summary: (4) merge two known; one immediate left, one immediate right
+
+
Empty revision range - display nothing:
@@ -1139,20 +1140,22 @@
From outer space:
$ hg log -G -l1 repo
@ changeset: 34:fea3ac5810e0
- . tag: tip
- . parent: 32:d06dffa21a31
- . user: test
- . date: Thu Jan 01 00:00:34 1970 +0000
- . summary: (34) head
- .
+ | tag: tip
+ ~ parent: 32:d06dffa21a31
+ user: test
+ date: Thu Jan 01 00:00:34 1970 +0000
+ summary: (34) head
+
+
$ hg log -G -l1 repo/a
@ changeset: 34:fea3ac5810e0
- . tag: tip
- . parent: 32:d06dffa21a31
- . user: test
- . date: Thu Jan 01 00:00:34 1970 +0000
- . summary: (34) head
- .
+ | tag: tip
+ ~ parent: 32:d06dffa21a31
+ user: test
+ date: Thu Jan 01 00:00:34 1970 +0000
+ summary: (34) head
+
+
$ hg log -G -l1 repo/missing
#endif
@@ -1176,10 +1179,11 @@
| summary: more
|
o changeset: 1:5ac72c0599bf
- . user: test
- . date: Thu Jan 01 00:00:00 1970 +0000
- . summary: two
- .
+ | user: test
+ ~ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: two
+
+
Issue1896: File log with explicit style
$ hg log -G --style=default one
@@ -1188,6 +1192,7 @@
date: Thu Jan 01 00:00:00 1970 +0000
summary: one
+
Issue2395: glog --style header and footer
$ hg log -G --style=xml one
<?xml version="1.0"?>
@@ -1277,17 +1282,17 @@
$ hg ci -Aqm0
$ hg log -G -l2 a
o changeset: 34:fea3ac5810e0
- . parent: 32:d06dffa21a31
- . user: test
- . date: Thu Jan 01 00:00:34 1970 +0000
- . summary: (34) head
- .
- . o changeset: 33:68608f5145f9
- . . parent: 18:1aa84d96232a
- . . user: test
- . . date: Thu Jan 01 00:00:33 1970 +0000
- . . summary: (33) head
- . .
+ | parent: 32:d06dffa21a31
+ ~ user: test
+ date: Thu Jan 01 00:00:34 1970 +0000
+ summary: (34) head
+
+ o changeset: 33:68608f5145f9
+ | parent: 18:1aa84d96232a
+ ~ user: test
+ date: Thu Jan 01 00:00:33 1970 +0000
+ summary: (33) head
+
File + limit + -ra:b, (b - a) < limit:
$ hg log -G -l3000 -r32:tip a
@@ -1298,67 +1303,67 @@
| summary: (34) head
|
| o changeset: 33:68608f5145f9
- | . parent: 18:1aa84d96232a
- | . user: test
- | . date: Thu Jan 01 00:00:33 1970 +0000
- | . summary: (33) head
- | .
- o . changeset: 32:d06dffa21a31
- .\ \ parent: 27:886ed638191b
- . . . parent: 31:621d83e11f67
- . . . user: test
- . . . date: Thu Jan 01 00:00:32 1970 +0000
- . . . summary: (32) expand
- . . .
+ | | parent: 18:1aa84d96232a
+ | ~ user: test
+ | date: Thu Jan 01 00:00:33 1970 +0000
+ | summary: (33) head
+ |
+ o changeset: 32:d06dffa21a31
+ |\ parent: 27:886ed638191b
+ ~ ~ parent: 31:621d83e11f67
+ user: test
+ date: Thu Jan 01 00:00:32 1970 +0000
+ summary: (32) expand
+
Point out a common and an uncommon unshown parent
$ hg log -G -r 'rev(8) or rev(9)'
o changeset: 9:7010c0af0a35
|\ parent: 7:b632bb1b1224
- | . parent: 8:7a0b11f71937
- | . user: test
- | . date: Thu Jan 01 00:00:09 1970 +0000
- | . summary: (9) expand
- | .
- o . changeset: 8:7a0b11f71937
- .\. parent: 0:e6eb3150255d
- . . parent: 7:b632bb1b1224
- . . user: test
- . . date: Thu Jan 01 00:00:08 1970 +0000
- . . summary: (8) merge two known; one immediate left, one far right
- . .
+ | ~ parent: 8:7a0b11f71937
+ | user: test
+ | date: Thu Jan 01 00:00:09 1970 +0000
+ | summary: (9) expand
+ |
+ o changeset: 8:7a0b11f71937
+ |\ parent: 0:e6eb3150255d
+ ~ ~ parent: 7:b632bb1b1224
+ user: test
+ date: Thu Jan 01 00:00:08 1970 +0000
+ summary: (8) merge two known; one immediate left, one far right
+
File + limit + -ra:b, b < tip:
$ hg log -G -l1 -r32:34 a
o changeset: 34:fea3ac5810e0
- . parent: 32:d06dffa21a31
- . user: test
- . date: Thu Jan 01 00:00:34 1970 +0000
- . summary: (34) head
- .
+ | parent: 32:d06dffa21a31
+ ~ user: test
+ date: Thu Jan 01 00:00:34 1970 +0000
+ summary: (34) head
+
file(File) + limit + -ra:b, b < tip:
$ hg log -G -l1 -r32:34 -r 'file("a")'
o changeset: 34:fea3ac5810e0
- . parent: 32:d06dffa21a31
- . user: test
- . date: Thu Jan 01 00:00:34 1970 +0000
- . summary: (34) head
- .
+ | parent: 32:d06dffa21a31
+ ~ user: test
+ date: Thu Jan 01 00:00:34 1970 +0000
+ summary: (34) head
+
limit(file(File) and a::b), b < tip:
$ hg log -G -r 'limit(file("a") and 32::34, 1)'
o changeset: 32:d06dffa21a31
- .\ parent: 27:886ed638191b
- . . parent: 31:621d83e11f67
- . . user: test
- . . date: Thu Jan 01 00:00:32 1970 +0000
- . . summary: (32) expand
- . .
+ |\ parent: 27:886ed638191b
+ ~ ~ parent: 31:621d83e11f67
+ user: test
+ date: Thu Jan 01 00:00:32 1970 +0000
+ summary: (32) expand
+
File + limit + -ra:b, b < tip:
@@ -1368,17 +1373,17 @@
$ hg log -G -l10 -r33:34 a
o changeset: 34:fea3ac5810e0
- . parent: 32:d06dffa21a31
- . user: test
- . date: Thu Jan 01 00:00:34 1970 +0000
- . summary: (34) head
- .
- . o changeset: 33:68608f5145f9
- . . parent: 18:1aa84d96232a
- . . user: test
- . . date: Thu Jan 01 00:00:33 1970 +0000
- . . summary: (33) head
- . .
+ | parent: 32:d06dffa21a31
+ ~ user: test
+ date: Thu Jan 01 00:00:34 1970 +0000
+ summary: (34) head
+
+ o changeset: 33:68608f5145f9
+ | parent: 18:1aa84d96232a
+ ~ user: test
+ date: Thu Jan 01 00:00:33 1970 +0000
+ summary: (33) head
+
Do not crash or produce strange graphs if history is buggy
@@ -1408,18 +1413,18 @@
| summary: (34) head
|
| o changeset: 33:68608f5145f9
- | . parent: 18:1aa84d96232a
- | . user: test
- | . date: Thu Jan 01 00:00:33 1970 +0000
- | . summary: (33) head
- | .
- o . changeset: 32:d06dffa21a31
- .\ \ parent: 27:886ed638191b
- . . . parent: 31:621d83e11f67
- . . . user: test
- . . . date: Thu Jan 01 00:00:32 1970 +0000
- . . . summary: (32) expand
- . . .
+ | | parent: 18:1aa84d96232a
+ | ~ user: test
+ | date: Thu Jan 01 00:00:33 1970 +0000
+ | summary: (33) head
+ |
+ o changeset: 32:d06dffa21a31
+ |\ parent: 27:886ed638191b
+ ~ ~ parent: 31:621d83e11f67
+ user: test
+ date: Thu Jan 01 00:00:32 1970 +0000
+ summary: (32) expand
+
Test log -G options
@@ -1796,8 +1801,10 @@
$ hg log -G --follow-first e --template '{rev} {desc|firstline}\n'
@ 6 merge 5 and 4
|\
- o . 5 add another e
- . .
+ | ~
+ o 5 add another e
+ |
+ ~
Test --copies
@@ -1875,24 +1882,24 @@
$ hg up -q 3
$ hg log -G --git --patch b
o changeset: 1:216d4c92cf98
- . user: test
- . date: Thu Jan 01 00:00:00 1970 +0000
- . summary: copy a b
- .
- . diff --git a/a b/b
- . copy from a
- . copy to b
- .
+ | user: test
+ ~ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: copy a b
+
+ diff --git a/a b/b
+ copy from a
+ copy to b
+
$ hg log -G --git --stat b
o changeset: 1:216d4c92cf98
- . user: test
- . date: Thu Jan 01 00:00:00 1970 +0000
- . summary: copy a b
- .
- . b | 0
- . 1 files changed, 0 insertions(+), 0 deletions(-)
- .
+ | user: test
+ ~ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: copy a b
+
+ b | 0
+ 1 files changed, 0 insertions(+), 0 deletions(-)
+
$ hg log -G --git --patch --follow b
o changeset: 1:216d4c92cf98
@@ -1939,32 +1946,32 @@
$ hg log -G --git --patch --follow-first e
@ changeset: 6:fc281d8ff18d
|\ tag: tip
- | . parent: 5:99b31f1c2782
- | . parent: 4:17d952250a9d
- | . user: test
- | . date: Thu Jan 01 00:00:00 1970 +0000
- | . summary: merge 5 and 4
- | .
- | . diff --git a/e b/e
- | . --- a/e
- | . +++ b/e
- | . @@ -1,1 +1,1 @@
- | . -ee
- | . +merge
- | .
- o . changeset: 5:99b31f1c2782
- . . parent: 3:5918b8d165d1
- . . user: test
- . . date: Thu Jan 01 00:00:00 1970 +0000
- . . summary: add another e
- . .
- . . diff --git a/e b/e
- . . new file mode 100644
- . . --- /dev/null
- . . +++ b/e
- . . @@ -0,0 +1,1 @@
- . . +ee
- . .
+ | ~ parent: 5:99b31f1c2782
+ | parent: 4:17d952250a9d
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: merge 5 and 4
+ |
+ | diff --git a/e b/e
+ | --- a/e
+ | +++ b/e
+ | @@ -1,1 +1,1 @@
+ | -ee
+ | +merge
+ |
+ o changeset: 5:99b31f1c2782
+ | parent: 3:5918b8d165d1
+ ~ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: add another e
+
+ diff --git a/e b/e
+ new file mode 100644
+ --- /dev/null
+ +++ b/e
+ @@ -0,0 +1,1 @@
+ +ee
+
Test old-style --rev
@@ -2384,7 +2391,8 @@
o 2147483647:ffffffffffff
|
@ 3:5918b8d165d1
- .
+ |
+ ~
node template with changeset_printer:
@@ -2393,8 +2401,10 @@
|
6 6:fc281d8ff18d
|\
- 5 . 5:99b31f1c2782
- . .
+ | ~
+ 5 5:99b31f1c2782
+ |
+ ~
node template with changeset_templater (shared cache variable):
@@ -2404,7 +2414,9 @@
|
# 6 foo-bar+0
|\
- o . 5 null+5
- . .
+ | ~
+ o 5 null+5
+ |
+ ~
$ cd ..
@@ -123,7 +123,8 @@
o 3 c8e6 four
|
o 2 eb57 three
- .
+ |
+ ~
$ HGEDITOR=cat hg histedit -r 4 --commands - << EOF
> edit 08d98a8350f3 4 five
> EOF
@@ -151,7 +152,8 @@
| o 3 c8e6 four
|/
o 2 eb57 three
- .
+ |
+ ~
$ hg unbundle -q $TESTTMP/foo/.hg/strip-backup/08d98a8350f3-02594089-backup.hg
$ hg strip -q -r f5ed --config extensions.strip=
@@ -472,11 +472,11 @@
$ hg log -G anotherlarge
@ changeset: 1:9627a577c5e9
- . tag: tip
- . user: test
- . date: Thu Jan 01 00:00:00 1970 +0000
- . summary: anotherlarge
- .
+ | tag: tip
+ ~ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: anotherlarge
+
$ hg log glob:another*
changeset: 1:9627a577c5e9
@@ -488,7 +488,8 @@
$ hg --debug log -T '{rev}: {desc}\n' -G glob:another*
updated patterns: ['glob:../.hglf/sub/another*', 'glob:another*']
@ 1: anotherlarge
- .
+ |
+ ~
#if no-msys
$ hg --debug log -T '{rev}: {desc}\n' 'glob:../.hglf/sub/another*' # no-msys
@@ -498,7 +499,8 @@
$ hg --debug log -G -T '{rev}: {desc}\n' 'glob:../.hglf/sub/another*' # no-msys
updated patterns: ['glob:../.hglf/sub/another*']
@ 1: anotherlarge
- .
+ |
+ ~
#endif
$ echo more >> anotherlarge
@@ -533,11 +535,11 @@
$ hg log -G glob:**another*
@ changeset: 1:9627a577c5e9
- . tag: tip
- . user: test
- . date: Thu Jan 01 00:00:00 1970 +0000
- . summary: anotherlarge
- .
+ | tag: tip
+ ~ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: anotherlarge
+
$ cd ..
@@ -930,7 +930,8 @@
7:daea875e9014
$ hg log -Gqf sub2/large7
@ 7:daea875e9014
- .
+ |
+ ~
$ cd ..
Test log from outside repo
@@ -1291,7 +1292,8 @@
o 5:9d5af5072dbd edit files again
|
o 4:74c02385b94c move files
- .
+ |
+ ~
$ hg log --template '{rev}:{node|short} {desc|firstline}\n' sub/large4
8:a381d2c8c80e modify normal file and largefile in repo b
6:4355d653f84f edit files yet again
@@ -1305,7 +1307,8 @@
o 5:9d5af5072dbd edit files again
|
o 4:74c02385b94c move files
- .
+ |
+ ~
- .hglf only matches largefiles, without .hglf it matches 9 bco sub/normal
$ hg log --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub
@@ -2132,18 +2132,18 @@
$ hg log -f -G b
@ changeset: 3:9bc8ce7f9356
- . parent: 0:f7b1eb17ad24
- . user: test
- . date: Thu Jan 01 00:00:00 1970 +0000
- . summary: 1
- .
+ | parent: 0:f7b1eb17ad24
+ ~ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: 1
+
$ hg log -G b
@ changeset: 3:9bc8ce7f9356
- . parent: 0:f7b1eb17ad24
- . user: test
- . date: Thu Jan 01 00:00:00 1970 +0000
- . summary: 1
- .
+ | parent: 0:f7b1eb17ad24
+ ~ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: 1
+
$ cd ..
Check proper report when the manifest changes but not the file issue4499
@@ -91,7 +91,8 @@
$ hg tglog -l 1
@ 2: 'R1'
- .
+ |
+ ~
pull --rebase --update should ignore --update:
@@ -111,7 +112,8 @@
$ hg tglog -l 1
o 2: 'R1'
- .
+ |
+ ~
$ cd ..
@@ -718,7 +718,8 @@
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg log -G --template '{rev} {desc|firstline} {author}' -R bundle://.hg/shelved/default.hg -r 'bundle()'
o 4 changes to: commit stuff shelve@localhost
- .
+ |
+ ~
$ hg log -G --template '{rev} {desc|firstline} {author}'
@ 3 commit stuff test
|