##// END OF EJS Templates
graphmod: correctly emit nodes with more than 2 predecessors...
Patrick Mezard -
r14131:03e1c2d3 default
parent child Browse files
Show More
@@ -1,195 +1,139 b''
1 1 # Revision graph generator for Mercurial
2 2 #
3 3 # Copyright 2008 Dirkjan Ochtman <dirkjan@ochtman.nl>
4 4 # Copyright 2007 Joel Rosdahl <joel@rosdahl.net>
5 5 #
6 6 # This software may be used and distributed according to the terms of the
7 7 # GNU General Public License version 2 or any later version.
8 8
9 9 """supports walking the history as DAGs suitable for graphical output
10 10
11 11 The most basic format we use is that of::
12 12
13 13 (id, type, data, [parentids])
14 14
15 15 The node and parent ids are arbitrary integers which identify a node in the
16 16 context of the graph returned. Type is a constant specifying the node type.
17 17 Data depends on type.
18 18 """
19 19
20 20 from mercurial.node import nullrev
21 21
22 22 CHANGESET = 'C'
23 23
24 24 def dagwalker(repo, revs):
25 25 """cset DAG generator yielding (id, CHANGESET, ctx, [parentids]) tuples
26 26
27 27 This generator function walks through revisions (which should be ordered
28 28 from bigger to lower). It returns a tuple for each node. The node and parent
29 29 ids are arbitrary integers which identify a node in the context of the graph
30 30 returned.
31 31 """
32 32 if not revs:
33 33 return
34 34
35 35 cl = repo.changelog
36 36 lowestrev = min(revs)
37 37 gpcache = {}
38 38
39 39 knownrevs = set(revs)
40 40 for rev in revs:
41 41 ctx = repo[rev]
42 42 parents = sorted(set([p.rev() for p in ctx.parents()
43 43 if p.rev() in knownrevs]))
44 44 mpars = [p.rev() for p in ctx.parents() if
45 45 p.rev() != nullrev and p.rev() not in parents]
46 46
47 47 for mpar in mpars:
48 gp = gpcache.get(mpar) or grandparent(cl, lowestrev, revs, mpar)
49 gpcache[mpar] = gp
48 gp = gpcache.get(mpar)
50 49 if gp is None:
50 gp = gpcache[mpar] = grandparent(cl, lowestrev, revs, mpar)
51 if not gp:
51 52 parents.append(mpar)
52 elif gp not in parents:
53 parents.append(gp)
53 else:
54 parents.extend(g for g in gp if g not in parents)
54 55
55 56 yield (ctx.rev(), CHANGESET, ctx, parents)
56 57
57 58 def nodes(repo, nodes):
58 59 """cset DAG generator yielding (id, CHANGESET, ctx, [parentids]) tuples
59 60
60 61 This generator function walks the given nodes. It only returns parents
61 62 that are in nodes, too.
62 63 """
63 64 include = set(nodes)
64 65 for node in nodes:
65 66 ctx = repo[node]
66 67 parents = set([p.rev() for p in ctx.parents() if p.node() in include])
67 68 yield (ctx.rev(), CHANGESET, ctx, sorted(parents))
68 69
69 70 def colored(dag):
70 71 """annotates a DAG with colored edge information
71 72
72 73 For each DAG node this function emits tuples::
73 74
74 75 (id, type, data, (col, color), [(col, nextcol, color)])
75 76
76 77 with the following new elements:
77 78
78 79 - Tuple (col, color) with column and color index for the current node
79 80 - A list of tuples indicating the edges between the current node and its
80 81 parents.
81 82 """
82 83 seen = []
83 84 colors = {}
84 85 newcolor = 1
85 86 for (cur, type, data, parents) in dag:
86 87
87 88 # Compute seen and next
88 89 if cur not in seen:
89 90 seen.append(cur) # new head
90 91 colors[cur] = newcolor
91 92 newcolor += 1
92 93
93 94 col = seen.index(cur)
94 95 color = colors.pop(cur)
95 96 next = seen[:]
96 97
97 98 # Add parents to next
98 99 addparents = [p for p in parents if p not in next]
99 100 next[col:col + 1] = addparents
100 101
101 102 # Set colors for the parents
102 103 for i, p in enumerate(addparents):
103 104 if not i:
104 105 colors[p] = color
105 106 else:
106 107 colors[p] = newcolor
107 108 newcolor += 1
108 109
109 110 # Add edges to the graph
110 111 edges = []
111 112 for ecol, eid in enumerate(seen):
112 113 if eid in next:
113 114 edges.append((ecol, next.index(eid), colors[eid]))
114 115 elif eid == cur:
115 116 for p in parents:
116 117 edges.append((ecol, next.index(p), color))
117 118
118 119 # Yield and move on
119 120 yield (cur, type, data, (col, color), edges)
120 121 seen = next
121 122
122
123 123 def grandparent(cl, lowestrev, roots, head):
124 """Return closest 'root' rev in topological path from 'roots' to 'head'.
125
126 Derived from revlog.revlog.nodesbetween, but only returns next rev
127 of topologically sorted list of all nodes N that satisfy of these
128 constraints:
129
130 1. N is a descendant of some node in 'roots'
131 2. N is an ancestor of 'head'
132 3. N is some node in 'roots' or nullrev
133
134 Every node is considered to be both a descendant and an ancestor
135 of itself, so every reachable node in 'roots' and 'head' will be
136 included in 'nodes'.
124 """Return all ancestors of head in roots which revision is
125 greater or equal to lowestrev.
137 126 """
138 ancestors = set()
139 # Start at the top and keep marking parents until we're done.
140 revstotag = set([head])
141 revstotag.discard(nullrev)
127 pending = set([head])
128 seen = set()
129 kept = set()
142 130 llowestrev = max(nullrev, lowestrev)
143
144 while revstotag:
145 r = revstotag.pop()
146 # A node's revision number represents its place in a
147 # topologically sorted list of nodes.
148 if r >= llowestrev:
149 if r not in ancestors:
150 # If we are possibly a descendent of one of the roots
151 # and we haven't already been marked as an ancestor
152 ancestors.add(r) # Mark as ancestor
153 # Add non-nullrev parents to list of nodes to tag.
154 revstotag.update([p for p in cl.parentrevs(r)])
155
156 if not ancestors:
157 return
158 # Now that we have our set of ancestors, we want to remove any
159 # roots that are not ancestors.
160
161 # If one of the roots was nullrev, everything is included anyway.
162 if lowestrev > nullrev:
163 # But, since we weren't, let's recompute the lowest rev to not
164 # include roots that aren't ancestors.
165
166 # Filter out roots that aren't ancestors of heads
167 _roots = ancestors.intersection(roots)
168 if not _roots:
169 return
170 # Recompute the lowest revision
171 lowestrev = min(roots)
172 else:
173 # We are descending from nullrev, and don't need to care about
174 # any other roots.
175 lowestrev = nullrev
176 _roots = [nullrev]
177
178 # The roots are just the descendants.
179 # Don't start at nullrev since we don't want nullrev in our output list,
180 # and if nullrev shows up in descedents, empty parents will look like
181 # they're descendents.
182 lowestrevisnullrev = (lowestrev == nullrev)
183 for r in xrange(head - 1, max(lowestrev, -1) - 1, -1):
184 if lowestrevisnullrev or r in _roots:
185 pass
186 elif _roots.issuperset(cl.parentrevs(r)):
187 # A node is a descendent if either of its parents are
188 # descendents. (We seeded the dependents list with the roots
189 # up there, remember?)
190 _roots.add(r)
191 else:
192 continue
193 if r in ancestors:
194 # Only include nodes that are both descendents and ancestors.
195 return r
131 while pending:
132 r = pending.pop()
133 if r >= llowestrev and r not in seen:
134 if r in roots:
135 kept.add(r)
136 else:
137 pending.update([p for p in cl.parentrevs(r)])
138 seen.add(r)
139 return sorted(kept)
@@ -1,1430 +1,1455 b''
1 1 @ (34) head
2 2 |
3 3 | o (33) head
4 4 | |
5 5 o | (32) expand
6 6 |\ \
7 7 | o \ (31) expand
8 8 | |\ \
9 9 | | o \ (30) expand
10 10 | | |\ \
11 11 | | | o | (29) regular commit
12 12 | | | | |
13 13 | | o | | (28) merge zero known
14 14 | | |\ \ \
15 15 o | | | | | (27) collapse
16 16 |/ / / / /
17 17 | | o---+ (26) merge one known; far right
18 18 | | | | |
19 19 +---o | | (25) merge one known; far left
20 20 | | | | |
21 21 | | o | | (24) merge one known; immediate right
22 22 | | |\| |
23 23 | | o | | (23) merge one known; immediate left
24 24 | |/| | |
25 25 +---o---+ (22) merge two known; one far left, one far right
26 26 | | / /
27 27 o | | | (21) expand
28 28 |\ \ \ \
29 29 | o---+-+ (20) merge two known; two far right
30 30 | / / /
31 31 o | | | (19) expand
32 32 |\ \ \ \
33 33 +---+---o (18) merge two known; two far left
34 34 | | | |
35 35 | o | | (17) expand
36 36 | |\ \ \
37 37 | | o---+ (16) merge two known; one immediate right, one near right
38 38 | | |/ /
39 39 o | | | (15) expand
40 40 |\ \ \ \
41 41 | o-----+ (14) merge two known; one immediate right, one far right
42 42 | |/ / /
43 43 o | | | (13) expand
44 44 |\ \ \ \
45 45 +---o | | (12) merge two known; one immediate right, one far left
46 46 | | |/ /
47 47 | o | | (11) expand
48 48 | |\ \ \
49 49 | | o---+ (10) merge two known; one immediate left, one near right
50 50 | |/ / /
51 51 o | | | (9) expand
52 52 |\ \ \ \
53 53 | o-----+ (8) merge two known; one immediate left, one far right
54 54 |/ / / /
55 55 o | | | (7) expand
56 56 |\ \ \ \
57 57 +---o | | (6) merge two known; one immediate left, one far left
58 58 | |/ / /
59 59 | o | | (5) expand
60 60 | |\ \ \
61 61 | | o | | (4) merge two known; one immediate left, one immediate right
62 62 | |/|/ /
63 63 | o / / (3) collapse
64 64 |/ / /
65 65 o / / (2) collapse
66 66 |/ /
67 67 o / (1) collapse
68 68 |/
69 69 o (0) root
70 70
71 71
72 72 $ "$TESTDIR/hghave" no-outer-repo || exit 80
73 73
74 74 $ commit()
75 75 > {
76 76 > rev=$1
77 77 > msg=$2
78 78 > shift 2
79 79 > if [ "$#" -gt 0 ]; then
80 80 > hg debugsetparents "$@"
81 81 > fi
82 82 > echo $rev > a
83 83 > hg commit -Aqd "$rev 0" -m "($rev) $msg"
84 84 > }
85 85
86 86 $ echo "[extensions]" >> $HGRCPATH
87 87 $ echo "graphlog=" >> $HGRCPATH
88 88
89 89 $ hg init repo
90 90 $ cd repo
91 91
92 92 Empty repo:
93 93
94 94 $ hg glog
95 95
96 96
97 97 Building DAG:
98 98
99 99 $ commit 0 "root"
100 100 $ commit 1 "collapse" 0
101 101 $ commit 2 "collapse" 1
102 102 $ commit 3 "collapse" 2
103 103 $ commit 4 "merge two known; one immediate left, one immediate right" 1 3
104 104 $ commit 5 "expand" 3 4
105 105 $ commit 6 "merge two known; one immediate left, one far left" 2 5
106 106 $ commit 7 "expand" 2 5
107 107 $ commit 8 "merge two known; one immediate left, one far right" 0 7
108 108 $ commit 9 "expand" 7 8
109 109 $ commit 10 "merge two known; one immediate left, one near right" 0 6
110 110 $ commit 11 "expand" 6 10
111 111 $ commit 12 "merge two known; one immediate right, one far left" 1 9
112 112 $ commit 13 "expand" 9 11
113 113 $ commit 14 "merge two known; one immediate right, one far right" 0 12
114 114 $ commit 15 "expand" 13 14
115 115 $ commit 16 "merge two known; one immediate right, one near right" 0 1
116 116 $ commit 17 "expand" 12 16
117 117 $ commit 18 "merge two known; two far left" 1 15
118 118 $ commit 19 "expand" 15 17
119 119 $ commit 20 "merge two known; two far right" 0 18
120 120 $ commit 21 "expand" 19 20
121 121 $ commit 22 "merge two known; one far left, one far right" 18 21
122 122 $ commit 23 "merge one known; immediate left" 1 22
123 123 $ commit 24 "merge one known; immediate right" 0 23
124 124 $ commit 25 "merge one known; far left" 21 24
125 125 $ commit 26 "merge one known; far right" 18 25
126 126 $ commit 27 "collapse" 21
127 127 $ commit 28 "merge zero known" 1 26
128 128 $ commit 29 "regular commit" 0
129 129 $ commit 30 "expand" 28 29
130 130 $ commit 31 "expand" 21 30
131 131 $ commit 32 "expand" 27 31
132 132 $ commit 33 "head" 18
133 133 $ commit 34 "head" 32
134 134
135 135
136 136 $ hg glog -q
137 137 @ 34:fea3ac5810e0
138 138 |
139 139 | o 33:68608f5145f9
140 140 | |
141 141 o | 32:d06dffa21a31
142 142 |\ \
143 143 | o \ 31:621d83e11f67
144 144 | |\ \
145 145 | | o \ 30:6e11cd4b648f
146 146 | | |\ \
147 147 | | | o | 29:cd9bb2be7593
148 148 | | | | |
149 149 | | o | | 28:44ecd0b9ae99
150 150 | | |\ \ \
151 151 o | | | | | 27:886ed638191b
152 152 |/ / / / /
153 153 | | o---+ 26:7f25b6c2f0b9
154 154 | | | | |
155 155 +---o | | 25:91da8ed57247
156 156 | | | | |
157 157 | | o | | 24:a9c19a3d96b7
158 158 | | |\| |
159 159 | | o | | 23:a01cddf0766d
160 160 | |/| | |
161 161 +---o---+ 22:e0d9cccacb5d
162 162 | | / /
163 163 o | | | 21:d42a756af44d
164 164 |\ \ \ \
165 165 | o---+-+ 20:d30ed6450e32
166 166 | / / /
167 167 o | | | 19:31ddc2c1573b
168 168 |\ \ \ \
169 169 +---+---o 18:1aa84d96232a
170 170 | | | |
171 171 | o | | 17:44765d7c06e0
172 172 | |\ \ \
173 173 | | o---+ 16:3677d192927d
174 174 | | |/ /
175 175 o | | | 15:1dda3f72782d
176 176 |\ \ \ \
177 177 | o-----+ 14:8eac370358ef
178 178 | |/ / /
179 179 o | | | 13:22d8966a97e3
180 180 |\ \ \ \
181 181 +---o | | 12:86b91144a6e9
182 182 | | |/ /
183 183 | o | | 11:832d76e6bdf2
184 184 | |\ \ \
185 185 | | o---+ 10:74c64d036d72
186 186 | |/ / /
187 187 o | | | 9:7010c0af0a35
188 188 |\ \ \ \
189 189 | o-----+ 8:7a0b11f71937
190 190 |/ / / /
191 191 o | | | 7:b632bb1b1224
192 192 |\ \ \ \
193 193 +---o | | 6:b105a072e251
194 194 | |/ / /
195 195 | o | | 5:4409d547b708
196 196 | |\ \ \
197 197 | | o | | 4:26a8bac39d9f
198 198 | |/|/ /
199 199 | o / / 3:27eef8ed80b4
200 200 |/ / /
201 201 o / / 2:3d9a33b8d1e1
202 202 |/ /
203 203 o / 1:6db2ef61d156
204 204 |/
205 205 o 0:e6eb3150255d
206 206
207 207
208 208 $ hg glog
209 209 @ changeset: 34:fea3ac5810e0
210 210 | tag: tip
211 211 | parent: 32:d06dffa21a31
212 212 | user: test
213 213 | date: Thu Jan 01 00:00:34 1970 +0000
214 214 | summary: (34) head
215 215 |
216 216 | o changeset: 33:68608f5145f9
217 217 | | parent: 18:1aa84d96232a
218 218 | | user: test
219 219 | | date: Thu Jan 01 00:00:33 1970 +0000
220 220 | | summary: (33) head
221 221 | |
222 222 o | changeset: 32:d06dffa21a31
223 223 |\ \ parent: 27:886ed638191b
224 224 | | | parent: 31:621d83e11f67
225 225 | | | user: test
226 226 | | | date: Thu Jan 01 00:00:32 1970 +0000
227 227 | | | summary: (32) expand
228 228 | | |
229 229 | o | changeset: 31:621d83e11f67
230 230 | |\ \ parent: 21:d42a756af44d
231 231 | | | | parent: 30:6e11cd4b648f
232 232 | | | | user: test
233 233 | | | | date: Thu Jan 01 00:00:31 1970 +0000
234 234 | | | | summary: (31) expand
235 235 | | | |
236 236 | | o | changeset: 30:6e11cd4b648f
237 237 | | |\ \ parent: 28:44ecd0b9ae99
238 238 | | | | | parent: 29:cd9bb2be7593
239 239 | | | | | user: test
240 240 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
241 241 | | | | | summary: (30) expand
242 242 | | | | |
243 243 | | | o | changeset: 29:cd9bb2be7593
244 244 | | | | | parent: 0:e6eb3150255d
245 245 | | | | | user: test
246 246 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
247 247 | | | | | summary: (29) regular commit
248 248 | | | | |
249 249 | | o | | changeset: 28:44ecd0b9ae99
250 250 | | |\ \ \ parent: 1:6db2ef61d156
251 251 | | | | | | parent: 26:7f25b6c2f0b9
252 252 | | | | | | user: test
253 253 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
254 254 | | | | | | summary: (28) merge zero known
255 255 | | | | | |
256 256 o | | | | | changeset: 27:886ed638191b
257 257 |/ / / / / parent: 21:d42a756af44d
258 258 | | | | | user: test
259 259 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
260 260 | | | | | summary: (27) collapse
261 261 | | | | |
262 262 | | o---+ changeset: 26:7f25b6c2f0b9
263 263 | | | | | parent: 18:1aa84d96232a
264 264 | | | | | parent: 25:91da8ed57247
265 265 | | | | | user: test
266 266 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
267 267 | | | | | summary: (26) merge one known; far right
268 268 | | | | |
269 269 +---o | | changeset: 25:91da8ed57247
270 270 | | | | | parent: 21:d42a756af44d
271 271 | | | | | parent: 24:a9c19a3d96b7
272 272 | | | | | user: test
273 273 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
274 274 | | | | | summary: (25) merge one known; far left
275 275 | | | | |
276 276 | | o | | changeset: 24:a9c19a3d96b7
277 277 | | |\| | parent: 0:e6eb3150255d
278 278 | | | | | parent: 23:a01cddf0766d
279 279 | | | | | user: test
280 280 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
281 281 | | | | | summary: (24) merge one known; immediate right
282 282 | | | | |
283 283 | | o | | changeset: 23:a01cddf0766d
284 284 | |/| | | parent: 1:6db2ef61d156
285 285 | | | | | parent: 22:e0d9cccacb5d
286 286 | | | | | user: test
287 287 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
288 288 | | | | | summary: (23) merge one known; immediate left
289 289 | | | | |
290 290 +---o---+ changeset: 22:e0d9cccacb5d
291 291 | | | | parent: 18:1aa84d96232a
292 292 | | / / parent: 21:d42a756af44d
293 293 | | | | user: test
294 294 | | | | date: Thu Jan 01 00:00:22 1970 +0000
295 295 | | | | summary: (22) merge two known; one far left, one far right
296 296 | | | |
297 297 o | | | changeset: 21:d42a756af44d
298 298 |\ \ \ \ parent: 19:31ddc2c1573b
299 299 | | | | | parent: 20:d30ed6450e32
300 300 | | | | | user: test
301 301 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
302 302 | | | | | summary: (21) expand
303 303 | | | | |
304 304 | o---+-+ changeset: 20:d30ed6450e32
305 305 | | | | parent: 0:e6eb3150255d
306 306 | / / / parent: 18:1aa84d96232a
307 307 | | | | user: test
308 308 | | | | date: Thu Jan 01 00:00:20 1970 +0000
309 309 | | | | summary: (20) merge two known; two far right
310 310 | | | |
311 311 o | | | changeset: 19:31ddc2c1573b
312 312 |\ \ \ \ parent: 15:1dda3f72782d
313 313 | | | | | parent: 17:44765d7c06e0
314 314 | | | | | user: test
315 315 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
316 316 | | | | | summary: (19) expand
317 317 | | | | |
318 318 +---+---o changeset: 18:1aa84d96232a
319 319 | | | | parent: 1:6db2ef61d156
320 320 | | | | parent: 15:1dda3f72782d
321 321 | | | | user: test
322 322 | | | | date: Thu Jan 01 00:00:18 1970 +0000
323 323 | | | | summary: (18) merge two known; two far left
324 324 | | | |
325 325 | o | | changeset: 17:44765d7c06e0
326 326 | |\ \ \ parent: 12:86b91144a6e9
327 327 | | | | | parent: 16:3677d192927d
328 328 | | | | | user: test
329 329 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
330 330 | | | | | summary: (17) expand
331 331 | | | | |
332 332 | | o---+ changeset: 16:3677d192927d
333 333 | | | | | parent: 0:e6eb3150255d
334 334 | | |/ / parent: 1:6db2ef61d156
335 335 | | | | user: test
336 336 | | | | date: Thu Jan 01 00:00:16 1970 +0000
337 337 | | | | summary: (16) merge two known; one immediate right, one near right
338 338 | | | |
339 339 o | | | changeset: 15:1dda3f72782d
340 340 |\ \ \ \ parent: 13:22d8966a97e3
341 341 | | | | | parent: 14:8eac370358ef
342 342 | | | | | user: test
343 343 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
344 344 | | | | | summary: (15) expand
345 345 | | | | |
346 346 | o-----+ changeset: 14:8eac370358ef
347 347 | | | | | parent: 0:e6eb3150255d
348 348 | |/ / / parent: 12:86b91144a6e9
349 349 | | | | user: test
350 350 | | | | date: Thu Jan 01 00:00:14 1970 +0000
351 351 | | | | summary: (14) merge two known; one immediate right, one far right
352 352 | | | |
353 353 o | | | changeset: 13:22d8966a97e3
354 354 |\ \ \ \ parent: 9:7010c0af0a35
355 355 | | | | | parent: 11:832d76e6bdf2
356 356 | | | | | user: test
357 357 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
358 358 | | | | | summary: (13) expand
359 359 | | | | |
360 360 +---o | | changeset: 12:86b91144a6e9
361 361 | | |/ / parent: 1:6db2ef61d156
362 362 | | | | parent: 9:7010c0af0a35
363 363 | | | | user: test
364 364 | | | | date: Thu Jan 01 00:00:12 1970 +0000
365 365 | | | | summary: (12) merge two known; one immediate right, one far left
366 366 | | | |
367 367 | o | | changeset: 11:832d76e6bdf2
368 368 | |\ \ \ parent: 6:b105a072e251
369 369 | | | | | parent: 10:74c64d036d72
370 370 | | | | | user: test
371 371 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
372 372 | | | | | summary: (11) expand
373 373 | | | | |
374 374 | | o---+ changeset: 10:74c64d036d72
375 375 | | | | | parent: 0:e6eb3150255d
376 376 | |/ / / parent: 6:b105a072e251
377 377 | | | | user: test
378 378 | | | | date: Thu Jan 01 00:00:10 1970 +0000
379 379 | | | | summary: (10) merge two known; one immediate left, one near right
380 380 | | | |
381 381 o | | | changeset: 9:7010c0af0a35
382 382 |\ \ \ \ parent: 7:b632bb1b1224
383 383 | | | | | parent: 8:7a0b11f71937
384 384 | | | | | user: test
385 385 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
386 386 | | | | | summary: (9) expand
387 387 | | | | |
388 388 | o-----+ changeset: 8:7a0b11f71937
389 389 | | | | | parent: 0:e6eb3150255d
390 390 |/ / / / parent: 7:b632bb1b1224
391 391 | | | | user: test
392 392 | | | | date: Thu Jan 01 00:00:08 1970 +0000
393 393 | | | | summary: (8) merge two known; one immediate left, one far right
394 394 | | | |
395 395 o | | | changeset: 7:b632bb1b1224
396 396 |\ \ \ \ parent: 2:3d9a33b8d1e1
397 397 | | | | | parent: 5:4409d547b708
398 398 | | | | | user: test
399 399 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
400 400 | | | | | summary: (7) expand
401 401 | | | | |
402 402 +---o | | changeset: 6:b105a072e251
403 403 | |/ / / parent: 2:3d9a33b8d1e1
404 404 | | | | parent: 5:4409d547b708
405 405 | | | | user: test
406 406 | | | | date: Thu Jan 01 00:00:06 1970 +0000
407 407 | | | | summary: (6) merge two known; one immediate left, one far left
408 408 | | | |
409 409 | o | | changeset: 5:4409d547b708
410 410 | |\ \ \ parent: 3:27eef8ed80b4
411 411 | | | | | parent: 4:26a8bac39d9f
412 412 | | | | | user: test
413 413 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
414 414 | | | | | summary: (5) expand
415 415 | | | | |
416 416 | | o | | changeset: 4:26a8bac39d9f
417 417 | |/|/ / parent: 1:6db2ef61d156
418 418 | | | | parent: 3:27eef8ed80b4
419 419 | | | | user: test
420 420 | | | | date: Thu Jan 01 00:00:04 1970 +0000
421 421 | | | | summary: (4) merge two known; one immediate left, one immediate right
422 422 | | | |
423 423 | o | | changeset: 3:27eef8ed80b4
424 424 |/ / / user: test
425 425 | | | date: Thu Jan 01 00:00:03 1970 +0000
426 426 | | | summary: (3) collapse
427 427 | | |
428 428 o | | changeset: 2:3d9a33b8d1e1
429 429 |/ / user: test
430 430 | | date: Thu Jan 01 00:00:02 1970 +0000
431 431 | | summary: (2) collapse
432 432 | |
433 433 o | changeset: 1:6db2ef61d156
434 434 |/ user: test
435 435 | date: Thu Jan 01 00:00:01 1970 +0000
436 436 | summary: (1) collapse
437 437 |
438 438 o changeset: 0:e6eb3150255d
439 439 user: test
440 440 date: Thu Jan 01 00:00:00 1970 +0000
441 441 summary: (0) root
442 442
443 443
444 444 File glog:
445 445 $ hg glog a
446 446 @ changeset: 34:fea3ac5810e0
447 447 | tag: tip
448 448 | parent: 32:d06dffa21a31
449 449 | user: test
450 450 | date: Thu Jan 01 00:00:34 1970 +0000
451 451 | summary: (34) head
452 452 |
453 453 | o changeset: 33:68608f5145f9
454 454 | | parent: 18:1aa84d96232a
455 455 | | user: test
456 456 | | date: Thu Jan 01 00:00:33 1970 +0000
457 457 | | summary: (33) head
458 458 | |
459 459 o | changeset: 32:d06dffa21a31
460 460 |\ \ parent: 27:886ed638191b
461 461 | | | parent: 31:621d83e11f67
462 462 | | | user: test
463 463 | | | date: Thu Jan 01 00:00:32 1970 +0000
464 464 | | | summary: (32) expand
465 465 | | |
466 466 | o | changeset: 31:621d83e11f67
467 467 | |\ \ parent: 21:d42a756af44d
468 468 | | | | parent: 30:6e11cd4b648f
469 469 | | | | user: test
470 470 | | | | date: Thu Jan 01 00:00:31 1970 +0000
471 471 | | | | summary: (31) expand
472 472 | | | |
473 473 | | o | changeset: 30:6e11cd4b648f
474 474 | | |\ \ parent: 28:44ecd0b9ae99
475 475 | | | | | parent: 29:cd9bb2be7593
476 476 | | | | | user: test
477 477 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
478 478 | | | | | summary: (30) expand
479 479 | | | | |
480 480 | | | o | changeset: 29:cd9bb2be7593
481 481 | | | | | parent: 0:e6eb3150255d
482 482 | | | | | user: test
483 483 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
484 484 | | | | | summary: (29) regular commit
485 485 | | | | |
486 486 | | o | | changeset: 28:44ecd0b9ae99
487 487 | | |\ \ \ parent: 1:6db2ef61d156
488 488 | | | | | | parent: 26:7f25b6c2f0b9
489 489 | | | | | | user: test
490 490 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
491 491 | | | | | | summary: (28) merge zero known
492 492 | | | | | |
493 493 o | | | | | changeset: 27:886ed638191b
494 494 |/ / / / / parent: 21:d42a756af44d
495 495 | | | | | user: test
496 496 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
497 497 | | | | | summary: (27) collapse
498 498 | | | | |
499 499 | | o---+ changeset: 26:7f25b6c2f0b9
500 500 | | | | | parent: 18:1aa84d96232a
501 501 | | | | | parent: 25:91da8ed57247
502 502 | | | | | user: test
503 503 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
504 504 | | | | | summary: (26) merge one known; far right
505 505 | | | | |
506 506 +---o | | changeset: 25:91da8ed57247
507 507 | | | | | parent: 21:d42a756af44d
508 508 | | | | | parent: 24:a9c19a3d96b7
509 509 | | | | | user: test
510 510 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
511 511 | | | | | summary: (25) merge one known; far left
512 512 | | | | |
513 513 | | o | | changeset: 24:a9c19a3d96b7
514 514 | | |\| | parent: 0:e6eb3150255d
515 515 | | | | | parent: 23:a01cddf0766d
516 516 | | | | | user: test
517 517 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
518 518 | | | | | summary: (24) merge one known; immediate right
519 519 | | | | |
520 520 | | o | | changeset: 23:a01cddf0766d
521 521 | |/| | | parent: 1:6db2ef61d156
522 522 | | | | | parent: 22:e0d9cccacb5d
523 523 | | | | | user: test
524 524 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
525 525 | | | | | summary: (23) merge one known; immediate left
526 526 | | | | |
527 527 +---o---+ changeset: 22:e0d9cccacb5d
528 528 | | | | parent: 18:1aa84d96232a
529 529 | | / / parent: 21:d42a756af44d
530 530 | | | | user: test
531 531 | | | | date: Thu Jan 01 00:00:22 1970 +0000
532 532 | | | | summary: (22) merge two known; one far left, one far right
533 533 | | | |
534 534 o | | | changeset: 21:d42a756af44d
535 535 |\ \ \ \ parent: 19:31ddc2c1573b
536 536 | | | | | parent: 20:d30ed6450e32
537 537 | | | | | user: test
538 538 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
539 539 | | | | | summary: (21) expand
540 540 | | | | |
541 541 | o---+-+ changeset: 20:d30ed6450e32
542 542 | | | | parent: 0:e6eb3150255d
543 543 | / / / parent: 18:1aa84d96232a
544 544 | | | | user: test
545 545 | | | | date: Thu Jan 01 00:00:20 1970 +0000
546 546 | | | | summary: (20) merge two known; two far right
547 547 | | | |
548 548 o | | | changeset: 19:31ddc2c1573b
549 549 |\ \ \ \ parent: 15:1dda3f72782d
550 550 | | | | | parent: 17:44765d7c06e0
551 551 | | | | | user: test
552 552 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
553 553 | | | | | summary: (19) expand
554 554 | | | | |
555 555 +---+---o changeset: 18:1aa84d96232a
556 556 | | | | parent: 1:6db2ef61d156
557 557 | | | | parent: 15:1dda3f72782d
558 558 | | | | user: test
559 559 | | | | date: Thu Jan 01 00:00:18 1970 +0000
560 560 | | | | summary: (18) merge two known; two far left
561 561 | | | |
562 562 | o | | changeset: 17:44765d7c06e0
563 563 | |\ \ \ parent: 12:86b91144a6e9
564 564 | | | | | parent: 16:3677d192927d
565 565 | | | | | user: test
566 566 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
567 567 | | | | | summary: (17) expand
568 568 | | | | |
569 569 | | o---+ changeset: 16:3677d192927d
570 570 | | | | | parent: 0:e6eb3150255d
571 571 | | |/ / parent: 1:6db2ef61d156
572 572 | | | | user: test
573 573 | | | | date: Thu Jan 01 00:00:16 1970 +0000
574 574 | | | | summary: (16) merge two known; one immediate right, one near right
575 575 | | | |
576 576 o | | | changeset: 15:1dda3f72782d
577 577 |\ \ \ \ parent: 13:22d8966a97e3
578 578 | | | | | parent: 14:8eac370358ef
579 579 | | | | | user: test
580 580 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
581 581 | | | | | summary: (15) expand
582 582 | | | | |
583 583 | o-----+ changeset: 14:8eac370358ef
584 584 | | | | | parent: 0:e6eb3150255d
585 585 | |/ / / parent: 12:86b91144a6e9
586 586 | | | | user: test
587 587 | | | | date: Thu Jan 01 00:00:14 1970 +0000
588 588 | | | | summary: (14) merge two known; one immediate right, one far right
589 589 | | | |
590 590 o | | | changeset: 13:22d8966a97e3
591 591 |\ \ \ \ parent: 9:7010c0af0a35
592 592 | | | | | parent: 11:832d76e6bdf2
593 593 | | | | | user: test
594 594 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
595 595 | | | | | summary: (13) expand
596 596 | | | | |
597 597 +---o | | changeset: 12:86b91144a6e9
598 598 | | |/ / parent: 1:6db2ef61d156
599 599 | | | | parent: 9:7010c0af0a35
600 600 | | | | user: test
601 601 | | | | date: Thu Jan 01 00:00:12 1970 +0000
602 602 | | | | summary: (12) merge two known; one immediate right, one far left
603 603 | | | |
604 604 | o | | changeset: 11:832d76e6bdf2
605 605 | |\ \ \ parent: 6:b105a072e251
606 606 | | | | | parent: 10:74c64d036d72
607 607 | | | | | user: test
608 608 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
609 609 | | | | | summary: (11) expand
610 610 | | | | |
611 611 | | o---+ changeset: 10:74c64d036d72
612 612 | | | | | parent: 0:e6eb3150255d
613 613 | |/ / / parent: 6:b105a072e251
614 614 | | | | user: test
615 615 | | | | date: Thu Jan 01 00:00:10 1970 +0000
616 616 | | | | summary: (10) merge two known; one immediate left, one near right
617 617 | | | |
618 618 o | | | changeset: 9:7010c0af0a35
619 619 |\ \ \ \ parent: 7:b632bb1b1224
620 620 | | | | | parent: 8:7a0b11f71937
621 621 | | | | | user: test
622 622 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
623 623 | | | | | summary: (9) expand
624 624 | | | | |
625 625 | o-----+ changeset: 8:7a0b11f71937
626 626 | | | | | parent: 0:e6eb3150255d
627 627 |/ / / / parent: 7:b632bb1b1224
628 628 | | | | user: test
629 629 | | | | date: Thu Jan 01 00:00:08 1970 +0000
630 630 | | | | summary: (8) merge two known; one immediate left, one far right
631 631 | | | |
632 632 o | | | changeset: 7:b632bb1b1224
633 633 |\ \ \ \ parent: 2:3d9a33b8d1e1
634 634 | | | | | parent: 5:4409d547b708
635 635 | | | | | user: test
636 636 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
637 637 | | | | | summary: (7) expand
638 638 | | | | |
639 639 +---o | | changeset: 6:b105a072e251
640 640 | |/ / / parent: 2:3d9a33b8d1e1
641 641 | | | | parent: 5:4409d547b708
642 642 | | | | user: test
643 643 | | | | date: Thu Jan 01 00:00:06 1970 +0000
644 644 | | | | summary: (6) merge two known; one immediate left, one far left
645 645 | | | |
646 646 | o | | changeset: 5:4409d547b708
647 647 | |\ \ \ parent: 3:27eef8ed80b4
648 648 | | | | | parent: 4:26a8bac39d9f
649 649 | | | | | user: test
650 650 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
651 651 | | | | | summary: (5) expand
652 652 | | | | |
653 653 | | o | | changeset: 4:26a8bac39d9f
654 654 | |/|/ / parent: 1:6db2ef61d156
655 655 | | | | parent: 3:27eef8ed80b4
656 656 | | | | user: test
657 657 | | | | date: Thu Jan 01 00:00:04 1970 +0000
658 658 | | | | summary: (4) merge two known; one immediate left, one immediate right
659 659 | | | |
660 660 | o | | changeset: 3:27eef8ed80b4
661 661 |/ / / user: test
662 662 | | | date: Thu Jan 01 00:00:03 1970 +0000
663 663 | | | summary: (3) collapse
664 664 | | |
665 665 o | | changeset: 2:3d9a33b8d1e1
666 666 |/ / user: test
667 667 | | date: Thu Jan 01 00:00:02 1970 +0000
668 668 | | summary: (2) collapse
669 669 | |
670 670 o | changeset: 1:6db2ef61d156
671 671 |/ user: test
672 672 | date: Thu Jan 01 00:00:01 1970 +0000
673 673 | summary: (1) collapse
674 674 |
675 675 o changeset: 0:e6eb3150255d
676 676 user: test
677 677 date: Thu Jan 01 00:00:00 1970 +0000
678 678 summary: (0) root
679 679
680 680
681 681 File glog per revset:
682 682
683 683 $ hg glog -r 'file("a")'
684 684 @ changeset: 34:fea3ac5810e0
685 685 | tag: tip
686 686 | parent: 32:d06dffa21a31
687 687 | user: test
688 688 | date: Thu Jan 01 00:00:34 1970 +0000
689 689 | summary: (34) head
690 690 |
691 691 | o changeset: 33:68608f5145f9
692 692 | | parent: 18:1aa84d96232a
693 693 | | user: test
694 694 | | date: Thu Jan 01 00:00:33 1970 +0000
695 695 | | summary: (33) head
696 696 | |
697 697 o | changeset: 32:d06dffa21a31
698 698 |\ \ parent: 27:886ed638191b
699 699 | | | parent: 31:621d83e11f67
700 700 | | | user: test
701 701 | | | date: Thu Jan 01 00:00:32 1970 +0000
702 702 | | | summary: (32) expand
703 703 | | |
704 704 | o | changeset: 31:621d83e11f67
705 705 | |\ \ parent: 21:d42a756af44d
706 706 | | | | parent: 30:6e11cd4b648f
707 707 | | | | user: test
708 708 | | | | date: Thu Jan 01 00:00:31 1970 +0000
709 709 | | | | summary: (31) expand
710 710 | | | |
711 711 | | o | changeset: 30:6e11cd4b648f
712 712 | | |\ \ parent: 28:44ecd0b9ae99
713 713 | | | | | parent: 29:cd9bb2be7593
714 714 | | | | | user: test
715 715 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
716 716 | | | | | summary: (30) expand
717 717 | | | | |
718 718 | | | o | changeset: 29:cd9bb2be7593
719 719 | | | | | parent: 0:e6eb3150255d
720 720 | | | | | user: test
721 721 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
722 722 | | | | | summary: (29) regular commit
723 723 | | | | |
724 724 | | o | | changeset: 28:44ecd0b9ae99
725 725 | | |\ \ \ parent: 1:6db2ef61d156
726 726 | | | | | | parent: 26:7f25b6c2f0b9
727 727 | | | | | | user: test
728 728 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
729 729 | | | | | | summary: (28) merge zero known
730 730 | | | | | |
731 731 o | | | | | changeset: 27:886ed638191b
732 732 |/ / / / / parent: 21:d42a756af44d
733 733 | | | | | user: test
734 734 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
735 735 | | | | | summary: (27) collapse
736 736 | | | | |
737 737 | | o---+ changeset: 26:7f25b6c2f0b9
738 738 | | | | | parent: 18:1aa84d96232a
739 739 | | | | | parent: 25:91da8ed57247
740 740 | | | | | user: test
741 741 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
742 742 | | | | | summary: (26) merge one known; far right
743 743 | | | | |
744 744 +---o | | changeset: 25:91da8ed57247
745 745 | | | | | parent: 21:d42a756af44d
746 746 | | | | | parent: 24:a9c19a3d96b7
747 747 | | | | | user: test
748 748 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
749 749 | | | | | summary: (25) merge one known; far left
750 750 | | | | |
751 751 | | o | | changeset: 24:a9c19a3d96b7
752 752 | | |\| | parent: 0:e6eb3150255d
753 753 | | | | | parent: 23:a01cddf0766d
754 754 | | | | | user: test
755 755 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
756 756 | | | | | summary: (24) merge one known; immediate right
757 757 | | | | |
758 758 | | o | | changeset: 23:a01cddf0766d
759 759 | |/| | | parent: 1:6db2ef61d156
760 760 | | | | | parent: 22:e0d9cccacb5d
761 761 | | | | | user: test
762 762 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
763 763 | | | | | summary: (23) merge one known; immediate left
764 764 | | | | |
765 765 +---o---+ changeset: 22:e0d9cccacb5d
766 766 | | | | parent: 18:1aa84d96232a
767 767 | | / / parent: 21:d42a756af44d
768 768 | | | | user: test
769 769 | | | | date: Thu Jan 01 00:00:22 1970 +0000
770 770 | | | | summary: (22) merge two known; one far left, one far right
771 771 | | | |
772 772 o | | | changeset: 21:d42a756af44d
773 773 |\ \ \ \ parent: 19:31ddc2c1573b
774 774 | | | | | parent: 20:d30ed6450e32
775 775 | | | | | user: test
776 776 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
777 777 | | | | | summary: (21) expand
778 778 | | | | |
779 779 | o---+-+ changeset: 20:d30ed6450e32
780 780 | | | | parent: 0:e6eb3150255d
781 781 | / / / parent: 18:1aa84d96232a
782 782 | | | | user: test
783 783 | | | | date: Thu Jan 01 00:00:20 1970 +0000
784 784 | | | | summary: (20) merge two known; two far right
785 785 | | | |
786 786 o | | | changeset: 19:31ddc2c1573b
787 787 |\ \ \ \ parent: 15:1dda3f72782d
788 788 | | | | | parent: 17:44765d7c06e0
789 789 | | | | | user: test
790 790 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
791 791 | | | | | summary: (19) expand
792 792 | | | | |
793 793 +---+---o changeset: 18:1aa84d96232a
794 794 | | | | parent: 1:6db2ef61d156
795 795 | | | | parent: 15:1dda3f72782d
796 796 | | | | user: test
797 797 | | | | date: Thu Jan 01 00:00:18 1970 +0000
798 798 | | | | summary: (18) merge two known; two far left
799 799 | | | |
800 800 | o | | changeset: 17:44765d7c06e0
801 801 | |\ \ \ parent: 12:86b91144a6e9
802 802 | | | | | parent: 16:3677d192927d
803 803 | | | | | user: test
804 804 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
805 805 | | | | | summary: (17) expand
806 806 | | | | |
807 807 | | o---+ changeset: 16:3677d192927d
808 808 | | | | | parent: 0:e6eb3150255d
809 809 | | |/ / parent: 1:6db2ef61d156
810 810 | | | | user: test
811 811 | | | | date: Thu Jan 01 00:00:16 1970 +0000
812 812 | | | | summary: (16) merge two known; one immediate right, one near right
813 813 | | | |
814 814 o | | | changeset: 15:1dda3f72782d
815 815 |\ \ \ \ parent: 13:22d8966a97e3
816 816 | | | | | parent: 14:8eac370358ef
817 817 | | | | | user: test
818 818 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
819 819 | | | | | summary: (15) expand
820 820 | | | | |
821 821 | o-----+ changeset: 14:8eac370358ef
822 822 | | | | | parent: 0:e6eb3150255d
823 823 | |/ / / parent: 12:86b91144a6e9
824 824 | | | | user: test
825 825 | | | | date: Thu Jan 01 00:00:14 1970 +0000
826 826 | | | | summary: (14) merge two known; one immediate right, one far right
827 827 | | | |
828 828 o | | | changeset: 13:22d8966a97e3
829 829 |\ \ \ \ parent: 9:7010c0af0a35
830 830 | | | | | parent: 11:832d76e6bdf2
831 831 | | | | | user: test
832 832 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
833 833 | | | | | summary: (13) expand
834 834 | | | | |
835 835 +---o | | changeset: 12:86b91144a6e9
836 836 | | |/ / parent: 1:6db2ef61d156
837 837 | | | | parent: 9:7010c0af0a35
838 838 | | | | user: test
839 839 | | | | date: Thu Jan 01 00:00:12 1970 +0000
840 840 | | | | summary: (12) merge two known; one immediate right, one far left
841 841 | | | |
842 842 | o | | changeset: 11:832d76e6bdf2
843 843 | |\ \ \ parent: 6:b105a072e251
844 844 | | | | | parent: 10:74c64d036d72
845 845 | | | | | user: test
846 846 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
847 847 | | | | | summary: (11) expand
848 848 | | | | |
849 849 | | o---+ changeset: 10:74c64d036d72
850 850 | | | | | parent: 0:e6eb3150255d
851 851 | |/ / / parent: 6:b105a072e251
852 852 | | | | user: test
853 853 | | | | date: Thu Jan 01 00:00:10 1970 +0000
854 854 | | | | summary: (10) merge two known; one immediate left, one near right
855 855 | | | |
856 856 o | | | changeset: 9:7010c0af0a35
857 857 |\ \ \ \ parent: 7:b632bb1b1224
858 858 | | | | | parent: 8:7a0b11f71937
859 859 | | | | | user: test
860 860 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
861 861 | | | | | summary: (9) expand
862 862 | | | | |
863 863 | o-----+ changeset: 8:7a0b11f71937
864 864 | | | | | parent: 0:e6eb3150255d
865 865 |/ / / / parent: 7:b632bb1b1224
866 866 | | | | user: test
867 867 | | | | date: Thu Jan 01 00:00:08 1970 +0000
868 868 | | | | summary: (8) merge two known; one immediate left, one far right
869 869 | | | |
870 870 o | | | changeset: 7:b632bb1b1224
871 871 |\ \ \ \ parent: 2:3d9a33b8d1e1
872 872 | | | | | parent: 5:4409d547b708
873 873 | | | | | user: test
874 874 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
875 875 | | | | | summary: (7) expand
876 876 | | | | |
877 877 +---o | | changeset: 6:b105a072e251
878 878 | |/ / / parent: 2:3d9a33b8d1e1
879 879 | | | | parent: 5:4409d547b708
880 880 | | | | user: test
881 881 | | | | date: Thu Jan 01 00:00:06 1970 +0000
882 882 | | | | summary: (6) merge two known; one immediate left, one far left
883 883 | | | |
884 884 | o | | changeset: 5:4409d547b708
885 885 | |\ \ \ parent: 3:27eef8ed80b4
886 886 | | | | | parent: 4:26a8bac39d9f
887 887 | | | | | user: test
888 888 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
889 889 | | | | | summary: (5) expand
890 890 | | | | |
891 891 | | o | | changeset: 4:26a8bac39d9f
892 892 | |/|/ / parent: 1:6db2ef61d156
893 893 | | | | parent: 3:27eef8ed80b4
894 894 | | | | user: test
895 895 | | | | date: Thu Jan 01 00:00:04 1970 +0000
896 896 | | | | summary: (4) merge two known; one immediate left, one immediate right
897 897 | | | |
898 898 | o | | changeset: 3:27eef8ed80b4
899 899 |/ / / user: test
900 900 | | | date: Thu Jan 01 00:00:03 1970 +0000
901 901 | | | summary: (3) collapse
902 902 | | |
903 903 o | | changeset: 2:3d9a33b8d1e1
904 904 |/ / user: test
905 905 | | date: Thu Jan 01 00:00:02 1970 +0000
906 906 | | summary: (2) collapse
907 907 | |
908 908 o | changeset: 1:6db2ef61d156
909 909 |/ user: test
910 910 | date: Thu Jan 01 00:00:01 1970 +0000
911 911 | summary: (1) collapse
912 912 |
913 913 o changeset: 0:e6eb3150255d
914 914 user: test
915 915 date: Thu Jan 01 00:00:00 1970 +0000
916 916 summary: (0) root
917 917
918 918
919 919
920 920 File glog per revset (only merges):
921 921
922 922 $ hg log -G -r 'file("a")' -m
923 923 o changeset: 32:d06dffa21a31
924 924 |\ parent: 27:886ed638191b
925 925 | | parent: 31:621d83e11f67
926 926 | | user: test
927 927 | | date: Thu Jan 01 00:00:32 1970 +0000
928 928 | | summary: (32) expand
929 929 | |
930 930 o | changeset: 31:621d83e11f67
931 931 |\| parent: 21:d42a756af44d
932 932 | | parent: 30:6e11cd4b648f
933 933 | | user: test
934 934 | | date: Thu Jan 01 00:00:31 1970 +0000
935 935 | | summary: (31) expand
936 936 | |
937 937 o | changeset: 30:6e11cd4b648f
938 938 |\ \ parent: 28:44ecd0b9ae99
939 939 | | | parent: 29:cd9bb2be7593
940 940 | | | user: test
941 941 | | | date: Thu Jan 01 00:00:30 1970 +0000
942 942 | | | summary: (30) expand
943 943 | | |
944 944 o | | changeset: 28:44ecd0b9ae99
945 945 |\ \ \ parent: 1:6db2ef61d156
946 946 | | | | parent: 26:7f25b6c2f0b9
947 947 | | | | user: test
948 948 | | | | date: Thu Jan 01 00:00:28 1970 +0000
949 949 | | | | summary: (28) merge zero known
950 950 | | | |
951 951 o | | | changeset: 26:7f25b6c2f0b9
952 952 |\ \ \ \ parent: 18:1aa84d96232a
953 953 | | | | | parent: 25:91da8ed57247
954 954 | | | | | user: test
955 955 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
956 956 | | | | | summary: (26) merge one known; far right
957 957 | | | | |
958 958 | o-----+ changeset: 25:91da8ed57247
959 959 | | | | | parent: 21:d42a756af44d
960 960 | | | | | parent: 24:a9c19a3d96b7
961 961 | | | | | user: test
962 962 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
963 963 | | | | | summary: (25) merge one known; far left
964 964 | | | | |
965 965 | o | | | changeset: 24:a9c19a3d96b7
966 966 | |\ \ \ \ parent: 0:e6eb3150255d
967 967 | | | | | | parent: 23:a01cddf0766d
968 968 | | | | | | user: test
969 969 | | | | | | date: Thu Jan 01 00:00:24 1970 +0000
970 970 | | | | | | summary: (24) merge one known; immediate right
971 971 | | | | | |
972 972 | o---+ | | changeset: 23:a01cddf0766d
973 973 | | | | | | parent: 1:6db2ef61d156
974 974 | | | | | | parent: 22:e0d9cccacb5d
975 975 | | | | | | user: test
976 976 | | | | | | date: Thu Jan 01 00:00:23 1970 +0000
977 977 | | | | | | summary: (23) merge one known; immediate left
978 978 | | | | | |
979 979 | o-------+ changeset: 22:e0d9cccacb5d
980 980 | | | | | | parent: 18:1aa84d96232a
981 981 |/ / / / / parent: 21:d42a756af44d
982 982 | | | | | user: test
983 983 | | | | | date: Thu Jan 01 00:00:22 1970 +0000
984 984 | | | | | summary: (22) merge two known; one far left, one far right
985 985 | | | | |
986 986 | | | | o changeset: 21:d42a756af44d
987 987 | | | | |\ parent: 19:31ddc2c1573b
988 988 | | | | | | parent: 20:d30ed6450e32
989 989 | | | | | | user: test
990 990 | | | | | | date: Thu Jan 01 00:00:21 1970 +0000
991 991 | | | | | | summary: (21) expand
992 992 | | | | | |
993 993 +-+-------o changeset: 20:d30ed6450e32
994 994 | | | | | parent: 0:e6eb3150255d
995 995 | | | | | parent: 18:1aa84d96232a
996 996 | | | | | user: test
997 997 | | | | | date: Thu Jan 01 00:00:20 1970 +0000
998 998 | | | | | summary: (20) merge two known; two far right
999 999 | | | | |
1000 1000 | | | | o changeset: 19:31ddc2c1573b
1001 1001 | | | | |\ parent: 15:1dda3f72782d
1002 1002 | | | | | | parent: 17:44765d7c06e0
1003 1003 | | | | | | user: test
1004 1004 | | | | | | date: Thu Jan 01 00:00:19 1970 +0000
1005 1005 | | | | | | summary: (19) expand
1006 1006 | | | | | |
1007 1007 o---+---+ | changeset: 18:1aa84d96232a
1008 1008 | | | | | parent: 1:6db2ef61d156
1009 1009 / / / / / parent: 15:1dda3f72782d
1010 1010 | | | | | user: test
1011 1011 | | | | | date: Thu Jan 01 00:00:18 1970 +0000
1012 1012 | | | | | summary: (18) merge two known; two far left
1013 1013 | | | | |
1014 1014 | | | | o changeset: 17:44765d7c06e0
1015 1015 | | | | |\ parent: 12:86b91144a6e9
1016 1016 | | | | | | parent: 16:3677d192927d
1017 1017 | | | | | | user: test
1018 1018 | | | | | | date: Thu Jan 01 00:00:17 1970 +0000
1019 1019 | | | | | | summary: (17) expand
1020 1020 | | | | | |
1021 1021 +-+-------o changeset: 16:3677d192927d
1022 1022 | | | | | parent: 0:e6eb3150255d
1023 1023 | | | | | parent: 1:6db2ef61d156
1024 1024 | | | | | user: test
1025 1025 | | | | | date: Thu Jan 01 00:00:16 1970 +0000
1026 1026 | | | | | summary: (16) merge two known; one immediate right, one near right
1027 1027 | | | | |
1028 1028 | | | o | changeset: 15:1dda3f72782d
1029 1029 | | | |\ \ parent: 13:22d8966a97e3
1030 1030 | | | | | | parent: 14:8eac370358ef
1031 1031 | | | | | | user: test
1032 1032 | | | | | | date: Thu Jan 01 00:00:15 1970 +0000
1033 1033 | | | | | | summary: (15) expand
1034 1034 | | | | | |
1035 1035 +-------o | changeset: 14:8eac370358ef
1036 1036 | | | | |/ parent: 0:e6eb3150255d
1037 1037 | | | | | parent: 12:86b91144a6e9
1038 1038 | | | | | user: test
1039 1039 | | | | | date: Thu Jan 01 00:00:14 1970 +0000
1040 1040 | | | | | summary: (14) merge two known; one immediate right, one far right
1041 1041 | | | | |
1042 1042 | | | o | changeset: 13:22d8966a97e3
1043 1043 | | | |\ \ parent: 9:7010c0af0a35
1044 1044 | | | | | | parent: 11:832d76e6bdf2
1045 1045 | | | | | | user: test
1046 1046 | | | | | | date: Thu Jan 01 00:00:13 1970 +0000
1047 1047 | | | | | | summary: (13) expand
1048 1048 | | | | | |
1049 1049 | +---+---o changeset: 12:86b91144a6e9
1050 1050 | | | | | parent: 1:6db2ef61d156
1051 1051 | | | | | parent: 9:7010c0af0a35
1052 1052 | | | | | user: test
1053 1053 | | | | | date: Thu Jan 01 00:00:12 1970 +0000
1054 1054 | | | | | summary: (12) merge two known; one immediate right, one far left
1055 1055 | | | | |
1056 1056 | | | | o changeset: 11:832d76e6bdf2
1057 1057 | | | | |\ parent: 6:b105a072e251
1058 1058 | | | | | | parent: 10:74c64d036d72
1059 1059 | | | | | | user: test
1060 1060 | | | | | | date: Thu Jan 01 00:00:11 1970 +0000
1061 1061 | | | | | | summary: (11) expand
1062 1062 | | | | | |
1063 1063 +---------o changeset: 10:74c64d036d72
1064 1064 | | | | |/ parent: 0:e6eb3150255d
1065 1065 | | | | | parent: 6:b105a072e251
1066 1066 | | | | | user: test
1067 1067 | | | | | date: Thu Jan 01 00:00:10 1970 +0000
1068 1068 | | | | | summary: (10) merge two known; one immediate left, one near right
1069 1069 | | | | |
1070 1070 | | | o | changeset: 9:7010c0af0a35
1071 1071 | | | |\ \ parent: 7:b632bb1b1224
1072 1072 | | | | | | parent: 8:7a0b11f71937
1073 1073 | | | | | | user: test
1074 1074 | | | | | | date: Thu Jan 01 00:00:09 1970 +0000
1075 1075 | | | | | | summary: (9) expand
1076 1076 | | | | | |
1077 1077 +-------o | changeset: 8:7a0b11f71937
1078 1078 | | | |/ / parent: 0:e6eb3150255d
1079 1079 | | | | | parent: 7:b632bb1b1224
1080 1080 | | | | | user: test
1081 1081 | | | | | date: Thu Jan 01 00:00:08 1970 +0000
1082 1082 | | | | | summary: (8) merge two known; one immediate left, one far right
1083 1083 | | | | |
1084 1084 | | | o | changeset: 7:b632bb1b1224
1085 1085 | | | |\ \ parent: 2:3d9a33b8d1e1
1086 1086 | | | | | | parent: 5:4409d547b708
1087 1087 | | | | | | user: test
1088 1088 | | | | | | date: Thu Jan 01 00:00:07 1970 +0000
1089 1089 | | | | | | summary: (7) expand
1090 1090 | | | | | |
1091 1091 | | | +---o changeset: 6:b105a072e251
1092 1092 | | | | |/ parent: 2:3d9a33b8d1e1
1093 1093 | | | | | parent: 5:4409d547b708
1094 1094 | | | | | user: test
1095 1095 | | | | | date: Thu Jan 01 00:00:06 1970 +0000
1096 1096 | | | | | summary: (6) merge two known; one immediate left, one far left
1097 1097 | | | | |
1098 1098 | | | o | changeset: 5:4409d547b708
1099 1099 | | | |\ \ parent: 3:27eef8ed80b4
1100 1100 | | | | | | parent: 4:26a8bac39d9f
1101 1101 | | | | | | user: test
1102 1102 | | | | | | date: Thu Jan 01 00:00:05 1970 +0000
1103 1103 | | | | | | summary: (5) expand
1104 1104 | | | | | |
1105 1105 | +---o | | changeset: 4:26a8bac39d9f
1106 1106 | | | |/ / parent: 1:6db2ef61d156
1107 1107 | | | | | parent: 3:27eef8ed80b4
1108 1108 | | | | | user: test
1109 1109 | | | | | date: Thu Jan 01 00:00:04 1970 +0000
1110 1110 | | | | | summary: (4) merge two known; one immediate left, one immediate right
1111 1111 | | | | |
1112 1112
1113 1113
1114 1114 Empty revision range - display nothing:
1115 1115 $ hg glog -r 1..0
1116 1116
1117 1117 From outer space:
1118 1118 $ cd ..
1119 1119 $ hg glog -l1 repo
1120 1120 @ changeset: 34:fea3ac5810e0
1121 1121 | tag: tip
1122 1122 | parent: 32:d06dffa21a31
1123 1123 | user: test
1124 1124 | date: Thu Jan 01 00:00:34 1970 +0000
1125 1125 | summary: (34) head
1126 1126 |
1127 1127 $ hg glog -l1 repo/a
1128 1128 @ changeset: 34:fea3ac5810e0
1129 1129 | tag: tip
1130 1130 | parent: 32:d06dffa21a31
1131 1131 | user: test
1132 1132 | date: Thu Jan 01 00:00:34 1970 +0000
1133 1133 | summary: (34) head
1134 1134 |
1135 1135 $ hg glog -l1 repo/missing
1136 1136
1137 1137 File log with revs != cset revs:
1138 1138 $ hg init flog
1139 1139 $ cd flog
1140 1140 $ echo one >one
1141 1141 $ hg add one
1142 1142 $ hg commit -mone
1143 1143 $ echo two >two
1144 1144 $ hg add two
1145 1145 $ hg commit -mtwo
1146 1146 $ echo more >two
1147 1147 $ hg commit -mmore
1148 1148 $ hg glog two
1149 1149 @ changeset: 2:12c28321755b
1150 1150 | tag: tip
1151 1151 | user: test
1152 1152 | date: Thu Jan 01 00:00:00 1970 +0000
1153 1153 | summary: more
1154 1154 |
1155 1155 o changeset: 1:5ac72c0599bf
1156 1156 | user: test
1157 1157 | date: Thu Jan 01 00:00:00 1970 +0000
1158 1158 | summary: two
1159 1159 |
1160 1160
1161 1161 Issue1896: File log with explicit style
1162 1162 $ hg glog --style=default one
1163 1163 o changeset: 0:3d578b4a1f53
1164 1164 user: test
1165 1165 date: Thu Jan 01 00:00:00 1970 +0000
1166 1166 summary: one
1167 1167
1168 1168 Issue2395: glog --style header and footer
1169 1169 $ hg glog --style=xml one
1170 1170 <?xml version="1.0"?>
1171 1171 <log>
1172 1172 o <logentry revision="0" node="3d578b4a1f537d5fcf7301bfa9c0b97adfaa6fb1">
1173 1173 <author email="test">test</author>
1174 1174 <date>1970-01-01T00:00:00+00:00</date>
1175 1175 <msg xml:space="preserve">one</msg>
1176 1176 </logentry>
1177 1177 </log>
1178 1178
1179 1179 $ cd ..
1180 1180
1181 1181 Incoming and outgoing:
1182 1182
1183 1183 $ hg clone -U -r31 repo repo2
1184 1184 adding changesets
1185 1185 adding manifests
1186 1186 adding file changes
1187 1187 added 31 changesets with 31 changes to 1 files
1188 1188 $ cd repo2
1189 1189
1190 1190 $ hg incoming --graph ../repo
1191 1191 comparing with ../repo
1192 1192 searching for changes
1193 1193 o changeset: 34:fea3ac5810e0
1194 1194 | tag: tip
1195 1195 | parent: 32:d06dffa21a31
1196 1196 | user: test
1197 1197 | date: Thu Jan 01 00:00:34 1970 +0000
1198 1198 | summary: (34) head
1199 1199 |
1200 1200 | o changeset: 33:68608f5145f9
1201 1201 | parent: 18:1aa84d96232a
1202 1202 | user: test
1203 1203 | date: Thu Jan 01 00:00:33 1970 +0000
1204 1204 | summary: (33) head
1205 1205 |
1206 1206 o changeset: 32:d06dffa21a31
1207 1207 | parent: 27:886ed638191b
1208 1208 | parent: 31:621d83e11f67
1209 1209 | user: test
1210 1210 | date: Thu Jan 01 00:00:32 1970 +0000
1211 1211 | summary: (32) expand
1212 1212 |
1213 1213 o changeset: 27:886ed638191b
1214 1214 parent: 21:d42a756af44d
1215 1215 user: test
1216 1216 date: Thu Jan 01 00:00:27 1970 +0000
1217 1217 summary: (27) collapse
1218 1218
1219 1219 $ cd ..
1220 1220
1221 1221 $ hg -R repo outgoing --graph repo2
1222 1222 comparing with repo2
1223 1223 searching for changes
1224 1224 @ changeset: 34:fea3ac5810e0
1225 1225 | tag: tip
1226 1226 | parent: 32:d06dffa21a31
1227 1227 | user: test
1228 1228 | date: Thu Jan 01 00:00:34 1970 +0000
1229 1229 | summary: (34) head
1230 1230 |
1231 1231 | o changeset: 33:68608f5145f9
1232 1232 | parent: 18:1aa84d96232a
1233 1233 | user: test
1234 1234 | date: Thu Jan 01 00:00:33 1970 +0000
1235 1235 | summary: (33) head
1236 1236 |
1237 1237 o changeset: 32:d06dffa21a31
1238 1238 | parent: 27:886ed638191b
1239 1239 | parent: 31:621d83e11f67
1240 1240 | user: test
1241 1241 | date: Thu Jan 01 00:00:32 1970 +0000
1242 1242 | summary: (32) expand
1243 1243 |
1244 1244 o changeset: 27:886ed638191b
1245 1245 parent: 21:d42a756af44d
1246 1246 user: test
1247 1247 date: Thu Jan 01 00:00:27 1970 +0000
1248 1248 summary: (27) collapse
1249 1249
1250 1250
1251 1251 File + limit with revs != cset revs:
1252 1252 $ cd repo
1253 1253 $ touch b
1254 1254 $ hg ci -Aqm0
1255 1255 $ hg glog -l2 a
1256 1256 o changeset: 34:fea3ac5810e0
1257 1257 | parent: 32:d06dffa21a31
1258 1258 | user: test
1259 1259 | date: Thu Jan 01 00:00:34 1970 +0000
1260 1260 | summary: (34) head
1261 1261 |
1262 1262 | o changeset: 33:68608f5145f9
1263 1263 | | parent: 18:1aa84d96232a
1264 1264 | | user: test
1265 1265 | | date: Thu Jan 01 00:00:33 1970 +0000
1266 1266 | | summary: (33) head
1267 1267 | |
1268 1268
1269 1269 File + limit + -ra:b, (b - a) < limit:
1270 1270 $ hg glog -l3000 -r32:tip a
1271 1271 o changeset: 34:fea3ac5810e0
1272 1272 | parent: 32:d06dffa21a31
1273 1273 | user: test
1274 1274 | date: Thu Jan 01 00:00:34 1970 +0000
1275 1275 | summary: (34) head
1276 1276 |
1277 1277 | o changeset: 33:68608f5145f9
1278 1278 | | parent: 18:1aa84d96232a
1279 1279 | | user: test
1280 1280 | | date: Thu Jan 01 00:00:33 1970 +0000
1281 1281 | | summary: (33) head
1282 1282 | |
1283 1283 o | changeset: 32:d06dffa21a31
1284 1284 |\ \ parent: 27:886ed638191b
1285 1285 | | | parent: 31:621d83e11f67
1286 1286 | | | user: test
1287 1287 | | | date: Thu Jan 01 00:00:32 1970 +0000
1288 1288 | | | summary: (32) expand
1289 1289 | | |
1290 1290
1291 1291 Point out a common and an uncommon unshown parent
1292 1292
1293 1293 $ hg glog -r 'rev(8) or rev(9)'
1294 1294 o changeset: 9:7010c0af0a35
1295 1295 |\ parent: 7:b632bb1b1224
1296 1296 | | parent: 8:7a0b11f71937
1297 1297 | | user: test
1298 1298 | | date: Thu Jan 01 00:00:09 1970 +0000
1299 1299 | | summary: (9) expand
1300 1300 | |
1301 1301 o | changeset: 8:7a0b11f71937
1302 1302 |\| parent: 0:e6eb3150255d
1303 1303 | | parent: 7:b632bb1b1224
1304 1304 | | user: test
1305 1305 | | date: Thu Jan 01 00:00:08 1970 +0000
1306 1306 | | summary: (8) merge two known; one immediate left, one far right
1307 1307 | |
1308 1308
1309 1309 File + limit + -ra:b, b < tip:
1310 1310
1311 1311 $ hg glog -l1 -r32:34 a
1312 1312 o changeset: 34:fea3ac5810e0
1313 1313 | parent: 32:d06dffa21a31
1314 1314 | user: test
1315 1315 | date: Thu Jan 01 00:00:34 1970 +0000
1316 1316 | summary: (34) head
1317 1317 |
1318 1318
1319 1319 file(File) + limit + -ra:b, b < tip:
1320 1320
1321 1321 $ hg glog -l1 -r32:34 -r 'file("a")'
1322 1322 o changeset: 34:fea3ac5810e0
1323 1323 | parent: 32:d06dffa21a31
1324 1324 | user: test
1325 1325 | date: Thu Jan 01 00:00:34 1970 +0000
1326 1326 | summary: (34) head
1327 1327 |
1328 1328
1329 1329 limit(file(File) and a::b), b < tip:
1330 1330
1331 1331 $ hg glog -r 'limit(file("a") and 32::34, 1)'
1332 1332 o changeset: 32:d06dffa21a31
1333 1333 |\ parent: 27:886ed638191b
1334 1334 | | parent: 31:621d83e11f67
1335 1335 | | user: test
1336 1336 | | date: Thu Jan 01 00:00:32 1970 +0000
1337 1337 | | summary: (32) expand
1338 1338 | |
1339 1339
1340 1340 File + limit + -ra:b, b < tip:
1341 1341
1342 1342 $ hg glog -r 'limit(file("a") and 34::32, 1)'
1343 1343
1344 1344 File + limit + -ra:b, b < tip, (b - a) < limit:
1345 1345
1346 1346 $ hg glog -l10 -r33:34 a
1347 1347 o changeset: 34:fea3ac5810e0
1348 1348 | parent: 32:d06dffa21a31
1349 1349 | user: test
1350 1350 | date: Thu Jan 01 00:00:34 1970 +0000
1351 1351 | summary: (34) head
1352 1352 |
1353 1353 | o changeset: 33:68608f5145f9
1354 1354 | | parent: 18:1aa84d96232a
1355 1355 | | user: test
1356 1356 | | date: Thu Jan 01 00:00:33 1970 +0000
1357 1357 | | summary: (33) head
1358 1358 | |
1359 1359
1360 1360 Do not crash or produce strange graphs if history is buggy
1361 1361
1362 1362 $ commit 36 "buggy merge: identical parents" 35 35
1363 1363 $ hg glog -l5
1364 1364 @ changeset: 36:95fa8febd08a
1365 1365 | tag: tip
1366 1366 | parent: 35:9159c3644c5e
1367 1367 | parent: 35:9159c3644c5e
1368 1368 | user: test
1369 1369 | date: Thu Jan 01 00:00:36 1970 +0000
1370 1370 | summary: (36) buggy merge: identical parents
1371 1371 |
1372 1372 o changeset: 35:9159c3644c5e
1373 1373 | user: test
1374 1374 | date: Thu Jan 01 00:00:00 1970 +0000
1375 1375 | summary: 0
1376 1376 |
1377 1377 o changeset: 34:fea3ac5810e0
1378 1378 | parent: 32:d06dffa21a31
1379 1379 | user: test
1380 1380 | date: Thu Jan 01 00:00:34 1970 +0000
1381 1381 | summary: (34) head
1382 1382 |
1383 1383 | o changeset: 33:68608f5145f9
1384 1384 | | parent: 18:1aa84d96232a
1385 1385 | | user: test
1386 1386 | | date: Thu Jan 01 00:00:33 1970 +0000
1387 1387 | | summary: (33) head
1388 1388 | |
1389 1389 o | changeset: 32:d06dffa21a31
1390 1390 |\ \ parent: 27:886ed638191b
1391 1391 | | | parent: 31:621d83e11f67
1392 1392 | | | user: test
1393 1393 | | | date: Thu Jan 01 00:00:32 1970 +0000
1394 1394 | | | summary: (32) expand
1395 1395 | | |
1396 1396
1397 1397 Test log -G options
1398 1398
1399 1399 $ hg log -G -u 'something nice'
1400 1400 $ hg log -G -b 'something nice'
1401 1401 abort: unknown revision 'something nice'!
1402 1402 [255]
1403 1403 $ hg log -G -k 'something nice'
1404 1404 $ hg log -G --only-branch 'something nice'
1405 1405 abort: unknown revision 'something nice'!
1406 1406 [255]
1407 1407 $ hg log -G --include 'some file' --exclude 'another file'
1408 1408 $ hg log -G --follow --template 'nodetag {rev}\n' | grep nodetag | wc -l
1409 1409 \s*36 (re)
1410 1410 $ hg log -G --removed --template 'nodetag {rev}\n' | grep nodetag | wc -l
1411 1411 \s*0 (re)
1412 1412 $ hg log -G --only-merges --template 'nodetag {rev}\n' | grep nodetag | wc -l
1413 1413 \s*28 (re)
1414 $ hg log -G --no-merges --template 'nodetag {rev}\n' | grep nodetag | wc -l
1415 \s*9 (re)
1414 $ hg log -G --no-merges --template 'nodetag {rev}\n'
1415 o nodetag 35
1416 |
1417 o nodetag 34
1418 |\
1419 | \
1420 | |\
1421 | | \
1422 | | |\
1423 | | | \
1424 | | | |\
1425 | | | | \
1426 | | | | |\
1427 +-+-+-+-----o nodetag 33
1428 | | | | | |
1429 +---------o nodetag 29
1430 | | | | |
1431 +-+-+---o nodetag 27
1432 | | | |/
1433 | | | o nodetag 3
1434 | | |/
1435 | | o nodetag 2
1436 | |/
1437 | o nodetag 1
1438 |/
1439 o nodetag 0
1440
1416 1441 $ hg log -G -d 'brace ) in a date'
1417 1442 abort: invalid date: 'brace ) in a date'
1418 1443 [255]
1419 1444 $ hg log -G -P 32 --template '{rev}\n'
1420 1445 @ 36
1421 1446 |
1422 1447 o 35
1423 1448 |
1424 1449 o 34
1425 1450 |
1426 1451 | o 33
1427 1452 | |
1428 1453 $ hg log -G --follow a
1429 1454 abort: -G/--graph option is incompatible with --follow with file argument
1430 1455 [255]
General Comments 0
You need to be logged in to leave comments. Login now