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
|