4344
|
1 |
#!/bin/sh
|
|
2 |
|
|
3 |
# @ (34) head
|
|
4 |
# |
|
|
5 |
# | o (33) head
|
|
6 |
# | |
|
|
7 |
# o | (32) expand
|
|
8 |
# |\ \
|
|
9 |
# | o \ (31) expand
|
|
10 |
# | |\ \
|
|
11 |
# | | o \ (30) expand
|
|
12 |
# | | |\ \
|
|
13 |
# | | | o | (29) regular commit
|
|
14 |
# | | | | |
|
|
15 |
# | | o | | (28) merge zero known
|
|
16 |
# | | |\ \ \
|
|
17 |
# o | | | | | (27) collapse
|
|
18 |
# |/ / / / /
|
|
19 |
# | | o---+ (26) merge one known; far right
|
|
20 |
# | | | | |
|
|
21 |
# +---o | | (25) merge one known; far left
|
|
22 |
# | | | | |
|
|
23 |
# | | o | | (24) merge one known; immediate right
|
|
24 |
# | | |\| |
|
|
25 |
# | | o | | (23) merge one known; immediate left
|
|
26 |
# | |/| | |
|
|
27 |
# +---o---+ (22) merge two known; one far left, one far right
|
|
28 |
# | | / /
|
|
29 |
# o | | | (21) expand
|
|
30 |
# |\ \ \ \
|
|
31 |
# | o---+-+ (20) merge two known; two far right
|
|
32 |
# | / / /
|
|
33 |
# o | | | (19) expand
|
|
34 |
# |\ \ \ \
|
|
35 |
# +---+---o (18) merge two known; two far left
|
|
36 |
# | | | |
|
|
37 |
# | o | | (17) expand
|
|
38 |
# | |\ \ \
|
|
39 |
# | | o---+ (16) merge two known; one immediate right, one near right
|
|
40 |
# | | |/ /
|
|
41 |
# o | | | (15) expand
|
|
42 |
# |\ \ \ \
|
|
43 |
# | o-----+ (14) merge two known; one immediate right, one far right
|
|
44 |
# | |/ / /
|
|
45 |
# o | | | (13) expand
|
|
46 |
# |\ \ \ \
|
|
47 |
# +---o | | (12) merge two known; one immediate right, one far left
|
|
48 |
# | | |/ /
|
|
49 |
# | o | | (11) expand
|
|
50 |
# | |\ \ \
|
|
51 |
# | | o---+ (10) merge two known; one immediate left, one near right
|
|
52 |
# | |/ / /
|
|
53 |
# o | | | (9) expand
|
|
54 |
# |\ \ \ \
|
|
55 |
# | o-----+ (8) merge two known; one immediate left, one far right
|
|
56 |
# |/ / / /
|
|
57 |
# o | | | (7) expand
|
|
58 |
# |\ \ \ \
|
|
59 |
# +---o | | (6) merge two known; one immediate left, one far left
|
|
60 |
# | |/ / /
|
|
61 |
# | o | | (5) expand
|
|
62 |
# | |\ \ \
|
|
63 |
# | | o | | (4) merge two known; one immediate left, one immediate right
|
|
64 |
# | |/|/ /
|
|
65 |
# | o / / (3) collapse
|
|
66 |
# |/ / /
|
|
67 |
# o / / (2) collapse
|
|
68 |
# |/ /
|
|
69 |
# o / (1) collapse
|
|
70 |
# |/
|
|
71 |
# o (0) root
|
|
72 |
|
|
73 |
set -e
|
|
74 |
|
|
75 |
commit()
|
|
76 |
{
|
|
77 |
rev=$1
|
|
78 |
msg=$2
|
|
79 |
shift 2
|
|
80 |
if [ "$#" -gt 0 ]; then
|
|
81 |
hg debugsetparents "$@"
|
|
82 |
fi
|
|
83 |
echo $rev > $rev
|
|
84 |
hg add $rev
|
|
85 |
hg ci -d "$rev 0" -m "($rev) $msg"
|
|
86 |
}
|
|
87 |
|
|
88 |
echo "[extensions]" >> $HGRCPATH
|
|
89 |
echo "graphlog=" >> $HGRCPATH
|
|
90 |
|
|
91 |
echo % init
|
|
92 |
hg init repo
|
|
93 |
|
|
94 |
cd repo
|
|
95 |
|
|
96 |
echo % empty repo
|
|
97 |
hg glog
|
|
98 |
|
|
99 |
echo % building tree
|
|
100 |
commit 0 "root"
|
|
101 |
commit 1 "collapse" 0
|
|
102 |
commit 2 "collapse" 1
|
|
103 |
commit 3 "collapse" 2
|
|
104 |
commit 4 "merge two known; one immediate left, one immediate right" 1 3
|
|
105 |
commit 5 "expand" 3 4
|
|
106 |
commit 6 "merge two known; one immediate left, one far left" 2 5
|
|
107 |
commit 7 "expand" 2 5
|
|
108 |
commit 8 "merge two known; one immediate left, one far right" 0 7
|
|
109 |
commit 9 "expand" 7 8
|
|
110 |
commit 10 "merge two known; one immediate left, one near right" 0 6
|
|
111 |
commit 11 "expand" 6 10
|
|
112 |
commit 12 "merge two known; one immediate right, one far left" 1 9
|
|
113 |
commit 13 "expand" 9 11
|
|
114 |
commit 14 "merge two known; one immediate right, one far right" 0 12
|
|
115 |
commit 15 "expand" 13 14
|
|
116 |
commit 16 "merge two known; one immediate right, one near right" 0 1
|
|
117 |
commit 17 "expand" 12 16
|
|
118 |
commit 18 "merge two known; two far left" 1 15
|
|
119 |
commit 19 "expand" 15 17
|
|
120 |
commit 20 "merge two known; two far right" 0 18
|
|
121 |
commit 21 "expand" 19 20
|
|
122 |
commit 22 "merge two known; one far left, one far right" 18 21
|
|
123 |
commit 23 "merge one known; immediate left" 1 22
|
|
124 |
commit 24 "merge one known; immediate right" 0 23
|
|
125 |
commit 25 "merge one known; far left" 21 24
|
|
126 |
commit 26 "merge one known; far right" 18 25
|
|
127 |
commit 27 "collapse" 21
|
|
128 |
commit 28 "merge zero known" 1 26
|
|
129 |
commit 29 "regular commit" 0
|
|
130 |
commit 30 "expand" 28 29
|
|
131 |
commit 31 "expand" 21 30
|
|
132 |
commit 32 "expand" 27 31
|
|
133 |
commit 33 "head" 18
|
|
134 |
commit 34 "head" 32
|
|
135 |
|
|
136 |
echo % glog -q
|
|
137 |
hg glog -q
|
|
138 |
|
|
139 |
echo % glog
|
|
140 |
hg glog
|