##// END OF EJS Templates
graphlog: log -G --follow file does not work, forbid it...
Patrick Mezard -
r14086:2d7cb340 default
parent child Browse files
Show More
@@ -1,370 +1,373 b''
1 1 # ASCII graph log extension for Mercurial
2 2 #
3 3 # Copyright 2007 Joel Rosdahl <joel@rosdahl.net>
4 4 #
5 5 # This software may be used and distributed according to the terms of the
6 6 # GNU General Public License version 2 or any later version.
7 7
8 8 '''command to view revision graphs from a shell
9 9
10 10 This extension adds a --graph option to the incoming, outgoing and log
11 11 commands. When this options is given, an ASCII representation of the
12 12 revision graph is also shown.
13 13 '''
14 14
15 15 from mercurial.cmdutil import revrange, show_changeset
16 16 from mercurial.commands import templateopts
17 17 from mercurial.i18n import _
18 18 from mercurial.node import nullrev
19 19 from mercurial import cmdutil, commands, extensions
20 20 from mercurial import hg, scmutil, util, graphmod
21 21
22 22 ASCIIDATA = 'ASC'
23 23
24 24 def asciiedges(seen, rev, parents):
25 25 """adds edge info to changelog DAG walk suitable for ascii()"""
26 26 if rev not in seen:
27 27 seen.append(rev)
28 28 nodeidx = seen.index(rev)
29 29
30 30 knownparents = []
31 31 newparents = []
32 32 for parent in parents:
33 33 if parent in seen:
34 34 knownparents.append(parent)
35 35 else:
36 36 newparents.append(parent)
37 37
38 38 ncols = len(seen)
39 39 seen[nodeidx:nodeidx + 1] = newparents
40 40 edges = [(nodeidx, seen.index(p)) for p in knownparents]
41 41
42 42 if len(newparents) > 0:
43 43 edges.append((nodeidx, nodeidx))
44 44 if len(newparents) > 1:
45 45 edges.append((nodeidx, nodeidx + 1))
46 46
47 47 nmorecols = len(seen) - ncols
48 48 return nodeidx, edges, ncols, nmorecols
49 49
50 50 def fix_long_right_edges(edges):
51 51 for (i, (start, end)) in enumerate(edges):
52 52 if end > start:
53 53 edges[i] = (start, end + 1)
54 54
55 55 def get_nodeline_edges_tail(
56 56 node_index, p_node_index, n_columns, n_columns_diff, p_diff, fix_tail):
57 57 if fix_tail and n_columns_diff == p_diff and n_columns_diff != 0:
58 58 # Still going in the same non-vertical direction.
59 59 if n_columns_diff == -1:
60 60 start = max(node_index + 1, p_node_index)
61 61 tail = ["|", " "] * (start - node_index - 1)
62 62 tail.extend(["/", " "] * (n_columns - start))
63 63 return tail
64 64 else:
65 65 return ["\\", " "] * (n_columns - node_index - 1)
66 66 else:
67 67 return ["|", " "] * (n_columns - node_index - 1)
68 68
69 69 def draw_edges(edges, nodeline, interline):
70 70 for (start, end) in edges:
71 71 if start == end + 1:
72 72 interline[2 * end + 1] = "/"
73 73 elif start == end - 1:
74 74 interline[2 * start + 1] = "\\"
75 75 elif start == end:
76 76 interline[2 * start] = "|"
77 77 else:
78 78 nodeline[2 * end] = "+"
79 79 if start > end:
80 80 (start, end) = (end, start)
81 81 for i in range(2 * start + 1, 2 * end):
82 82 if nodeline[i] != "+":
83 83 nodeline[i] = "-"
84 84
85 85 def get_padding_line(ni, n_columns, edges):
86 86 line = []
87 87 line.extend(["|", " "] * ni)
88 88 if (ni, ni - 1) in edges or (ni, ni) in edges:
89 89 # (ni, ni - 1) (ni, ni)
90 90 # | | | | | | | |
91 91 # +---o | | o---+
92 92 # | | c | | c | |
93 93 # | |/ / | |/ /
94 94 # | | | | | |
95 95 c = "|"
96 96 else:
97 97 c = " "
98 98 line.extend([c, " "])
99 99 line.extend(["|", " "] * (n_columns - ni - 1))
100 100 return line
101 101
102 102 def asciistate():
103 103 """returns the initial value for the "state" argument to ascii()"""
104 104 return [0, 0]
105 105
106 106 def ascii(ui, state, type, char, text, coldata):
107 107 """prints an ASCII graph of the DAG
108 108
109 109 takes the following arguments (one call per node in the graph):
110 110
111 111 - ui to write to
112 112 - Somewhere to keep the needed state in (init to asciistate())
113 113 - Column of the current node in the set of ongoing edges.
114 114 - Type indicator of node data == ASCIIDATA.
115 115 - Payload: (char, lines):
116 116 - Character to use as node's symbol.
117 117 - List of lines to display as the node's text.
118 118 - Edges; a list of (col, next_col) indicating the edges between
119 119 the current node and its parents.
120 120 - Number of columns (ongoing edges) in the current revision.
121 121 - The difference between the number of columns (ongoing edges)
122 122 in the next revision and the number of columns (ongoing edges)
123 123 in the current revision. That is: -1 means one column removed;
124 124 0 means no columns added or removed; 1 means one column added.
125 125 """
126 126
127 127 idx, edges, ncols, coldiff = coldata
128 128 assert -2 < coldiff < 2
129 129 if coldiff == -1:
130 130 # Transform
131 131 #
132 132 # | | | | | |
133 133 # o | | into o---+
134 134 # |X / |/ /
135 135 # | | | |
136 136 fix_long_right_edges(edges)
137 137
138 138 # add_padding_line says whether to rewrite
139 139 #
140 140 # | | | | | | | |
141 141 # | o---+ into | o---+
142 142 # | / / | | | # <--- padding line
143 143 # o | | | / /
144 144 # o | |
145 145 add_padding_line = (len(text) > 2 and coldiff == -1 and
146 146 [x for (x, y) in edges if x + 1 < y])
147 147
148 148 # fix_nodeline_tail says whether to rewrite
149 149 #
150 150 # | | o | | | | o | |
151 151 # | | |/ / | | |/ /
152 152 # | o | | into | o / / # <--- fixed nodeline tail
153 153 # | |/ / | |/ /
154 154 # o | | o | |
155 155 fix_nodeline_tail = len(text) <= 2 and not add_padding_line
156 156
157 157 # nodeline is the line containing the node character (typically o)
158 158 nodeline = ["|", " "] * idx
159 159 nodeline.extend([char, " "])
160 160
161 161 nodeline.extend(
162 162 get_nodeline_edges_tail(idx, state[1], ncols, coldiff,
163 163 state[0], fix_nodeline_tail))
164 164
165 165 # shift_interline is the line containing the non-vertical
166 166 # edges between this entry and the next
167 167 shift_interline = ["|", " "] * idx
168 168 if coldiff == -1:
169 169 n_spaces = 1
170 170 edge_ch = "/"
171 171 elif coldiff == 0:
172 172 n_spaces = 2
173 173 edge_ch = "|"
174 174 else:
175 175 n_spaces = 3
176 176 edge_ch = "\\"
177 177 shift_interline.extend(n_spaces * [" "])
178 178 shift_interline.extend([edge_ch, " "] * (ncols - idx - 1))
179 179
180 180 # draw edges from the current node to its parents
181 181 draw_edges(edges, nodeline, shift_interline)
182 182
183 183 # lines is the list of all graph lines to print
184 184 lines = [nodeline]
185 185 if add_padding_line:
186 186 lines.append(get_padding_line(idx, ncols, edges))
187 187 lines.append(shift_interline)
188 188
189 189 # make sure that there are as many graph lines as there are
190 190 # log strings
191 191 while len(text) < len(lines):
192 192 text.append("")
193 193 if len(lines) < len(text):
194 194 extra_interline = ["|", " "] * (ncols + coldiff)
195 195 while len(lines) < len(text):
196 196 lines.append(extra_interline)
197 197
198 198 # print lines
199 199 indentation_level = max(ncols, ncols + coldiff)
200 200 for (line, logstr) in zip(lines, text):
201 201 ln = "%-*s %s" % (2 * indentation_level, "".join(line), logstr)
202 202 ui.write(ln.rstrip() + '\n')
203 203
204 204 # ... and start over
205 205 state[0] = coldiff
206 206 state[1] = idx
207 207
208 208 def get_revs(repo, rev_opt):
209 209 if rev_opt:
210 210 revs = revrange(repo, rev_opt)
211 211 if len(revs) == 0:
212 212 return (nullrev, nullrev)
213 213 return (max(revs), min(revs))
214 214 else:
215 215 return (len(repo) - 1, 0)
216 216
217 def check_unsupported_flags(opts):
217 def check_unsupported_flags(pats, opts):
218 218 for op in ["follow_first", "copies", "newest_first"]:
219 219 if op in opts and opts[op]:
220 220 raise util.Abort(_("-G/--graph option is incompatible with --%s")
221 221 % op.replace("_", "-"))
222 if pats and opts.get('follow'):
223 raise util.Abort(_("-G/--graph option is incompatible with --follow "
224 "with file argument"))
222 225
223 226 def revset(pats, opts):
224 227 """Return revset str built of revisions, log options and file patterns.
225 228 """
226 229 opt2revset = {
227 230 'follow': (0, 'follow()'),
228 231 'no_merges': (0, 'not merge()'),
229 232 'only_merges': (0, 'merge()'),
230 233 'removed': (0, 'removes("*")'),
231 234 'date': (1, 'date($)'),
232 235 'branch': (2, 'branch($)'),
233 236 'exclude': (2, 'not file($)'),
234 237 'include': (2, 'file($)'),
235 238 'keyword': (2, 'keyword($)'),
236 239 'only_branch': (2, 'branch($)'),
237 240 'prune': (2, 'not ($ or ancestors($))'),
238 241 'user': (2, 'user($)'),
239 242 }
240 243 revset = []
241 244 for op, val in opts.iteritems():
242 245 if not val:
243 246 continue
244 247 if op == 'rev':
245 248 # Already a revset
246 249 revset.extend(val)
247 250 if op not in opt2revset:
248 251 continue
249 252 arity, revop = opt2revset[op]
250 253 revop = revop.replace('$', '%(val)r')
251 254 if arity == 0:
252 255 revset.append(revop)
253 256 elif arity == 1:
254 257 revset.append(revop % {'val': val})
255 258 else:
256 259 for f in val:
257 260 revset.append(revop % {'val': f})
258 261
259 262 for path in pats:
260 263 revset.append('file(%r)' % path)
261 264
262 265 revset = ' and '.join(revset) or 'all()'
263 266 # we want reverted revset to build graph
264 267 revset = 'reverse(%s)' % revset
265 268 if opts['limit']:
266 269 revset = 'limit(%s, %s)' % (revset, opts['limit'])
267 270 return revset
268 271
269 272 def generate(ui, dag, displayer, showparents, edgefn):
270 273 seen, state = [], asciistate()
271 274 for rev, type, ctx, parents in dag:
272 275 char = ctx.node() in showparents and '@' or 'o'
273 276 displayer.show(ctx)
274 277 lines = displayer.hunk.pop(rev).split('\n')[:-1]
275 278 displayer.flush(rev)
276 279 ascii(ui, state, type, char, lines, edgefn(seen, rev, parents))
277 280 displayer.close()
278 281
279 282 def graphlog(ui, repo, *pats, **opts):
280 283 """show revision history alongside an ASCII revision graph
281 284
282 285 Print a revision history alongside a revision graph drawn with
283 286 ASCII characters.
284 287
285 288 Nodes printed as an @ character are parents of the working
286 289 directory.
287 290 """
288 291
289 check_unsupported_flags(opts)
292 check_unsupported_flags(pats, opts)
290 293
291 294 revs = revrange(repo, [revset(pats, opts)])
292 295 revdag = graphmod.dagwalker(repo, revs)
293 296
294 297 displayer = show_changeset(ui, repo, opts, buffered=True)
295 298 showparents = [ctx.node() for ctx in repo[None].parents()]
296 299 generate(ui, revdag, displayer, showparents, asciiedges)
297 300
298 301 def graphrevs(repo, nodes, opts):
299 302 limit = cmdutil.loglimit(opts)
300 303 nodes.reverse()
301 304 if limit is not None:
302 305 nodes = nodes[:limit]
303 306 return graphmod.nodes(repo, nodes)
304 307
305 308 def goutgoing(ui, repo, dest=None, **opts):
306 309 """show the outgoing changesets alongside an ASCII revision graph
307 310
308 311 Print the outgoing changesets alongside a revision graph drawn with
309 312 ASCII characters.
310 313
311 314 Nodes printed as an @ character are parents of the working
312 315 directory.
313 316 """
314 317
315 check_unsupported_flags(opts)
318 check_unsupported_flags([], opts)
316 319 o = hg._outgoing(ui, repo, dest, opts)
317 320 if o is None:
318 321 return
319 322
320 323 revdag = graphrevs(repo, o, opts)
321 324 displayer = show_changeset(ui, repo, opts, buffered=True)
322 325 showparents = [ctx.node() for ctx in repo[None].parents()]
323 326 generate(ui, revdag, displayer, showparents, asciiedges)
324 327
325 328 def gincoming(ui, repo, source="default", **opts):
326 329 """show the incoming changesets alongside an ASCII revision graph
327 330
328 331 Print the incoming changesets alongside a revision graph drawn with
329 332 ASCII characters.
330 333
331 334 Nodes printed as an @ character are parents of the working
332 335 directory.
333 336 """
334 337 def subreporecurse():
335 338 return 1
336 339
337 check_unsupported_flags(opts)
340 check_unsupported_flags([], opts)
338 341 def display(other, chlist, displayer):
339 342 revdag = graphrevs(other, chlist, opts)
340 343 showparents = [ctx.node() for ctx in repo[None].parents()]
341 344 generate(ui, revdag, displayer, showparents, asciiedges)
342 345
343 346 hg._incoming(display, subreporecurse, ui, repo, source, opts, buffered=True)
344 347
345 348 def uisetup(ui):
346 349 '''Initialize the extension.'''
347 350 _wrapcmd(ui, 'log', commands.table, graphlog)
348 351 _wrapcmd(ui, 'incoming', commands.table, gincoming)
349 352 _wrapcmd(ui, 'outgoing', commands.table, goutgoing)
350 353
351 354 def _wrapcmd(ui, cmd, table, wrapfn):
352 355 '''wrap the command'''
353 356 def graph(orig, *args, **kwargs):
354 357 if kwargs['graph']:
355 358 return wrapfn(*args, **kwargs)
356 359 return orig(*args, **kwargs)
357 360 entry = extensions.wrapcommand(table, cmd, graph)
358 361 entry[1].append(('G', 'graph', None, _("show the revision DAG")))
359 362
360 363 cmdtable = {
361 364 "glog":
362 365 (graphlog,
363 366 [('l', 'limit', '',
364 367 _('limit number of changes displayed'), _('NUM')),
365 368 ('p', 'patch', False, _('show patch')),
366 369 ('r', 'rev', [],
367 370 _('show the specified revision or range'), _('REV')),
368 371 ] + templateopts,
369 372 _('hg glog [OPTION]... [FILE]')),
370 373 }
@@ -1,1427 +1,1430 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 1414 $ hg log -G --no-merges --template 'nodetag {rev}\n' | grep nodetag | wc -l
1415 1415 \s*9 (re)
1416 1416 $ hg log -G -d 'brace ) in a date'
1417 1417 abort: invalid date: 'brace ) in a date'
1418 1418 [255]
1419 1419 $ hg log -G -P 32 --template '{rev}\n'
1420 1420 @ 36
1421 1421 |
1422 1422 o 35
1423 1423 |
1424 1424 o 34
1425 1425 |
1426 1426 | o 33
1427 1427 | |
1428 $ hg log -G --follow a
1429 abort: -G/--graph option is incompatible with --follow with file argument
1430 [255]
General Comments 0
You need to be logged in to leave comments. Login now