[PATCH 2 of 2] graphlog: draw graphs in give order
Vishakh
vsh426 at gmail.com
Sun Apr 4 13:09:53 CDT 2010
# HG changeset patch
# User Vishakh <vsh426 at gmail.com>
# Date 1270404568 -19800
# Node ID 4a7f1e4cb05f497e60d957e0fb73a3f4c351b70c
# Parent 8f5646c4358358a4249273285793544f6e466443
graphlog: draw graphs in give order
diff -r 8f5646c43583 -r 4a7f1e4cb05f hgext/graphlog.py
--- a/hgext/graphlog.py Sun Apr 04 23:30:24 2010 +0530
+++ b/hgext/graphlog.py Sun Apr 04 23:39:28 2010 +0530
@@ -39,11 +39,7 @@
ncols = len(seen)
seen[nodeidx:nodeidx + 1] = newparents
edges = [(nodeidx, seen.index(p)) for p in knownparents]
-
- if len(newparents) > 0:
- edges.append((nodeidx, nodeidx))
- if len(newparents) > 1:
- edges.append((nodeidx, nodeidx + 1))
+ edges.extend([(nodeidx, nodeidx + newparents.index(p)) for p in newparents])
nmorecols = len(seen) - ncols
return nodeidx, edges, ncols, nmorecols
@@ -75,7 +71,7 @@
interline[2 * start + 1] = "\\"
elif start == end:
interline[2 * start] = "|"
- else:
+ elif len(nodeline) > (2 * end):
nodeline[2 * end] = "+"
if start > end:
(start, end) = (end, start)
@@ -126,7 +122,6 @@
"""
idx, edges, ncols, coldiff = coldata
- assert -2 < coldiff < 2
if coldiff == -1:
# Transform
#
@@ -187,6 +182,16 @@
lines.append(get_padding_line(idx, ncols, edges))
lines.append(shift_interline)
+ while len(shift_interline) < (((ncols + coldiff) * 2) - 1):
+ try:
+ nidx = nidx + 1
+ except NameError:
+ nidx = idx + 1
+ shift_interline = ["|"]
+ shift_interline.extend([" ", "|"] * nidx)
+ shift_interline.extend(["\\", " "] * (ncols - idx))
+ lines.append(shift_interline)
+
# make sure that there are as many graph lines as there are
# log strings
while len(text) < len(lines):
@@ -209,7 +214,7 @@
def get_revs(repo, rev_opt):
if rev_opt:
revs = revrange(repo, rev_opt)
- return (max(revs), min(revs))
+ return (revs[0], revs[-1])
else:
return (len(repo) - 1, 0)
diff -r 8f5646c43583 -r 4a7f1e4cb05f tests/test-glog
--- a/tests/test-glog Sun Apr 04 23:30:24 2010 +0530
+++ b/tests/test-glog Sun Apr 04 23:39:28 2010 +0530
@@ -140,6 +140,9 @@
echo % glog
hg glog
+echo % "reverse glog -r :"
+hg glog -r :
+
echo % file glog
hg glog a
diff -r 8f5646c43583 -r 4a7f1e4cb05f tests/test-glog.out
--- a/tests/test-glog.out Sun Apr 04 23:30:24 2010 +0530
+++ b/tests/test-glog.out Sun Apr 04 23:39:28 2010 +0530
@@ -307,6 +307,245 @@
date: Thu Jan 01 00:00:00 1970 +0000
summary: (0) root
+% reverse glog -r :
+o changeset: 0:e6eb3150255d
+|\ user: test
+| |\ date: Thu Jan 01 00:00:00 1970 +0000
+| | |\ summary: (0) root
+| | | |\
+| | | | |\
+| | | | | |\
+| | | | | | |\
+o---+-+-+-+ | | changeset: 1:6db2ef61d156
+|\ \ \ \ \ \ \ \ user: test
+| |\ \ \ \ \ \ \ \ date: Thu Jan 01 00:00:01 1970 +0000
+| | |\ \ \ \ \ \ \ \ summary: (1) collapse
+| | | |\ \ \ \ \ \ \ \
+| | | | |\ \ \ \ \ \ \ \
+o---+ | | | | | | | | | | changeset: 2:3d9a33b8d1e1
+|\ \ \ \ \ \ \ \ \ \ \ \ \ user: test
+| |\ \ \ \ \ \ \ \ \ \ \ \ \ date: Thu Jan 01 00:00:02 1970 +0000
+| | | | | | | | | | | | | | | summary: (2) collapse
+| | | | | | | | | | | | | | |
+o-----+ | | | | | | | | | | | changeset: 3:27eef8ed80b4
+| | | | | | | | | | | | | | | user: test
+| | | | | | | | | | | | | | | date: Thu Jan 01 00:00:03 1970 +0000
+| | | | | | | | | | | | | | | summary: (3) collapse
+| | | | | | | | | | | | | | |
++-----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
+| | | | | | | | | | | | | |
+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: 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: 7:b632bb1b1224
+| | | | | | | | | | | | | parent: 2:3d9a33b8d1e1
+| | | | | | | | | | | | | parent: 5:4409d547b708
+| | | | | | | | | | | | | user: test
+| | | | | | | | | | | | | date: Thu Jan 01 00:00:07 1970 +0000
+| | | | | | | | | | | | | summary: (7) 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: 9:7010c0af0a35
+| |\| | | | | | | | | | parent: 7:b632bb1b1224
+| | | | | | | | | | | | parent: 8:7a0b11f71937
+| | | | | | | | | | | | user: test
+| | | | | | | | | | | | date: Thu Jan 01 00:00:09 1970 +0000
+| | | | | | | | | | | | summary: (9) 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: 11:832d76e6bdf2
+|/ / / / / / / / / / parent: 6:b105a072e251
+| | | | | | | | | | parent: 10:74c64d036d72
+| | | | | | | | | | user: test
+| | | | | | | | | | date: Thu Jan 01 00:00:11 1970 +0000
+| | | | | | | | | | summary: (11) 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: 13:22d8966a97e3
+| | | | | | | | | | parent: 9:7010c0af0a35
+| | | | | | | | | | parent: 11:832d76e6bdf2
+| | | | | | | | | | user: test
+| | | | | | | | | | date: Thu Jan 01 00:00:13 1970 +0000
+| | | | | | | | | | summary: (13) 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: 15:1dda3f72782d
+| | | | | | | | | parent: 13:22d8966a97e3
+| | | | | | | | | parent: 14:8eac370358ef
+| | | | | | | | | user: test
+| | | | | | | | | date: Thu Jan 01 00:00:15 1970 +0000
+| | | | | | | | | summary: (15) 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: 17:44765d7c06e0
+|/ / / / / / / parent: 12:86b91144a6e9
+| | | | | | | parent: 16:3677d192927d
+| | | | | | | user: test
+| | | | | | | date: Thu Jan 01 00:00:17 1970 +0000
+| | | | | | | summary: (17) 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: 19:31ddc2c1573b
+| | | | | | | | | parent: 15:1dda3f72782d
+| | | | | | | | | parent: 17:44765d7c06e0
+| | | | | | | | | user: test
+| | | | | | | | | date: Thu Jan 01 00:00:19 1970 +0000
+| | | | | | | | | summary: (19) 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: 21:d42a756af44d
+|\ \ \ \ \ \ \ \ parent: 19:31ddc2c1573b
+| |\ \ \ \ \ \ \ \ parent: 20:d30ed6450e32
+| | | | | | | | | | user: test
+| | | | | | | | | | date: Thu Jan 01 00:00:21 1970 +0000
+| | | | | | | | | | summary: (21) expand
+| | | | | | | | | |
+| | | 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: 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: 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: 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: 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: 27:886ed638191b
+| | | | | parent: 21:d42a756af44d
+| | | | | user: test
+| | | | | date: Thu Jan 01 00:00:27 1970 +0000
+| | | | | summary: (27) collapse
+| | | | |
+| | | 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: 29:cd9bb2be7593
+| | | |/ parent: 0:e6eb3150255d
+| | | | user: test
+| | | | date: Thu Jan 01 00:00:29 1970 +0000
+| | | | summary: (29) regular commit
+| | | |
+| +---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: 31:621d83e11f67
+|/ / parent: 21:d42a756af44d
+| | parent: 30:6e11cd4b648f
+| | user: test
+| | date: Thu Jan 01 00:00:31 1970 +0000
+| | summary: (31) expand
+| |
+o | changeset: 32:d06dffa21a31
+| | parent: 27:886ed638191b
+| | parent: 31:621d83e11f67
+| | user: test
+| | date: Thu Jan 01 00:00:32 1970 +0000
+| | summary: (32) expand
+| |
+| o changeset: 33:68608f5145f9
+| parent: 18:1aa84d96232a
+| user: test
+| date: Thu Jan 01 00:00:33 1970 +0000
+| summary: (33) head
+|
+@ changeset: 34:fea3ac5810e0
+ tag: tip
+ parent: 32:d06dffa21a31
+ user: test
+ date: Thu Jan 01 00:00:34 1970 +0000
+ summary: (34) head
+
% file glog
@ changeset: 34:fea3ac5810e0
| tag: tip
More information about the Mercurial-devel
mailing list