##// END OF EJS Templates
graphlog: multiple --keyword must be or'ed
Patrick Mezard -
r16150:0424f3c7 default
parent child Browse files
Show More
@@ -1,400 +1,400
1 # ASCII graph log extension for Mercurial
1 # ASCII graph log extension for Mercurial
2 #
2 #
3 # Copyright 2007 Joel Rosdahl <joel@rosdahl.net>
3 # Copyright 2007 Joel Rosdahl <joel@rosdahl.net>
4 #
4 #
5 # This software may be used and distributed according to the terms of the
5 # This software may be used and distributed according to the terms of the
6 # GNU General Public License version 2 or any later version.
6 # GNU General Public License version 2 or any later version.
7
7
8 '''command to view revision graphs from a shell
8 '''command to view revision graphs from a shell
9
9
10 This extension adds a --graph option to the incoming, outgoing and log
10 This extension adds a --graph option to the incoming, outgoing and log
11 commands. When this options is given, an ASCII representation of the
11 commands. When this options is given, an ASCII representation of the
12 revision graph is also shown.
12 revision graph is also shown.
13 '''
13 '''
14
14
15 from mercurial.cmdutil import show_changeset
15 from mercurial.cmdutil import show_changeset
16 from mercurial.commands import templateopts
16 from mercurial.commands import templateopts
17 from mercurial.i18n import _
17 from mercurial.i18n import _
18 from mercurial.node import nullrev
18 from mercurial.node import nullrev
19 from mercurial import cmdutil, commands, extensions, scmutil
19 from mercurial import cmdutil, commands, extensions, scmutil
20 from mercurial import hg, util, graphmod
20 from mercurial import hg, util, graphmod
21
21
22 cmdtable = {}
22 cmdtable = {}
23 command = cmdutil.command(cmdtable)
23 command = cmdutil.command(cmdtable)
24
24
25 ASCIIDATA = 'ASC'
25 ASCIIDATA = 'ASC'
26
26
27 def asciiedges(type, char, lines, seen, rev, parents):
27 def asciiedges(type, char, lines, seen, rev, parents):
28 """adds edge info to changelog DAG walk suitable for ascii()"""
28 """adds edge info to changelog DAG walk suitable for ascii()"""
29 if rev not in seen:
29 if rev not in seen:
30 seen.append(rev)
30 seen.append(rev)
31 nodeidx = seen.index(rev)
31 nodeidx = seen.index(rev)
32
32
33 knownparents = []
33 knownparents = []
34 newparents = []
34 newparents = []
35 for parent in parents:
35 for parent in parents:
36 if parent in seen:
36 if parent in seen:
37 knownparents.append(parent)
37 knownparents.append(parent)
38 else:
38 else:
39 newparents.append(parent)
39 newparents.append(parent)
40
40
41 ncols = len(seen)
41 ncols = len(seen)
42 nextseen = seen[:]
42 nextseen = seen[:]
43 nextseen[nodeidx:nodeidx + 1] = newparents
43 nextseen[nodeidx:nodeidx + 1] = newparents
44 edges = [(nodeidx, nextseen.index(p)) for p in knownparents]
44 edges = [(nodeidx, nextseen.index(p)) for p in knownparents]
45
45
46 while len(newparents) > 2:
46 while len(newparents) > 2:
47 # ascii() only knows how to add or remove a single column between two
47 # ascii() only knows how to add or remove a single column between two
48 # calls. Nodes with more than two parents break this constraint so we
48 # calls. Nodes with more than two parents break this constraint so we
49 # introduce intermediate expansion lines to grow the active node list
49 # introduce intermediate expansion lines to grow the active node list
50 # slowly.
50 # slowly.
51 edges.append((nodeidx, nodeidx))
51 edges.append((nodeidx, nodeidx))
52 edges.append((nodeidx, nodeidx + 1))
52 edges.append((nodeidx, nodeidx + 1))
53 nmorecols = 1
53 nmorecols = 1
54 yield (type, char, lines, (nodeidx, edges, ncols, nmorecols))
54 yield (type, char, lines, (nodeidx, edges, ncols, nmorecols))
55 char = '\\'
55 char = '\\'
56 lines = []
56 lines = []
57 nodeidx += 1
57 nodeidx += 1
58 ncols += 1
58 ncols += 1
59 edges = []
59 edges = []
60 del newparents[0]
60 del newparents[0]
61
61
62 if len(newparents) > 0:
62 if len(newparents) > 0:
63 edges.append((nodeidx, nodeidx))
63 edges.append((nodeidx, nodeidx))
64 if len(newparents) > 1:
64 if len(newparents) > 1:
65 edges.append((nodeidx, nodeidx + 1))
65 edges.append((nodeidx, nodeidx + 1))
66 nmorecols = len(nextseen) - ncols
66 nmorecols = len(nextseen) - ncols
67 seen[:] = nextseen
67 seen[:] = nextseen
68 yield (type, char, lines, (nodeidx, edges, ncols, nmorecols))
68 yield (type, char, lines, (nodeidx, edges, ncols, nmorecols))
69
69
70 def fix_long_right_edges(edges):
70 def fix_long_right_edges(edges):
71 for (i, (start, end)) in enumerate(edges):
71 for (i, (start, end)) in enumerate(edges):
72 if end > start:
72 if end > start:
73 edges[i] = (start, end + 1)
73 edges[i] = (start, end + 1)
74
74
75 def get_nodeline_edges_tail(
75 def get_nodeline_edges_tail(
76 node_index, p_node_index, n_columns, n_columns_diff, p_diff, fix_tail):
76 node_index, p_node_index, n_columns, n_columns_diff, p_diff, fix_tail):
77 if fix_tail and n_columns_diff == p_diff and n_columns_diff != 0:
77 if fix_tail and n_columns_diff == p_diff and n_columns_diff != 0:
78 # Still going in the same non-vertical direction.
78 # Still going in the same non-vertical direction.
79 if n_columns_diff == -1:
79 if n_columns_diff == -1:
80 start = max(node_index + 1, p_node_index)
80 start = max(node_index + 1, p_node_index)
81 tail = ["|", " "] * (start - node_index - 1)
81 tail = ["|", " "] * (start - node_index - 1)
82 tail.extend(["/", " "] * (n_columns - start))
82 tail.extend(["/", " "] * (n_columns - start))
83 return tail
83 return tail
84 else:
84 else:
85 return ["\\", " "] * (n_columns - node_index - 1)
85 return ["\\", " "] * (n_columns - node_index - 1)
86 else:
86 else:
87 return ["|", " "] * (n_columns - node_index - 1)
87 return ["|", " "] * (n_columns - node_index - 1)
88
88
89 def draw_edges(edges, nodeline, interline):
89 def draw_edges(edges, nodeline, interline):
90 for (start, end) in edges:
90 for (start, end) in edges:
91 if start == end + 1:
91 if start == end + 1:
92 interline[2 * end + 1] = "/"
92 interline[2 * end + 1] = "/"
93 elif start == end - 1:
93 elif start == end - 1:
94 interline[2 * start + 1] = "\\"
94 interline[2 * start + 1] = "\\"
95 elif start == end:
95 elif start == end:
96 interline[2 * start] = "|"
96 interline[2 * start] = "|"
97 else:
97 else:
98 if 2 * end >= len(nodeline):
98 if 2 * end >= len(nodeline):
99 continue
99 continue
100 nodeline[2 * end] = "+"
100 nodeline[2 * end] = "+"
101 if start > end:
101 if start > end:
102 (start, end) = (end, start)
102 (start, end) = (end, start)
103 for i in range(2 * start + 1, 2 * end):
103 for i in range(2 * start + 1, 2 * end):
104 if nodeline[i] != "+":
104 if nodeline[i] != "+":
105 nodeline[i] = "-"
105 nodeline[i] = "-"
106
106
107 def get_padding_line(ni, n_columns, edges):
107 def get_padding_line(ni, n_columns, edges):
108 line = []
108 line = []
109 line.extend(["|", " "] * ni)
109 line.extend(["|", " "] * ni)
110 if (ni, ni - 1) in edges or (ni, ni) in edges:
110 if (ni, ni - 1) in edges or (ni, ni) in edges:
111 # (ni, ni - 1) (ni, ni)
111 # (ni, ni - 1) (ni, ni)
112 # | | | | | | | |
112 # | | | | | | | |
113 # +---o | | o---+
113 # +---o | | o---+
114 # | | c | | c | |
114 # | | c | | c | |
115 # | |/ / | |/ /
115 # | |/ / | |/ /
116 # | | | | | |
116 # | | | | | |
117 c = "|"
117 c = "|"
118 else:
118 else:
119 c = " "
119 c = " "
120 line.extend([c, " "])
120 line.extend([c, " "])
121 line.extend(["|", " "] * (n_columns - ni - 1))
121 line.extend(["|", " "] * (n_columns - ni - 1))
122 return line
122 return line
123
123
124 def asciistate():
124 def asciistate():
125 """returns the initial value for the "state" argument to ascii()"""
125 """returns the initial value for the "state" argument to ascii()"""
126 return [0, 0]
126 return [0, 0]
127
127
128 def ascii(ui, state, type, char, text, coldata):
128 def ascii(ui, state, type, char, text, coldata):
129 """prints an ASCII graph of the DAG
129 """prints an ASCII graph of the DAG
130
130
131 takes the following arguments (one call per node in the graph):
131 takes the following arguments (one call per node in the graph):
132
132
133 - ui to write to
133 - ui to write to
134 - Somewhere to keep the needed state in (init to asciistate())
134 - Somewhere to keep the needed state in (init to asciistate())
135 - Column of the current node in the set of ongoing edges.
135 - Column of the current node in the set of ongoing edges.
136 - Type indicator of node data == ASCIIDATA.
136 - Type indicator of node data == ASCIIDATA.
137 - Payload: (char, lines):
137 - Payload: (char, lines):
138 - Character to use as node's symbol.
138 - Character to use as node's symbol.
139 - List of lines to display as the node's text.
139 - List of lines to display as the node's text.
140 - Edges; a list of (col, next_col) indicating the edges between
140 - Edges; a list of (col, next_col) indicating the edges between
141 the current node and its parents.
141 the current node and its parents.
142 - Number of columns (ongoing edges) in the current revision.
142 - Number of columns (ongoing edges) in the current revision.
143 - The difference between the number of columns (ongoing edges)
143 - The difference between the number of columns (ongoing edges)
144 in the next revision and the number of columns (ongoing edges)
144 in the next revision and the number of columns (ongoing edges)
145 in the current revision. That is: -1 means one column removed;
145 in the current revision. That is: -1 means one column removed;
146 0 means no columns added or removed; 1 means one column added.
146 0 means no columns added or removed; 1 means one column added.
147 """
147 """
148
148
149 idx, edges, ncols, coldiff = coldata
149 idx, edges, ncols, coldiff = coldata
150 assert -2 < coldiff < 2
150 assert -2 < coldiff < 2
151 if coldiff == -1:
151 if coldiff == -1:
152 # Transform
152 # Transform
153 #
153 #
154 # | | | | | |
154 # | | | | | |
155 # o | | into o---+
155 # o | | into o---+
156 # |X / |/ /
156 # |X / |/ /
157 # | | | |
157 # | | | |
158 fix_long_right_edges(edges)
158 fix_long_right_edges(edges)
159
159
160 # add_padding_line says whether to rewrite
160 # add_padding_line says whether to rewrite
161 #
161 #
162 # | | | | | | | |
162 # | | | | | | | |
163 # | o---+ into | o---+
163 # | o---+ into | o---+
164 # | / / | | | # <--- padding line
164 # | / / | | | # <--- padding line
165 # o | | | / /
165 # o | | | / /
166 # o | |
166 # o | |
167 add_padding_line = (len(text) > 2 and coldiff == -1 and
167 add_padding_line = (len(text) > 2 and coldiff == -1 and
168 [x for (x, y) in edges if x + 1 < y])
168 [x for (x, y) in edges if x + 1 < y])
169
169
170 # fix_nodeline_tail says whether to rewrite
170 # fix_nodeline_tail says whether to rewrite
171 #
171 #
172 # | | o | | | | o | |
172 # | | o | | | | o | |
173 # | | |/ / | | |/ /
173 # | | |/ / | | |/ /
174 # | o | | into | o / / # <--- fixed nodeline tail
174 # | o | | into | o / / # <--- fixed nodeline tail
175 # | |/ / | |/ /
175 # | |/ / | |/ /
176 # o | | o | |
176 # o | | o | |
177 fix_nodeline_tail = len(text) <= 2 and not add_padding_line
177 fix_nodeline_tail = len(text) <= 2 and not add_padding_line
178
178
179 # nodeline is the line containing the node character (typically o)
179 # nodeline is the line containing the node character (typically o)
180 nodeline = ["|", " "] * idx
180 nodeline = ["|", " "] * idx
181 nodeline.extend([char, " "])
181 nodeline.extend([char, " "])
182
182
183 nodeline.extend(
183 nodeline.extend(
184 get_nodeline_edges_tail(idx, state[1], ncols, coldiff,
184 get_nodeline_edges_tail(idx, state[1], ncols, coldiff,
185 state[0], fix_nodeline_tail))
185 state[0], fix_nodeline_tail))
186
186
187 # shift_interline is the line containing the non-vertical
187 # shift_interline is the line containing the non-vertical
188 # edges between this entry and the next
188 # edges between this entry and the next
189 shift_interline = ["|", " "] * idx
189 shift_interline = ["|", " "] * idx
190 if coldiff == -1:
190 if coldiff == -1:
191 n_spaces = 1
191 n_spaces = 1
192 edge_ch = "/"
192 edge_ch = "/"
193 elif coldiff == 0:
193 elif coldiff == 0:
194 n_spaces = 2
194 n_spaces = 2
195 edge_ch = "|"
195 edge_ch = "|"
196 else:
196 else:
197 n_spaces = 3
197 n_spaces = 3
198 edge_ch = "\\"
198 edge_ch = "\\"
199 shift_interline.extend(n_spaces * [" "])
199 shift_interline.extend(n_spaces * [" "])
200 shift_interline.extend([edge_ch, " "] * (ncols - idx - 1))
200 shift_interline.extend([edge_ch, " "] * (ncols - idx - 1))
201
201
202 # draw edges from the current node to its parents
202 # draw edges from the current node to its parents
203 draw_edges(edges, nodeline, shift_interline)
203 draw_edges(edges, nodeline, shift_interline)
204
204
205 # lines is the list of all graph lines to print
205 # lines is the list of all graph lines to print
206 lines = [nodeline]
206 lines = [nodeline]
207 if add_padding_line:
207 if add_padding_line:
208 lines.append(get_padding_line(idx, ncols, edges))
208 lines.append(get_padding_line(idx, ncols, edges))
209 lines.append(shift_interline)
209 lines.append(shift_interline)
210
210
211 # make sure that there are as many graph lines as there are
211 # make sure that there are as many graph lines as there are
212 # log strings
212 # log strings
213 while len(text) < len(lines):
213 while len(text) < len(lines):
214 text.append("")
214 text.append("")
215 if len(lines) < len(text):
215 if len(lines) < len(text):
216 extra_interline = ["|", " "] * (ncols + coldiff)
216 extra_interline = ["|", " "] * (ncols + coldiff)
217 while len(lines) < len(text):
217 while len(lines) < len(text):
218 lines.append(extra_interline)
218 lines.append(extra_interline)
219
219
220 # print lines
220 # print lines
221 indentation_level = max(ncols, ncols + coldiff)
221 indentation_level = max(ncols, ncols + coldiff)
222 for (line, logstr) in zip(lines, text):
222 for (line, logstr) in zip(lines, text):
223 ln = "%-*s %s" % (2 * indentation_level, "".join(line), logstr)
223 ln = "%-*s %s" % (2 * indentation_level, "".join(line), logstr)
224 ui.write(ln.rstrip() + '\n')
224 ui.write(ln.rstrip() + '\n')
225
225
226 # ... and start over
226 # ... and start over
227 state[0] = coldiff
227 state[0] = coldiff
228 state[1] = idx
228 state[1] = idx
229
229
230 def get_revs(repo, rev_opt):
230 def get_revs(repo, rev_opt):
231 if rev_opt:
231 if rev_opt:
232 revs = scmutil.revrange(repo, rev_opt)
232 revs = scmutil.revrange(repo, rev_opt)
233 if len(revs) == 0:
233 if len(revs) == 0:
234 return (nullrev, nullrev)
234 return (nullrev, nullrev)
235 return (max(revs), min(revs))
235 return (max(revs), min(revs))
236 else:
236 else:
237 return (len(repo) - 1, 0)
237 return (len(repo) - 1, 0)
238
238
239 def check_unsupported_flags(pats, opts):
239 def check_unsupported_flags(pats, opts):
240 for op in ["follow_first", "copies", "newest_first"]:
240 for op in ["follow_first", "copies", "newest_first"]:
241 if op in opts and opts[op]:
241 if op in opts and opts[op]:
242 raise util.Abort(_("-G/--graph option is incompatible with --%s")
242 raise util.Abort(_("-G/--graph option is incompatible with --%s")
243 % op.replace("_", "-"))
243 % op.replace("_", "-"))
244 if pats and opts.get('follow'):
244 if pats and opts.get('follow'):
245 raise util.Abort(_("-G/--graph option is incompatible with --follow "
245 raise util.Abort(_("-G/--graph option is incompatible with --follow "
246 "with file argument"))
246 "with file argument"))
247
247
248 def revset(pats, opts):
248 def revset(pats, opts):
249 """Return revset str built of revisions, log options and file patterns.
249 """Return revset str built of revisions, log options and file patterns.
250 """
250 """
251 opt2revset = {
251 opt2revset = {
252 'follow': ('follow()', None),
252 'follow': ('follow()', None),
253 'no_merges': ('not merge()', None),
253 'no_merges': ('not merge()', None),
254 'only_merges': ('merge()', None),
254 'only_merges': ('merge()', None),
255 'removed': ('removes("*")', None),
255 'removed': ('removes("*")', None),
256 'date': ('date($)', None),
256 'date': ('date($)', None),
257 'branch': ('branch($)', ' or '),
257 'branch': ('branch($)', ' or '),
258 'exclude': ('not file($)', ' and '),
258 'exclude': ('not file($)', ' and '),
259 'include': ('file($)', ' and '),
259 'include': ('file($)', ' and '),
260 'keyword': ('keyword($)', ' and '),
260 'keyword': ('keyword($)', ' or '),
261 'only_branch': ('branch($)', ' and '),
261 'only_branch': ('branch($)', ' and '),
262 'prune': ('not ($ or ancestors($))', ' and '),
262 'prune': ('not ($ or ancestors($))', ' and '),
263 'user': ('user($)', ' or '),
263 'user': ('user($)', ' or '),
264 }
264 }
265 optrevset = []
265 optrevset = []
266 revset = []
266 revset = []
267 for op, val in opts.iteritems():
267 for op, val in opts.iteritems():
268 if not val:
268 if not val:
269 continue
269 continue
270 if op == 'rev':
270 if op == 'rev':
271 # Already a revset
271 # Already a revset
272 revset.extend(val)
272 revset.extend(val)
273 if op not in opt2revset:
273 if op not in opt2revset:
274 continue
274 continue
275 revop, andor = opt2revset[op]
275 revop, andor = opt2revset[op]
276 if '$' not in revop:
276 if '$' not in revop:
277 optrevset.append(revop)
277 optrevset.append(revop)
278 else:
278 else:
279 revop = revop.replace('$', '%(val)r')
279 revop = revop.replace('$', '%(val)r')
280 if not isinstance(val, list):
280 if not isinstance(val, list):
281 expr = revop % {'val': val}
281 expr = revop % {'val': val}
282 else:
282 else:
283 expr = '(' + andor.join((revop % {'val': v}) for v in val) + ')'
283 expr = '(' + andor.join((revop % {'val': v}) for v in val) + ')'
284 optrevset.append(expr)
284 optrevset.append(expr)
285
285
286 for path in pats:
286 for path in pats:
287 optrevset.append('file(%r)' % path)
287 optrevset.append('file(%r)' % path)
288
288
289 if revset or optrevset:
289 if revset or optrevset:
290 if revset:
290 if revset:
291 revset = ['(' + ' or '.join(revset) + ')']
291 revset = ['(' + ' or '.join(revset) + ')']
292 if optrevset:
292 if optrevset:
293 revset.append('(' + ' and '.join(optrevset) + ')')
293 revset.append('(' + ' and '.join(optrevset) + ')')
294 revset = ' and '.join(revset)
294 revset = ' and '.join(revset)
295 else:
295 else:
296 revset = 'all()'
296 revset = 'all()'
297 return revset
297 return revset
298
298
299 def generate(ui, dag, displayer, showparents, edgefn):
299 def generate(ui, dag, displayer, showparents, edgefn):
300 seen, state = [], asciistate()
300 seen, state = [], asciistate()
301 for rev, type, ctx, parents in dag:
301 for rev, type, ctx, parents in dag:
302 char = ctx.node() in showparents and '@' or 'o'
302 char = ctx.node() in showparents and '@' or 'o'
303 displayer.show(ctx)
303 displayer.show(ctx)
304 lines = displayer.hunk.pop(rev).split('\n')[:-1]
304 lines = displayer.hunk.pop(rev).split('\n')[:-1]
305 displayer.flush(rev)
305 displayer.flush(rev)
306 edges = edgefn(type, char, lines, seen, rev, parents)
306 edges = edgefn(type, char, lines, seen, rev, parents)
307 for type, char, lines, coldata in edges:
307 for type, char, lines, coldata in edges:
308 ascii(ui, state, type, char, lines, coldata)
308 ascii(ui, state, type, char, lines, coldata)
309 displayer.close()
309 displayer.close()
310
310
311 @command('glog',
311 @command('glog',
312 [('l', 'limit', '',
312 [('l', 'limit', '',
313 _('limit number of changes displayed'), _('NUM')),
313 _('limit number of changes displayed'), _('NUM')),
314 ('p', 'patch', False, _('show patch')),
314 ('p', 'patch', False, _('show patch')),
315 ('r', 'rev', [], _('show the specified revision or range'), _('REV')),
315 ('r', 'rev', [], _('show the specified revision or range'), _('REV')),
316 ] + templateopts,
316 ] + templateopts,
317 _('hg glog [OPTION]... [FILE]'))
317 _('hg glog [OPTION]... [FILE]'))
318 def graphlog(ui, repo, *pats, **opts):
318 def graphlog(ui, repo, *pats, **opts):
319 """show revision history alongside an ASCII revision graph
319 """show revision history alongside an ASCII revision graph
320
320
321 Print a revision history alongside a revision graph drawn with
321 Print a revision history alongside a revision graph drawn with
322 ASCII characters.
322 ASCII characters.
323
323
324 Nodes printed as an @ character are parents of the working
324 Nodes printed as an @ character are parents of the working
325 directory.
325 directory.
326 """
326 """
327
327
328 check_unsupported_flags(pats, opts)
328 check_unsupported_flags(pats, opts)
329
329
330 revs = sorted(scmutil.revrange(repo, [revset(pats, opts)]), reverse=1)
330 revs = sorted(scmutil.revrange(repo, [revset(pats, opts)]), reverse=1)
331 limit = cmdutil.loglimit(opts)
331 limit = cmdutil.loglimit(opts)
332 if limit is not None:
332 if limit is not None:
333 revs = revs[:limit]
333 revs = revs[:limit]
334 revdag = graphmod.dagwalker(repo, revs)
334 revdag = graphmod.dagwalker(repo, revs)
335
335
336 displayer = show_changeset(ui, repo, opts, buffered=True)
336 displayer = show_changeset(ui, repo, opts, buffered=True)
337 showparents = [ctx.node() for ctx in repo[None].parents()]
337 showparents = [ctx.node() for ctx in repo[None].parents()]
338 generate(ui, revdag, displayer, showparents, asciiedges)
338 generate(ui, revdag, displayer, showparents, asciiedges)
339
339
340 def graphrevs(repo, nodes, opts):
340 def graphrevs(repo, nodes, opts):
341 limit = cmdutil.loglimit(opts)
341 limit = cmdutil.loglimit(opts)
342 nodes.reverse()
342 nodes.reverse()
343 if limit is not None:
343 if limit is not None:
344 nodes = nodes[:limit]
344 nodes = nodes[:limit]
345 return graphmod.nodes(repo, nodes)
345 return graphmod.nodes(repo, nodes)
346
346
347 def goutgoing(ui, repo, dest=None, **opts):
347 def goutgoing(ui, repo, dest=None, **opts):
348 """show the outgoing changesets alongside an ASCII revision graph
348 """show the outgoing changesets alongside an ASCII revision graph
349
349
350 Print the outgoing changesets alongside a revision graph drawn with
350 Print the outgoing changesets alongside a revision graph drawn with
351 ASCII characters.
351 ASCII characters.
352
352
353 Nodes printed as an @ character are parents of the working
353 Nodes printed as an @ character are parents of the working
354 directory.
354 directory.
355 """
355 """
356
356
357 check_unsupported_flags([], opts)
357 check_unsupported_flags([], opts)
358 o = hg._outgoing(ui, repo, dest, opts)
358 o = hg._outgoing(ui, repo, dest, opts)
359 if o is None:
359 if o is None:
360 return
360 return
361
361
362 revdag = graphrevs(repo, o, opts)
362 revdag = graphrevs(repo, o, opts)
363 displayer = show_changeset(ui, repo, opts, buffered=True)
363 displayer = show_changeset(ui, repo, opts, buffered=True)
364 showparents = [ctx.node() for ctx in repo[None].parents()]
364 showparents = [ctx.node() for ctx in repo[None].parents()]
365 generate(ui, revdag, displayer, showparents, asciiedges)
365 generate(ui, revdag, displayer, showparents, asciiedges)
366
366
367 def gincoming(ui, repo, source="default", **opts):
367 def gincoming(ui, repo, source="default", **opts):
368 """show the incoming changesets alongside an ASCII revision graph
368 """show the incoming changesets alongside an ASCII revision graph
369
369
370 Print the incoming changesets alongside a revision graph drawn with
370 Print the incoming changesets alongside a revision graph drawn with
371 ASCII characters.
371 ASCII characters.
372
372
373 Nodes printed as an @ character are parents of the working
373 Nodes printed as an @ character are parents of the working
374 directory.
374 directory.
375 """
375 """
376 def subreporecurse():
376 def subreporecurse():
377 return 1
377 return 1
378
378
379 check_unsupported_flags([], opts)
379 check_unsupported_flags([], opts)
380 def display(other, chlist, displayer):
380 def display(other, chlist, displayer):
381 revdag = graphrevs(other, chlist, opts)
381 revdag = graphrevs(other, chlist, opts)
382 showparents = [ctx.node() for ctx in repo[None].parents()]
382 showparents = [ctx.node() for ctx in repo[None].parents()]
383 generate(ui, revdag, displayer, showparents, asciiedges)
383 generate(ui, revdag, displayer, showparents, asciiedges)
384
384
385 hg._incoming(display, subreporecurse, ui, repo, source, opts, buffered=True)
385 hg._incoming(display, subreporecurse, ui, repo, source, opts, buffered=True)
386
386
387 def uisetup(ui):
387 def uisetup(ui):
388 '''Initialize the extension.'''
388 '''Initialize the extension.'''
389 _wrapcmd('log', commands.table, graphlog)
389 _wrapcmd('log', commands.table, graphlog)
390 _wrapcmd('incoming', commands.table, gincoming)
390 _wrapcmd('incoming', commands.table, gincoming)
391 _wrapcmd('outgoing', commands.table, goutgoing)
391 _wrapcmd('outgoing', commands.table, goutgoing)
392
392
393 def _wrapcmd(cmd, table, wrapfn):
393 def _wrapcmd(cmd, table, wrapfn):
394 '''wrap the command'''
394 '''wrap the command'''
395 def graph(orig, *args, **kwargs):
395 def graph(orig, *args, **kwargs):
396 if kwargs['graph']:
396 if kwargs['graph']:
397 return wrapfn(*args, **kwargs)
397 return wrapfn(*args, **kwargs)
398 return orig(*args, **kwargs)
398 return orig(*args, **kwargs)
399 entry = extensions.wrapcommand(table, cmd, graph)
399 entry = extensions.wrapcommand(table, cmd, graph)
400 entry[1].append(('G', 'graph', None, _("show the revision DAG")))
400 entry[1].append(('G', 'graph', None, _("show the revision DAG")))
@@ -1,1507 +1,1507
1 @ (34) head
1 @ (34) head
2 |
2 |
3 | o (33) head
3 | o (33) head
4 | |
4 | |
5 o | (32) expand
5 o | (32) expand
6 |\ \
6 |\ \
7 | o \ (31) expand
7 | o \ (31) expand
8 | |\ \
8 | |\ \
9 | | o \ (30) expand
9 | | o \ (30) expand
10 | | |\ \
10 | | |\ \
11 | | | o | (29) regular commit
11 | | | o | (29) regular commit
12 | | | | |
12 | | | | |
13 | | o | | (28) merge zero known
13 | | o | | (28) merge zero known
14 | | |\ \ \
14 | | |\ \ \
15 o | | | | | (27) collapse
15 o | | | | | (27) collapse
16 |/ / / / /
16 |/ / / / /
17 | | o---+ (26) merge one known; far right
17 | | o---+ (26) merge one known; far right
18 | | | | |
18 | | | | |
19 +---o | | (25) merge one known; far left
19 +---o | | (25) merge one known; far left
20 | | | | |
20 | | | | |
21 | | o | | (24) merge one known; immediate right
21 | | o | | (24) merge one known; immediate right
22 | | |\| |
22 | | |\| |
23 | | o | | (23) merge one known; immediate left
23 | | o | | (23) merge one known; immediate left
24 | |/| | |
24 | |/| | |
25 +---o---+ (22) merge two known; one far left, one far right
25 +---o---+ (22) merge two known; one far left, one far right
26 | | / /
26 | | / /
27 o | | | (21) expand
27 o | | | (21) expand
28 |\ \ \ \
28 |\ \ \ \
29 | o---+-+ (20) merge two known; two far right
29 | o---+-+ (20) merge two known; two far right
30 | / / /
30 | / / /
31 o | | | (19) expand
31 o | | | (19) expand
32 |\ \ \ \
32 |\ \ \ \
33 +---+---o (18) merge two known; two far left
33 +---+---o (18) merge two known; two far left
34 | | | |
34 | | | |
35 | o | | (17) expand
35 | o | | (17) expand
36 | |\ \ \
36 | |\ \ \
37 | | o---+ (16) merge two known; one immediate right, one near right
37 | | o---+ (16) merge two known; one immediate right, one near right
38 | | |/ /
38 | | |/ /
39 o | | | (15) expand
39 o | | | (15) expand
40 |\ \ \ \
40 |\ \ \ \
41 | o-----+ (14) merge two known; one immediate right, one far right
41 | o-----+ (14) merge two known; one immediate right, one far right
42 | |/ / /
42 | |/ / /
43 o | | | (13) expand
43 o | | | (13) expand
44 |\ \ \ \
44 |\ \ \ \
45 +---o | | (12) merge two known; one immediate right, one far left
45 +---o | | (12) merge two known; one immediate right, one far left
46 | | |/ /
46 | | |/ /
47 | o | | (11) expand
47 | o | | (11) expand
48 | |\ \ \
48 | |\ \ \
49 | | o---+ (10) merge two known; one immediate left, one near right
49 | | o---+ (10) merge two known; one immediate left, one near right
50 | |/ / /
50 | |/ / /
51 o | | | (9) expand
51 o | | | (9) expand
52 |\ \ \ \
52 |\ \ \ \
53 | o-----+ (8) merge two known; one immediate left, one far right
53 | o-----+ (8) merge two known; one immediate left, one far right
54 |/ / / /
54 |/ / / /
55 o | | | (7) expand
55 o | | | (7) expand
56 |\ \ \ \
56 |\ \ \ \
57 +---o | | (6) merge two known; one immediate left, one far left
57 +---o | | (6) merge two known; one immediate left, one far left
58 | |/ / /
58 | |/ / /
59 | o | | (5) expand
59 | o | | (5) expand
60 | |\ \ \
60 | |\ \ \
61 | | o | | (4) merge two known; one immediate left, one immediate right
61 | | o | | (4) merge two known; one immediate left, one immediate right
62 | |/|/ /
62 | |/|/ /
63 | o / / (3) collapse
63 | o / / (3) collapse
64 |/ / /
64 |/ / /
65 o / / (2) collapse
65 o / / (2) collapse
66 |/ /
66 |/ /
67 o / (1) collapse
67 o / (1) collapse
68 |/
68 |/
69 o (0) root
69 o (0) root
70
70
71
71
72 $ "$TESTDIR/hghave" no-outer-repo || exit 80
72 $ "$TESTDIR/hghave" no-outer-repo || exit 80
73
73
74 $ commit()
74 $ commit()
75 > {
75 > {
76 > rev=$1
76 > rev=$1
77 > msg=$2
77 > msg=$2
78 > shift 2
78 > shift 2
79 > if [ "$#" -gt 0 ]; then
79 > if [ "$#" -gt 0 ]; then
80 > hg debugsetparents "$@"
80 > hg debugsetparents "$@"
81 > fi
81 > fi
82 > echo $rev > a
82 > echo $rev > a
83 > hg commit -Aqd "$rev 0" -m "($rev) $msg"
83 > hg commit -Aqd "$rev 0" -m "($rev) $msg"
84 > }
84 > }
85
85
86 $ cat > printrevset.py <<EOF
86 $ cat > printrevset.py <<EOF
87 > from mercurial import extensions, revset, commands
87 > from mercurial import extensions, revset, commands
88 > from hgext import graphlog
88 > from hgext import graphlog
89 >
89 >
90 > def uisetup(ui):
90 > def uisetup(ui):
91 > def printrevset(orig, ui, repo, *pats, **opts):
91 > def printrevset(orig, ui, repo, *pats, **opts):
92 > if opts.get('print_revset'):
92 > if opts.get('print_revset'):
93 > expr = graphlog.revset(pats, opts)
93 > expr = graphlog.revset(pats, opts)
94 > tree = revset.parse(expr)[0]
94 > tree = revset.parse(expr)[0]
95 > ui.write(tree, "\n")
95 > ui.write(tree, "\n")
96 > return 0
96 > return 0
97 > return orig(ui, repo, *pats, **opts)
97 > return orig(ui, repo, *pats, **opts)
98 > entry = extensions.wrapcommand(commands.table, 'log', printrevset)
98 > entry = extensions.wrapcommand(commands.table, 'log', printrevset)
99 > entry[1].append(('', 'print-revset', False,
99 > entry[1].append(('', 'print-revset', False,
100 > 'print generated revset and exit (DEPRECATED)'))
100 > 'print generated revset and exit (DEPRECATED)'))
101 > EOF
101 > EOF
102
102
103 $ echo "[extensions]" >> $HGRCPATH
103 $ echo "[extensions]" >> $HGRCPATH
104 $ echo "graphlog=" >> $HGRCPATH
104 $ echo "graphlog=" >> $HGRCPATH
105 $ echo "printrevset=`pwd`/printrevset.py" >> $HGRCPATH
105 $ echo "printrevset=`pwd`/printrevset.py" >> $HGRCPATH
106
106
107 $ hg init repo
107 $ hg init repo
108 $ cd repo
108 $ cd repo
109
109
110 Empty repo:
110 Empty repo:
111
111
112 $ hg glog
112 $ hg glog
113
113
114
114
115 Building DAG:
115 Building DAG:
116
116
117 $ commit 0 "root"
117 $ commit 0 "root"
118 $ commit 1 "collapse" 0
118 $ commit 1 "collapse" 0
119 $ commit 2 "collapse" 1
119 $ commit 2 "collapse" 1
120 $ commit 3 "collapse" 2
120 $ commit 3 "collapse" 2
121 $ commit 4 "merge two known; one immediate left, one immediate right" 1 3
121 $ commit 4 "merge two known; one immediate left, one immediate right" 1 3
122 $ commit 5 "expand" 3 4
122 $ commit 5 "expand" 3 4
123 $ commit 6 "merge two known; one immediate left, one far left" 2 5
123 $ commit 6 "merge two known; one immediate left, one far left" 2 5
124 $ commit 7 "expand" 2 5
124 $ commit 7 "expand" 2 5
125 $ commit 8 "merge two known; one immediate left, one far right" 0 7
125 $ commit 8 "merge two known; one immediate left, one far right" 0 7
126 $ commit 9 "expand" 7 8
126 $ commit 9 "expand" 7 8
127 $ commit 10 "merge two known; one immediate left, one near right" 0 6
127 $ commit 10 "merge two known; one immediate left, one near right" 0 6
128 $ commit 11 "expand" 6 10
128 $ commit 11 "expand" 6 10
129 $ commit 12 "merge two known; one immediate right, one far left" 1 9
129 $ commit 12 "merge two known; one immediate right, one far left" 1 9
130 $ commit 13 "expand" 9 11
130 $ commit 13 "expand" 9 11
131 $ commit 14 "merge two known; one immediate right, one far right" 0 12
131 $ commit 14 "merge two known; one immediate right, one far right" 0 12
132 $ commit 15 "expand" 13 14
132 $ commit 15 "expand" 13 14
133 $ commit 16 "merge two known; one immediate right, one near right" 0 1
133 $ commit 16 "merge two known; one immediate right, one near right" 0 1
134 $ commit 17 "expand" 12 16
134 $ commit 17 "expand" 12 16
135 $ commit 18 "merge two known; two far left" 1 15
135 $ commit 18 "merge two known; two far left" 1 15
136 $ commit 19 "expand" 15 17
136 $ commit 19 "expand" 15 17
137 $ commit 20 "merge two known; two far right" 0 18
137 $ commit 20 "merge two known; two far right" 0 18
138 $ commit 21 "expand" 19 20
138 $ commit 21 "expand" 19 20
139 $ commit 22 "merge two known; one far left, one far right" 18 21
139 $ commit 22 "merge two known; one far left, one far right" 18 21
140 $ commit 23 "merge one known; immediate left" 1 22
140 $ commit 23 "merge one known; immediate left" 1 22
141 $ commit 24 "merge one known; immediate right" 0 23
141 $ commit 24 "merge one known; immediate right" 0 23
142 $ commit 25 "merge one known; far left" 21 24
142 $ commit 25 "merge one known; far left" 21 24
143 $ commit 26 "merge one known; far right" 18 25
143 $ commit 26 "merge one known; far right" 18 25
144 $ commit 27 "collapse" 21
144 $ commit 27 "collapse" 21
145 $ commit 28 "merge zero known" 1 26
145 $ commit 28 "merge zero known" 1 26
146 $ commit 29 "regular commit" 0
146 $ commit 29 "regular commit" 0
147 $ commit 30 "expand" 28 29
147 $ commit 30 "expand" 28 29
148 $ commit 31 "expand" 21 30
148 $ commit 31 "expand" 21 30
149 $ commit 32 "expand" 27 31
149 $ commit 32 "expand" 27 31
150 $ commit 33 "head" 18
150 $ commit 33 "head" 18
151 $ commit 34 "head" 32
151 $ commit 34 "head" 32
152
152
153
153
154 $ hg glog -q
154 $ hg glog -q
155 @ 34:fea3ac5810e0
155 @ 34:fea3ac5810e0
156 |
156 |
157 | o 33:68608f5145f9
157 | o 33:68608f5145f9
158 | |
158 | |
159 o | 32:d06dffa21a31
159 o | 32:d06dffa21a31
160 |\ \
160 |\ \
161 | o \ 31:621d83e11f67
161 | o \ 31:621d83e11f67
162 | |\ \
162 | |\ \
163 | | o \ 30:6e11cd4b648f
163 | | o \ 30:6e11cd4b648f
164 | | |\ \
164 | | |\ \
165 | | | o | 29:cd9bb2be7593
165 | | | o | 29:cd9bb2be7593
166 | | | | |
166 | | | | |
167 | | o | | 28:44ecd0b9ae99
167 | | o | | 28:44ecd0b9ae99
168 | | |\ \ \
168 | | |\ \ \
169 o | | | | | 27:886ed638191b
169 o | | | | | 27:886ed638191b
170 |/ / / / /
170 |/ / / / /
171 | | o---+ 26:7f25b6c2f0b9
171 | | o---+ 26:7f25b6c2f0b9
172 | | | | |
172 | | | | |
173 +---o | | 25:91da8ed57247
173 +---o | | 25:91da8ed57247
174 | | | | |
174 | | | | |
175 | | o | | 24:a9c19a3d96b7
175 | | o | | 24:a9c19a3d96b7
176 | | |\| |
176 | | |\| |
177 | | o | | 23:a01cddf0766d
177 | | o | | 23:a01cddf0766d
178 | |/| | |
178 | |/| | |
179 +---o---+ 22:e0d9cccacb5d
179 +---o---+ 22:e0d9cccacb5d
180 | | / /
180 | | / /
181 o | | | 21:d42a756af44d
181 o | | | 21:d42a756af44d
182 |\ \ \ \
182 |\ \ \ \
183 | o---+-+ 20:d30ed6450e32
183 | o---+-+ 20:d30ed6450e32
184 | / / /
184 | / / /
185 o | | | 19:31ddc2c1573b
185 o | | | 19:31ddc2c1573b
186 |\ \ \ \
186 |\ \ \ \
187 +---+---o 18:1aa84d96232a
187 +---+---o 18:1aa84d96232a
188 | | | |
188 | | | |
189 | o | | 17:44765d7c06e0
189 | o | | 17:44765d7c06e0
190 | |\ \ \
190 | |\ \ \
191 | | o---+ 16:3677d192927d
191 | | o---+ 16:3677d192927d
192 | | |/ /
192 | | |/ /
193 o | | | 15:1dda3f72782d
193 o | | | 15:1dda3f72782d
194 |\ \ \ \
194 |\ \ \ \
195 | o-----+ 14:8eac370358ef
195 | o-----+ 14:8eac370358ef
196 | |/ / /
196 | |/ / /
197 o | | | 13:22d8966a97e3
197 o | | | 13:22d8966a97e3
198 |\ \ \ \
198 |\ \ \ \
199 +---o | | 12:86b91144a6e9
199 +---o | | 12:86b91144a6e9
200 | | |/ /
200 | | |/ /
201 | o | | 11:832d76e6bdf2
201 | o | | 11:832d76e6bdf2
202 | |\ \ \
202 | |\ \ \
203 | | o---+ 10:74c64d036d72
203 | | o---+ 10:74c64d036d72
204 | |/ / /
204 | |/ / /
205 o | | | 9:7010c0af0a35
205 o | | | 9:7010c0af0a35
206 |\ \ \ \
206 |\ \ \ \
207 | o-----+ 8:7a0b11f71937
207 | o-----+ 8:7a0b11f71937
208 |/ / / /
208 |/ / / /
209 o | | | 7:b632bb1b1224
209 o | | | 7:b632bb1b1224
210 |\ \ \ \
210 |\ \ \ \
211 +---o | | 6:b105a072e251
211 +---o | | 6:b105a072e251
212 | |/ / /
212 | |/ / /
213 | o | | 5:4409d547b708
213 | o | | 5:4409d547b708
214 | |\ \ \
214 | |\ \ \
215 | | o | | 4:26a8bac39d9f
215 | | o | | 4:26a8bac39d9f
216 | |/|/ /
216 | |/|/ /
217 | o / / 3:27eef8ed80b4
217 | o / / 3:27eef8ed80b4
218 |/ / /
218 |/ / /
219 o / / 2:3d9a33b8d1e1
219 o / / 2:3d9a33b8d1e1
220 |/ /
220 |/ /
221 o / 1:6db2ef61d156
221 o / 1:6db2ef61d156
222 |/
222 |/
223 o 0:e6eb3150255d
223 o 0:e6eb3150255d
224
224
225
225
226 $ hg glog
226 $ hg glog
227 @ changeset: 34:fea3ac5810e0
227 @ changeset: 34:fea3ac5810e0
228 | tag: tip
228 | tag: tip
229 | parent: 32:d06dffa21a31
229 | parent: 32:d06dffa21a31
230 | user: test
230 | user: test
231 | date: Thu Jan 01 00:00:34 1970 +0000
231 | date: Thu Jan 01 00:00:34 1970 +0000
232 | summary: (34) head
232 | summary: (34) head
233 |
233 |
234 | o changeset: 33:68608f5145f9
234 | o changeset: 33:68608f5145f9
235 | | parent: 18:1aa84d96232a
235 | | parent: 18:1aa84d96232a
236 | | user: test
236 | | user: test
237 | | date: Thu Jan 01 00:00:33 1970 +0000
237 | | date: Thu Jan 01 00:00:33 1970 +0000
238 | | summary: (33) head
238 | | summary: (33) head
239 | |
239 | |
240 o | changeset: 32:d06dffa21a31
240 o | changeset: 32:d06dffa21a31
241 |\ \ parent: 27:886ed638191b
241 |\ \ parent: 27:886ed638191b
242 | | | parent: 31:621d83e11f67
242 | | | parent: 31:621d83e11f67
243 | | | user: test
243 | | | user: test
244 | | | date: Thu Jan 01 00:00:32 1970 +0000
244 | | | date: Thu Jan 01 00:00:32 1970 +0000
245 | | | summary: (32) expand
245 | | | summary: (32) expand
246 | | |
246 | | |
247 | o | changeset: 31:621d83e11f67
247 | o | changeset: 31:621d83e11f67
248 | |\ \ parent: 21:d42a756af44d
248 | |\ \ parent: 21:d42a756af44d
249 | | | | parent: 30:6e11cd4b648f
249 | | | | parent: 30:6e11cd4b648f
250 | | | | user: test
250 | | | | user: test
251 | | | | date: Thu Jan 01 00:00:31 1970 +0000
251 | | | | date: Thu Jan 01 00:00:31 1970 +0000
252 | | | | summary: (31) expand
252 | | | | summary: (31) expand
253 | | | |
253 | | | |
254 | | o | changeset: 30:6e11cd4b648f
254 | | o | changeset: 30:6e11cd4b648f
255 | | |\ \ parent: 28:44ecd0b9ae99
255 | | |\ \ parent: 28:44ecd0b9ae99
256 | | | | | parent: 29:cd9bb2be7593
256 | | | | | parent: 29:cd9bb2be7593
257 | | | | | user: test
257 | | | | | user: test
258 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
258 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
259 | | | | | summary: (30) expand
259 | | | | | summary: (30) expand
260 | | | | |
260 | | | | |
261 | | | o | changeset: 29:cd9bb2be7593
261 | | | o | changeset: 29:cd9bb2be7593
262 | | | | | parent: 0:e6eb3150255d
262 | | | | | parent: 0:e6eb3150255d
263 | | | | | user: test
263 | | | | | user: test
264 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
264 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
265 | | | | | summary: (29) regular commit
265 | | | | | summary: (29) regular commit
266 | | | | |
266 | | | | |
267 | | o | | changeset: 28:44ecd0b9ae99
267 | | o | | changeset: 28:44ecd0b9ae99
268 | | |\ \ \ parent: 1:6db2ef61d156
268 | | |\ \ \ parent: 1:6db2ef61d156
269 | | | | | | parent: 26:7f25b6c2f0b9
269 | | | | | | parent: 26:7f25b6c2f0b9
270 | | | | | | user: test
270 | | | | | | user: test
271 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
271 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
272 | | | | | | summary: (28) merge zero known
272 | | | | | | summary: (28) merge zero known
273 | | | | | |
273 | | | | | |
274 o | | | | | changeset: 27:886ed638191b
274 o | | | | | changeset: 27:886ed638191b
275 |/ / / / / parent: 21:d42a756af44d
275 |/ / / / / parent: 21:d42a756af44d
276 | | | | | user: test
276 | | | | | user: test
277 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
277 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
278 | | | | | summary: (27) collapse
278 | | | | | summary: (27) collapse
279 | | | | |
279 | | | | |
280 | | o---+ changeset: 26:7f25b6c2f0b9
280 | | o---+ changeset: 26:7f25b6c2f0b9
281 | | | | | parent: 18:1aa84d96232a
281 | | | | | parent: 18:1aa84d96232a
282 | | | | | parent: 25:91da8ed57247
282 | | | | | parent: 25:91da8ed57247
283 | | | | | user: test
283 | | | | | user: test
284 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
284 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
285 | | | | | summary: (26) merge one known; far right
285 | | | | | summary: (26) merge one known; far right
286 | | | | |
286 | | | | |
287 +---o | | changeset: 25:91da8ed57247
287 +---o | | changeset: 25:91da8ed57247
288 | | | | | parent: 21:d42a756af44d
288 | | | | | parent: 21:d42a756af44d
289 | | | | | parent: 24:a9c19a3d96b7
289 | | | | | parent: 24:a9c19a3d96b7
290 | | | | | user: test
290 | | | | | user: test
291 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
291 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
292 | | | | | summary: (25) merge one known; far left
292 | | | | | summary: (25) merge one known; far left
293 | | | | |
293 | | | | |
294 | | o | | changeset: 24:a9c19a3d96b7
294 | | o | | changeset: 24:a9c19a3d96b7
295 | | |\| | parent: 0:e6eb3150255d
295 | | |\| | parent: 0:e6eb3150255d
296 | | | | | parent: 23:a01cddf0766d
296 | | | | | parent: 23:a01cddf0766d
297 | | | | | user: test
297 | | | | | user: test
298 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
298 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
299 | | | | | summary: (24) merge one known; immediate right
299 | | | | | summary: (24) merge one known; immediate right
300 | | | | |
300 | | | | |
301 | | o | | changeset: 23:a01cddf0766d
301 | | o | | changeset: 23:a01cddf0766d
302 | |/| | | parent: 1:6db2ef61d156
302 | |/| | | parent: 1:6db2ef61d156
303 | | | | | parent: 22:e0d9cccacb5d
303 | | | | | parent: 22:e0d9cccacb5d
304 | | | | | user: test
304 | | | | | user: test
305 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
305 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
306 | | | | | summary: (23) merge one known; immediate left
306 | | | | | summary: (23) merge one known; immediate left
307 | | | | |
307 | | | | |
308 +---o---+ changeset: 22:e0d9cccacb5d
308 +---o---+ changeset: 22:e0d9cccacb5d
309 | | | | parent: 18:1aa84d96232a
309 | | | | parent: 18:1aa84d96232a
310 | | / / parent: 21:d42a756af44d
310 | | / / parent: 21:d42a756af44d
311 | | | | user: test
311 | | | | user: test
312 | | | | date: Thu Jan 01 00:00:22 1970 +0000
312 | | | | date: Thu Jan 01 00:00:22 1970 +0000
313 | | | | summary: (22) merge two known; one far left, one far right
313 | | | | summary: (22) merge two known; one far left, one far right
314 | | | |
314 | | | |
315 o | | | changeset: 21:d42a756af44d
315 o | | | changeset: 21:d42a756af44d
316 |\ \ \ \ parent: 19:31ddc2c1573b
316 |\ \ \ \ parent: 19:31ddc2c1573b
317 | | | | | parent: 20:d30ed6450e32
317 | | | | | parent: 20:d30ed6450e32
318 | | | | | user: test
318 | | | | | user: test
319 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
319 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
320 | | | | | summary: (21) expand
320 | | | | | summary: (21) expand
321 | | | | |
321 | | | | |
322 | o---+-+ changeset: 20:d30ed6450e32
322 | o---+-+ changeset: 20:d30ed6450e32
323 | | | | parent: 0:e6eb3150255d
323 | | | | parent: 0:e6eb3150255d
324 | / / / parent: 18:1aa84d96232a
324 | / / / parent: 18:1aa84d96232a
325 | | | | user: test
325 | | | | user: test
326 | | | | date: Thu Jan 01 00:00:20 1970 +0000
326 | | | | date: Thu Jan 01 00:00:20 1970 +0000
327 | | | | summary: (20) merge two known; two far right
327 | | | | summary: (20) merge two known; two far right
328 | | | |
328 | | | |
329 o | | | changeset: 19:31ddc2c1573b
329 o | | | changeset: 19:31ddc2c1573b
330 |\ \ \ \ parent: 15:1dda3f72782d
330 |\ \ \ \ parent: 15:1dda3f72782d
331 | | | | | parent: 17:44765d7c06e0
331 | | | | | parent: 17:44765d7c06e0
332 | | | | | user: test
332 | | | | | user: test
333 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
333 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
334 | | | | | summary: (19) expand
334 | | | | | summary: (19) expand
335 | | | | |
335 | | | | |
336 +---+---o changeset: 18:1aa84d96232a
336 +---+---o changeset: 18:1aa84d96232a
337 | | | | parent: 1:6db2ef61d156
337 | | | | parent: 1:6db2ef61d156
338 | | | | parent: 15:1dda3f72782d
338 | | | | parent: 15:1dda3f72782d
339 | | | | user: test
339 | | | | user: test
340 | | | | date: Thu Jan 01 00:00:18 1970 +0000
340 | | | | date: Thu Jan 01 00:00:18 1970 +0000
341 | | | | summary: (18) merge two known; two far left
341 | | | | summary: (18) merge two known; two far left
342 | | | |
342 | | | |
343 | o | | changeset: 17:44765d7c06e0
343 | o | | changeset: 17:44765d7c06e0
344 | |\ \ \ parent: 12:86b91144a6e9
344 | |\ \ \ parent: 12:86b91144a6e9
345 | | | | | parent: 16:3677d192927d
345 | | | | | parent: 16:3677d192927d
346 | | | | | user: test
346 | | | | | user: test
347 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
347 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
348 | | | | | summary: (17) expand
348 | | | | | summary: (17) expand
349 | | | | |
349 | | | | |
350 | | o---+ changeset: 16:3677d192927d
350 | | o---+ changeset: 16:3677d192927d
351 | | | | | parent: 0:e6eb3150255d
351 | | | | | parent: 0:e6eb3150255d
352 | | |/ / parent: 1:6db2ef61d156
352 | | |/ / parent: 1:6db2ef61d156
353 | | | | user: test
353 | | | | user: test
354 | | | | date: Thu Jan 01 00:00:16 1970 +0000
354 | | | | date: Thu Jan 01 00:00:16 1970 +0000
355 | | | | summary: (16) merge two known; one immediate right, one near right
355 | | | | summary: (16) merge two known; one immediate right, one near right
356 | | | |
356 | | | |
357 o | | | changeset: 15:1dda3f72782d
357 o | | | changeset: 15:1dda3f72782d
358 |\ \ \ \ parent: 13:22d8966a97e3
358 |\ \ \ \ parent: 13:22d8966a97e3
359 | | | | | parent: 14:8eac370358ef
359 | | | | | parent: 14:8eac370358ef
360 | | | | | user: test
360 | | | | | user: test
361 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
361 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
362 | | | | | summary: (15) expand
362 | | | | | summary: (15) expand
363 | | | | |
363 | | | | |
364 | o-----+ changeset: 14:8eac370358ef
364 | o-----+ changeset: 14:8eac370358ef
365 | | | | | parent: 0:e6eb3150255d
365 | | | | | parent: 0:e6eb3150255d
366 | |/ / / parent: 12:86b91144a6e9
366 | |/ / / parent: 12:86b91144a6e9
367 | | | | user: test
367 | | | | user: test
368 | | | | date: Thu Jan 01 00:00:14 1970 +0000
368 | | | | date: Thu Jan 01 00:00:14 1970 +0000
369 | | | | summary: (14) merge two known; one immediate right, one far right
369 | | | | summary: (14) merge two known; one immediate right, one far right
370 | | | |
370 | | | |
371 o | | | changeset: 13:22d8966a97e3
371 o | | | changeset: 13:22d8966a97e3
372 |\ \ \ \ parent: 9:7010c0af0a35
372 |\ \ \ \ parent: 9:7010c0af0a35
373 | | | | | parent: 11:832d76e6bdf2
373 | | | | | parent: 11:832d76e6bdf2
374 | | | | | user: test
374 | | | | | user: test
375 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
375 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
376 | | | | | summary: (13) expand
376 | | | | | summary: (13) expand
377 | | | | |
377 | | | | |
378 +---o | | changeset: 12:86b91144a6e9
378 +---o | | changeset: 12:86b91144a6e9
379 | | |/ / parent: 1:6db2ef61d156
379 | | |/ / parent: 1:6db2ef61d156
380 | | | | parent: 9:7010c0af0a35
380 | | | | parent: 9:7010c0af0a35
381 | | | | user: test
381 | | | | user: test
382 | | | | date: Thu Jan 01 00:00:12 1970 +0000
382 | | | | date: Thu Jan 01 00:00:12 1970 +0000
383 | | | | summary: (12) merge two known; one immediate right, one far left
383 | | | | summary: (12) merge two known; one immediate right, one far left
384 | | | |
384 | | | |
385 | o | | changeset: 11:832d76e6bdf2
385 | o | | changeset: 11:832d76e6bdf2
386 | |\ \ \ parent: 6:b105a072e251
386 | |\ \ \ parent: 6:b105a072e251
387 | | | | | parent: 10:74c64d036d72
387 | | | | | parent: 10:74c64d036d72
388 | | | | | user: test
388 | | | | | user: test
389 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
389 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
390 | | | | | summary: (11) expand
390 | | | | | summary: (11) expand
391 | | | | |
391 | | | | |
392 | | o---+ changeset: 10:74c64d036d72
392 | | o---+ changeset: 10:74c64d036d72
393 | | | | | parent: 0:e6eb3150255d
393 | | | | | parent: 0:e6eb3150255d
394 | |/ / / parent: 6:b105a072e251
394 | |/ / / parent: 6:b105a072e251
395 | | | | user: test
395 | | | | user: test
396 | | | | date: Thu Jan 01 00:00:10 1970 +0000
396 | | | | date: Thu Jan 01 00:00:10 1970 +0000
397 | | | | summary: (10) merge two known; one immediate left, one near right
397 | | | | summary: (10) merge two known; one immediate left, one near right
398 | | | |
398 | | | |
399 o | | | changeset: 9:7010c0af0a35
399 o | | | changeset: 9:7010c0af0a35
400 |\ \ \ \ parent: 7:b632bb1b1224
400 |\ \ \ \ parent: 7:b632bb1b1224
401 | | | | | parent: 8:7a0b11f71937
401 | | | | | parent: 8:7a0b11f71937
402 | | | | | user: test
402 | | | | | user: test
403 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
403 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
404 | | | | | summary: (9) expand
404 | | | | | summary: (9) expand
405 | | | | |
405 | | | | |
406 | o-----+ changeset: 8:7a0b11f71937
406 | o-----+ changeset: 8:7a0b11f71937
407 | | | | | parent: 0:e6eb3150255d
407 | | | | | parent: 0:e6eb3150255d
408 |/ / / / parent: 7:b632bb1b1224
408 |/ / / / parent: 7:b632bb1b1224
409 | | | | user: test
409 | | | | user: test
410 | | | | date: Thu Jan 01 00:00:08 1970 +0000
410 | | | | date: Thu Jan 01 00:00:08 1970 +0000
411 | | | | summary: (8) merge two known; one immediate left, one far right
411 | | | | summary: (8) merge two known; one immediate left, one far right
412 | | | |
412 | | | |
413 o | | | changeset: 7:b632bb1b1224
413 o | | | changeset: 7:b632bb1b1224
414 |\ \ \ \ parent: 2:3d9a33b8d1e1
414 |\ \ \ \ parent: 2:3d9a33b8d1e1
415 | | | | | parent: 5:4409d547b708
415 | | | | | parent: 5:4409d547b708
416 | | | | | user: test
416 | | | | | user: test
417 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
417 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
418 | | | | | summary: (7) expand
418 | | | | | summary: (7) expand
419 | | | | |
419 | | | | |
420 +---o | | changeset: 6:b105a072e251
420 +---o | | changeset: 6:b105a072e251
421 | |/ / / parent: 2:3d9a33b8d1e1
421 | |/ / / parent: 2:3d9a33b8d1e1
422 | | | | parent: 5:4409d547b708
422 | | | | parent: 5:4409d547b708
423 | | | | user: test
423 | | | | user: test
424 | | | | date: Thu Jan 01 00:00:06 1970 +0000
424 | | | | date: Thu Jan 01 00:00:06 1970 +0000
425 | | | | summary: (6) merge two known; one immediate left, one far left
425 | | | | summary: (6) merge two known; one immediate left, one far left
426 | | | |
426 | | | |
427 | o | | changeset: 5:4409d547b708
427 | o | | changeset: 5:4409d547b708
428 | |\ \ \ parent: 3:27eef8ed80b4
428 | |\ \ \ parent: 3:27eef8ed80b4
429 | | | | | parent: 4:26a8bac39d9f
429 | | | | | parent: 4:26a8bac39d9f
430 | | | | | user: test
430 | | | | | user: test
431 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
431 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
432 | | | | | summary: (5) expand
432 | | | | | summary: (5) expand
433 | | | | |
433 | | | | |
434 | | o | | changeset: 4:26a8bac39d9f
434 | | o | | changeset: 4:26a8bac39d9f
435 | |/|/ / parent: 1:6db2ef61d156
435 | |/|/ / parent: 1:6db2ef61d156
436 | | | | parent: 3:27eef8ed80b4
436 | | | | parent: 3:27eef8ed80b4
437 | | | | user: test
437 | | | | user: test
438 | | | | date: Thu Jan 01 00:00:04 1970 +0000
438 | | | | date: Thu Jan 01 00:00:04 1970 +0000
439 | | | | summary: (4) merge two known; one immediate left, one immediate right
439 | | | | summary: (4) merge two known; one immediate left, one immediate right
440 | | | |
440 | | | |
441 | o | | changeset: 3:27eef8ed80b4
441 | o | | changeset: 3:27eef8ed80b4
442 |/ / / user: test
442 |/ / / user: test
443 | | | date: Thu Jan 01 00:00:03 1970 +0000
443 | | | date: Thu Jan 01 00:00:03 1970 +0000
444 | | | summary: (3) collapse
444 | | | summary: (3) collapse
445 | | |
445 | | |
446 o | | changeset: 2:3d9a33b8d1e1
446 o | | changeset: 2:3d9a33b8d1e1
447 |/ / user: test
447 |/ / user: test
448 | | date: Thu Jan 01 00:00:02 1970 +0000
448 | | date: Thu Jan 01 00:00:02 1970 +0000
449 | | summary: (2) collapse
449 | | summary: (2) collapse
450 | |
450 | |
451 o | changeset: 1:6db2ef61d156
451 o | changeset: 1:6db2ef61d156
452 |/ user: test
452 |/ user: test
453 | date: Thu Jan 01 00:00:01 1970 +0000
453 | date: Thu Jan 01 00:00:01 1970 +0000
454 | summary: (1) collapse
454 | summary: (1) collapse
455 |
455 |
456 o changeset: 0:e6eb3150255d
456 o changeset: 0:e6eb3150255d
457 user: test
457 user: test
458 date: Thu Jan 01 00:00:00 1970 +0000
458 date: Thu Jan 01 00:00:00 1970 +0000
459 summary: (0) root
459 summary: (0) root
460
460
461
461
462 File glog:
462 File glog:
463 $ hg glog a
463 $ hg glog a
464 @ changeset: 34:fea3ac5810e0
464 @ changeset: 34:fea3ac5810e0
465 | tag: tip
465 | tag: tip
466 | parent: 32:d06dffa21a31
466 | parent: 32:d06dffa21a31
467 | user: test
467 | user: test
468 | date: Thu Jan 01 00:00:34 1970 +0000
468 | date: Thu Jan 01 00:00:34 1970 +0000
469 | summary: (34) head
469 | summary: (34) head
470 |
470 |
471 | o changeset: 33:68608f5145f9
471 | o changeset: 33:68608f5145f9
472 | | parent: 18:1aa84d96232a
472 | | parent: 18:1aa84d96232a
473 | | user: test
473 | | user: test
474 | | date: Thu Jan 01 00:00:33 1970 +0000
474 | | date: Thu Jan 01 00:00:33 1970 +0000
475 | | summary: (33) head
475 | | summary: (33) head
476 | |
476 | |
477 o | changeset: 32:d06dffa21a31
477 o | changeset: 32:d06dffa21a31
478 |\ \ parent: 27:886ed638191b
478 |\ \ parent: 27:886ed638191b
479 | | | parent: 31:621d83e11f67
479 | | | parent: 31:621d83e11f67
480 | | | user: test
480 | | | user: test
481 | | | date: Thu Jan 01 00:00:32 1970 +0000
481 | | | date: Thu Jan 01 00:00:32 1970 +0000
482 | | | summary: (32) expand
482 | | | summary: (32) expand
483 | | |
483 | | |
484 | o | changeset: 31:621d83e11f67
484 | o | changeset: 31:621d83e11f67
485 | |\ \ parent: 21:d42a756af44d
485 | |\ \ parent: 21:d42a756af44d
486 | | | | parent: 30:6e11cd4b648f
486 | | | | parent: 30:6e11cd4b648f
487 | | | | user: test
487 | | | | user: test
488 | | | | date: Thu Jan 01 00:00:31 1970 +0000
488 | | | | date: Thu Jan 01 00:00:31 1970 +0000
489 | | | | summary: (31) expand
489 | | | | summary: (31) expand
490 | | | |
490 | | | |
491 | | o | changeset: 30:6e11cd4b648f
491 | | o | changeset: 30:6e11cd4b648f
492 | | |\ \ parent: 28:44ecd0b9ae99
492 | | |\ \ parent: 28:44ecd0b9ae99
493 | | | | | parent: 29:cd9bb2be7593
493 | | | | | parent: 29:cd9bb2be7593
494 | | | | | user: test
494 | | | | | user: test
495 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
495 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
496 | | | | | summary: (30) expand
496 | | | | | summary: (30) expand
497 | | | | |
497 | | | | |
498 | | | o | changeset: 29:cd9bb2be7593
498 | | | o | changeset: 29:cd9bb2be7593
499 | | | | | parent: 0:e6eb3150255d
499 | | | | | parent: 0:e6eb3150255d
500 | | | | | user: test
500 | | | | | user: test
501 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
501 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
502 | | | | | summary: (29) regular commit
502 | | | | | summary: (29) regular commit
503 | | | | |
503 | | | | |
504 | | o | | changeset: 28:44ecd0b9ae99
504 | | o | | changeset: 28:44ecd0b9ae99
505 | | |\ \ \ parent: 1:6db2ef61d156
505 | | |\ \ \ parent: 1:6db2ef61d156
506 | | | | | | parent: 26:7f25b6c2f0b9
506 | | | | | | parent: 26:7f25b6c2f0b9
507 | | | | | | user: test
507 | | | | | | user: test
508 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
508 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
509 | | | | | | summary: (28) merge zero known
509 | | | | | | summary: (28) merge zero known
510 | | | | | |
510 | | | | | |
511 o | | | | | changeset: 27:886ed638191b
511 o | | | | | changeset: 27:886ed638191b
512 |/ / / / / parent: 21:d42a756af44d
512 |/ / / / / parent: 21:d42a756af44d
513 | | | | | user: test
513 | | | | | user: test
514 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
514 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
515 | | | | | summary: (27) collapse
515 | | | | | summary: (27) collapse
516 | | | | |
516 | | | | |
517 | | o---+ changeset: 26:7f25b6c2f0b9
517 | | o---+ changeset: 26:7f25b6c2f0b9
518 | | | | | parent: 18:1aa84d96232a
518 | | | | | parent: 18:1aa84d96232a
519 | | | | | parent: 25:91da8ed57247
519 | | | | | parent: 25:91da8ed57247
520 | | | | | user: test
520 | | | | | user: test
521 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
521 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
522 | | | | | summary: (26) merge one known; far right
522 | | | | | summary: (26) merge one known; far right
523 | | | | |
523 | | | | |
524 +---o | | changeset: 25:91da8ed57247
524 +---o | | changeset: 25:91da8ed57247
525 | | | | | parent: 21:d42a756af44d
525 | | | | | parent: 21:d42a756af44d
526 | | | | | parent: 24:a9c19a3d96b7
526 | | | | | parent: 24:a9c19a3d96b7
527 | | | | | user: test
527 | | | | | user: test
528 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
528 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
529 | | | | | summary: (25) merge one known; far left
529 | | | | | summary: (25) merge one known; far left
530 | | | | |
530 | | | | |
531 | | o | | changeset: 24:a9c19a3d96b7
531 | | o | | changeset: 24:a9c19a3d96b7
532 | | |\| | parent: 0:e6eb3150255d
532 | | |\| | parent: 0:e6eb3150255d
533 | | | | | parent: 23:a01cddf0766d
533 | | | | | parent: 23:a01cddf0766d
534 | | | | | user: test
534 | | | | | user: test
535 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
535 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
536 | | | | | summary: (24) merge one known; immediate right
536 | | | | | summary: (24) merge one known; immediate right
537 | | | | |
537 | | | | |
538 | | o | | changeset: 23:a01cddf0766d
538 | | o | | changeset: 23:a01cddf0766d
539 | |/| | | parent: 1:6db2ef61d156
539 | |/| | | parent: 1:6db2ef61d156
540 | | | | | parent: 22:e0d9cccacb5d
540 | | | | | parent: 22:e0d9cccacb5d
541 | | | | | user: test
541 | | | | | user: test
542 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
542 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
543 | | | | | summary: (23) merge one known; immediate left
543 | | | | | summary: (23) merge one known; immediate left
544 | | | | |
544 | | | | |
545 +---o---+ changeset: 22:e0d9cccacb5d
545 +---o---+ changeset: 22:e0d9cccacb5d
546 | | | | parent: 18:1aa84d96232a
546 | | | | parent: 18:1aa84d96232a
547 | | / / parent: 21:d42a756af44d
547 | | / / parent: 21:d42a756af44d
548 | | | | user: test
548 | | | | user: test
549 | | | | date: Thu Jan 01 00:00:22 1970 +0000
549 | | | | date: Thu Jan 01 00:00:22 1970 +0000
550 | | | | summary: (22) merge two known; one far left, one far right
550 | | | | summary: (22) merge two known; one far left, one far right
551 | | | |
551 | | | |
552 o | | | changeset: 21:d42a756af44d
552 o | | | changeset: 21:d42a756af44d
553 |\ \ \ \ parent: 19:31ddc2c1573b
553 |\ \ \ \ parent: 19:31ddc2c1573b
554 | | | | | parent: 20:d30ed6450e32
554 | | | | | parent: 20:d30ed6450e32
555 | | | | | user: test
555 | | | | | user: test
556 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
556 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
557 | | | | | summary: (21) expand
557 | | | | | summary: (21) expand
558 | | | | |
558 | | | | |
559 | o---+-+ changeset: 20:d30ed6450e32
559 | o---+-+ changeset: 20:d30ed6450e32
560 | | | | parent: 0:e6eb3150255d
560 | | | | parent: 0:e6eb3150255d
561 | / / / parent: 18:1aa84d96232a
561 | / / / parent: 18:1aa84d96232a
562 | | | | user: test
562 | | | | user: test
563 | | | | date: Thu Jan 01 00:00:20 1970 +0000
563 | | | | date: Thu Jan 01 00:00:20 1970 +0000
564 | | | | summary: (20) merge two known; two far right
564 | | | | summary: (20) merge two known; two far right
565 | | | |
565 | | | |
566 o | | | changeset: 19:31ddc2c1573b
566 o | | | changeset: 19:31ddc2c1573b
567 |\ \ \ \ parent: 15:1dda3f72782d
567 |\ \ \ \ parent: 15:1dda3f72782d
568 | | | | | parent: 17:44765d7c06e0
568 | | | | | parent: 17:44765d7c06e0
569 | | | | | user: test
569 | | | | | user: test
570 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
570 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
571 | | | | | summary: (19) expand
571 | | | | | summary: (19) expand
572 | | | | |
572 | | | | |
573 +---+---o changeset: 18:1aa84d96232a
573 +---+---o changeset: 18:1aa84d96232a
574 | | | | parent: 1:6db2ef61d156
574 | | | | parent: 1:6db2ef61d156
575 | | | | parent: 15:1dda3f72782d
575 | | | | parent: 15:1dda3f72782d
576 | | | | user: test
576 | | | | user: test
577 | | | | date: Thu Jan 01 00:00:18 1970 +0000
577 | | | | date: Thu Jan 01 00:00:18 1970 +0000
578 | | | | summary: (18) merge two known; two far left
578 | | | | summary: (18) merge two known; two far left
579 | | | |
579 | | | |
580 | o | | changeset: 17:44765d7c06e0
580 | o | | changeset: 17:44765d7c06e0
581 | |\ \ \ parent: 12:86b91144a6e9
581 | |\ \ \ parent: 12:86b91144a6e9
582 | | | | | parent: 16:3677d192927d
582 | | | | | parent: 16:3677d192927d
583 | | | | | user: test
583 | | | | | user: test
584 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
584 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
585 | | | | | summary: (17) expand
585 | | | | | summary: (17) expand
586 | | | | |
586 | | | | |
587 | | o---+ changeset: 16:3677d192927d
587 | | o---+ changeset: 16:3677d192927d
588 | | | | | parent: 0:e6eb3150255d
588 | | | | | parent: 0:e6eb3150255d
589 | | |/ / parent: 1:6db2ef61d156
589 | | |/ / parent: 1:6db2ef61d156
590 | | | | user: test
590 | | | | user: test
591 | | | | date: Thu Jan 01 00:00:16 1970 +0000
591 | | | | date: Thu Jan 01 00:00:16 1970 +0000
592 | | | | summary: (16) merge two known; one immediate right, one near right
592 | | | | summary: (16) merge two known; one immediate right, one near right
593 | | | |
593 | | | |
594 o | | | changeset: 15:1dda3f72782d
594 o | | | changeset: 15:1dda3f72782d
595 |\ \ \ \ parent: 13:22d8966a97e3
595 |\ \ \ \ parent: 13:22d8966a97e3
596 | | | | | parent: 14:8eac370358ef
596 | | | | | parent: 14:8eac370358ef
597 | | | | | user: test
597 | | | | | user: test
598 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
598 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
599 | | | | | summary: (15) expand
599 | | | | | summary: (15) expand
600 | | | | |
600 | | | | |
601 | o-----+ changeset: 14:8eac370358ef
601 | o-----+ changeset: 14:8eac370358ef
602 | | | | | parent: 0:e6eb3150255d
602 | | | | | parent: 0:e6eb3150255d
603 | |/ / / parent: 12:86b91144a6e9
603 | |/ / / parent: 12:86b91144a6e9
604 | | | | user: test
604 | | | | user: test
605 | | | | date: Thu Jan 01 00:00:14 1970 +0000
605 | | | | date: Thu Jan 01 00:00:14 1970 +0000
606 | | | | summary: (14) merge two known; one immediate right, one far right
606 | | | | summary: (14) merge two known; one immediate right, one far right
607 | | | |
607 | | | |
608 o | | | changeset: 13:22d8966a97e3
608 o | | | changeset: 13:22d8966a97e3
609 |\ \ \ \ parent: 9:7010c0af0a35
609 |\ \ \ \ parent: 9:7010c0af0a35
610 | | | | | parent: 11:832d76e6bdf2
610 | | | | | parent: 11:832d76e6bdf2
611 | | | | | user: test
611 | | | | | user: test
612 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
612 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
613 | | | | | summary: (13) expand
613 | | | | | summary: (13) expand
614 | | | | |
614 | | | | |
615 +---o | | changeset: 12:86b91144a6e9
615 +---o | | changeset: 12:86b91144a6e9
616 | | |/ / parent: 1:6db2ef61d156
616 | | |/ / parent: 1:6db2ef61d156
617 | | | | parent: 9:7010c0af0a35
617 | | | | parent: 9:7010c0af0a35
618 | | | | user: test
618 | | | | user: test
619 | | | | date: Thu Jan 01 00:00:12 1970 +0000
619 | | | | date: Thu Jan 01 00:00:12 1970 +0000
620 | | | | summary: (12) merge two known; one immediate right, one far left
620 | | | | summary: (12) merge two known; one immediate right, one far left
621 | | | |
621 | | | |
622 | o | | changeset: 11:832d76e6bdf2
622 | o | | changeset: 11:832d76e6bdf2
623 | |\ \ \ parent: 6:b105a072e251
623 | |\ \ \ parent: 6:b105a072e251
624 | | | | | parent: 10:74c64d036d72
624 | | | | | parent: 10:74c64d036d72
625 | | | | | user: test
625 | | | | | user: test
626 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
626 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
627 | | | | | summary: (11) expand
627 | | | | | summary: (11) expand
628 | | | | |
628 | | | | |
629 | | o---+ changeset: 10:74c64d036d72
629 | | o---+ changeset: 10:74c64d036d72
630 | | | | | parent: 0:e6eb3150255d
630 | | | | | parent: 0:e6eb3150255d
631 | |/ / / parent: 6:b105a072e251
631 | |/ / / parent: 6:b105a072e251
632 | | | | user: test
632 | | | | user: test
633 | | | | date: Thu Jan 01 00:00:10 1970 +0000
633 | | | | date: Thu Jan 01 00:00:10 1970 +0000
634 | | | | summary: (10) merge two known; one immediate left, one near right
634 | | | | summary: (10) merge two known; one immediate left, one near right
635 | | | |
635 | | | |
636 o | | | changeset: 9:7010c0af0a35
636 o | | | changeset: 9:7010c0af0a35
637 |\ \ \ \ parent: 7:b632bb1b1224
637 |\ \ \ \ parent: 7:b632bb1b1224
638 | | | | | parent: 8:7a0b11f71937
638 | | | | | parent: 8:7a0b11f71937
639 | | | | | user: test
639 | | | | | user: test
640 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
640 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
641 | | | | | summary: (9) expand
641 | | | | | summary: (9) expand
642 | | | | |
642 | | | | |
643 | o-----+ changeset: 8:7a0b11f71937
643 | o-----+ changeset: 8:7a0b11f71937
644 | | | | | parent: 0:e6eb3150255d
644 | | | | | parent: 0:e6eb3150255d
645 |/ / / / parent: 7:b632bb1b1224
645 |/ / / / parent: 7:b632bb1b1224
646 | | | | user: test
646 | | | | user: test
647 | | | | date: Thu Jan 01 00:00:08 1970 +0000
647 | | | | date: Thu Jan 01 00:00:08 1970 +0000
648 | | | | summary: (8) merge two known; one immediate left, one far right
648 | | | | summary: (8) merge two known; one immediate left, one far right
649 | | | |
649 | | | |
650 o | | | changeset: 7:b632bb1b1224
650 o | | | changeset: 7:b632bb1b1224
651 |\ \ \ \ parent: 2:3d9a33b8d1e1
651 |\ \ \ \ parent: 2:3d9a33b8d1e1
652 | | | | | parent: 5:4409d547b708
652 | | | | | parent: 5:4409d547b708
653 | | | | | user: test
653 | | | | | user: test
654 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
654 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
655 | | | | | summary: (7) expand
655 | | | | | summary: (7) expand
656 | | | | |
656 | | | | |
657 +---o | | changeset: 6:b105a072e251
657 +---o | | changeset: 6:b105a072e251
658 | |/ / / parent: 2:3d9a33b8d1e1
658 | |/ / / parent: 2:3d9a33b8d1e1
659 | | | | parent: 5:4409d547b708
659 | | | | parent: 5:4409d547b708
660 | | | | user: test
660 | | | | user: test
661 | | | | date: Thu Jan 01 00:00:06 1970 +0000
661 | | | | date: Thu Jan 01 00:00:06 1970 +0000
662 | | | | summary: (6) merge two known; one immediate left, one far left
662 | | | | summary: (6) merge two known; one immediate left, one far left
663 | | | |
663 | | | |
664 | o | | changeset: 5:4409d547b708
664 | o | | changeset: 5:4409d547b708
665 | |\ \ \ parent: 3:27eef8ed80b4
665 | |\ \ \ parent: 3:27eef8ed80b4
666 | | | | | parent: 4:26a8bac39d9f
666 | | | | | parent: 4:26a8bac39d9f
667 | | | | | user: test
667 | | | | | user: test
668 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
668 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
669 | | | | | summary: (5) expand
669 | | | | | summary: (5) expand
670 | | | | |
670 | | | | |
671 | | o | | changeset: 4:26a8bac39d9f
671 | | o | | changeset: 4:26a8bac39d9f
672 | |/|/ / parent: 1:6db2ef61d156
672 | |/|/ / parent: 1:6db2ef61d156
673 | | | | parent: 3:27eef8ed80b4
673 | | | | parent: 3:27eef8ed80b4
674 | | | | user: test
674 | | | | user: test
675 | | | | date: Thu Jan 01 00:00:04 1970 +0000
675 | | | | date: Thu Jan 01 00:00:04 1970 +0000
676 | | | | summary: (4) merge two known; one immediate left, one immediate right
676 | | | | summary: (4) merge two known; one immediate left, one immediate right
677 | | | |
677 | | | |
678 | o | | changeset: 3:27eef8ed80b4
678 | o | | changeset: 3:27eef8ed80b4
679 |/ / / user: test
679 |/ / / user: test
680 | | | date: Thu Jan 01 00:00:03 1970 +0000
680 | | | date: Thu Jan 01 00:00:03 1970 +0000
681 | | | summary: (3) collapse
681 | | | summary: (3) collapse
682 | | |
682 | | |
683 o | | changeset: 2:3d9a33b8d1e1
683 o | | changeset: 2:3d9a33b8d1e1
684 |/ / user: test
684 |/ / user: test
685 | | date: Thu Jan 01 00:00:02 1970 +0000
685 | | date: Thu Jan 01 00:00:02 1970 +0000
686 | | summary: (2) collapse
686 | | summary: (2) collapse
687 | |
687 | |
688 o | changeset: 1:6db2ef61d156
688 o | changeset: 1:6db2ef61d156
689 |/ user: test
689 |/ user: test
690 | date: Thu Jan 01 00:00:01 1970 +0000
690 | date: Thu Jan 01 00:00:01 1970 +0000
691 | summary: (1) collapse
691 | summary: (1) collapse
692 |
692 |
693 o changeset: 0:e6eb3150255d
693 o changeset: 0:e6eb3150255d
694 user: test
694 user: test
695 date: Thu Jan 01 00:00:00 1970 +0000
695 date: Thu Jan 01 00:00:00 1970 +0000
696 summary: (0) root
696 summary: (0) root
697
697
698
698
699 File glog per revset:
699 File glog per revset:
700
700
701 $ hg glog -r 'file("a")'
701 $ hg glog -r 'file("a")'
702 @ changeset: 34:fea3ac5810e0
702 @ changeset: 34:fea3ac5810e0
703 | tag: tip
703 | tag: tip
704 | parent: 32:d06dffa21a31
704 | parent: 32:d06dffa21a31
705 | user: test
705 | user: test
706 | date: Thu Jan 01 00:00:34 1970 +0000
706 | date: Thu Jan 01 00:00:34 1970 +0000
707 | summary: (34) head
707 | summary: (34) head
708 |
708 |
709 | o changeset: 33:68608f5145f9
709 | o changeset: 33:68608f5145f9
710 | | parent: 18:1aa84d96232a
710 | | parent: 18:1aa84d96232a
711 | | user: test
711 | | user: test
712 | | date: Thu Jan 01 00:00:33 1970 +0000
712 | | date: Thu Jan 01 00:00:33 1970 +0000
713 | | summary: (33) head
713 | | summary: (33) head
714 | |
714 | |
715 o | changeset: 32:d06dffa21a31
715 o | changeset: 32:d06dffa21a31
716 |\ \ parent: 27:886ed638191b
716 |\ \ parent: 27:886ed638191b
717 | | | parent: 31:621d83e11f67
717 | | | parent: 31:621d83e11f67
718 | | | user: test
718 | | | user: test
719 | | | date: Thu Jan 01 00:00:32 1970 +0000
719 | | | date: Thu Jan 01 00:00:32 1970 +0000
720 | | | summary: (32) expand
720 | | | summary: (32) expand
721 | | |
721 | | |
722 | o | changeset: 31:621d83e11f67
722 | o | changeset: 31:621d83e11f67
723 | |\ \ parent: 21:d42a756af44d
723 | |\ \ parent: 21:d42a756af44d
724 | | | | parent: 30:6e11cd4b648f
724 | | | | parent: 30:6e11cd4b648f
725 | | | | user: test
725 | | | | user: test
726 | | | | date: Thu Jan 01 00:00:31 1970 +0000
726 | | | | date: Thu Jan 01 00:00:31 1970 +0000
727 | | | | summary: (31) expand
727 | | | | summary: (31) expand
728 | | | |
728 | | | |
729 | | o | changeset: 30:6e11cd4b648f
729 | | o | changeset: 30:6e11cd4b648f
730 | | |\ \ parent: 28:44ecd0b9ae99
730 | | |\ \ parent: 28:44ecd0b9ae99
731 | | | | | parent: 29:cd9bb2be7593
731 | | | | | parent: 29:cd9bb2be7593
732 | | | | | user: test
732 | | | | | user: test
733 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
733 | | | | | date: Thu Jan 01 00:00:30 1970 +0000
734 | | | | | summary: (30) expand
734 | | | | | summary: (30) expand
735 | | | | |
735 | | | | |
736 | | | o | changeset: 29:cd9bb2be7593
736 | | | o | changeset: 29:cd9bb2be7593
737 | | | | | parent: 0:e6eb3150255d
737 | | | | | parent: 0:e6eb3150255d
738 | | | | | user: test
738 | | | | | user: test
739 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
739 | | | | | date: Thu Jan 01 00:00:29 1970 +0000
740 | | | | | summary: (29) regular commit
740 | | | | | summary: (29) regular commit
741 | | | | |
741 | | | | |
742 | | o | | changeset: 28:44ecd0b9ae99
742 | | o | | changeset: 28:44ecd0b9ae99
743 | | |\ \ \ parent: 1:6db2ef61d156
743 | | |\ \ \ parent: 1:6db2ef61d156
744 | | | | | | parent: 26:7f25b6c2f0b9
744 | | | | | | parent: 26:7f25b6c2f0b9
745 | | | | | | user: test
745 | | | | | | user: test
746 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
746 | | | | | | date: Thu Jan 01 00:00:28 1970 +0000
747 | | | | | | summary: (28) merge zero known
747 | | | | | | summary: (28) merge zero known
748 | | | | | |
748 | | | | | |
749 o | | | | | changeset: 27:886ed638191b
749 o | | | | | changeset: 27:886ed638191b
750 |/ / / / / parent: 21:d42a756af44d
750 |/ / / / / parent: 21:d42a756af44d
751 | | | | | user: test
751 | | | | | user: test
752 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
752 | | | | | date: Thu Jan 01 00:00:27 1970 +0000
753 | | | | | summary: (27) collapse
753 | | | | | summary: (27) collapse
754 | | | | |
754 | | | | |
755 | | o---+ changeset: 26:7f25b6c2f0b9
755 | | o---+ changeset: 26:7f25b6c2f0b9
756 | | | | | parent: 18:1aa84d96232a
756 | | | | | parent: 18:1aa84d96232a
757 | | | | | parent: 25:91da8ed57247
757 | | | | | parent: 25:91da8ed57247
758 | | | | | user: test
758 | | | | | user: test
759 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
759 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
760 | | | | | summary: (26) merge one known; far right
760 | | | | | summary: (26) merge one known; far right
761 | | | | |
761 | | | | |
762 +---o | | changeset: 25:91da8ed57247
762 +---o | | changeset: 25:91da8ed57247
763 | | | | | parent: 21:d42a756af44d
763 | | | | | parent: 21:d42a756af44d
764 | | | | | parent: 24:a9c19a3d96b7
764 | | | | | parent: 24:a9c19a3d96b7
765 | | | | | user: test
765 | | | | | user: test
766 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
766 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
767 | | | | | summary: (25) merge one known; far left
767 | | | | | summary: (25) merge one known; far left
768 | | | | |
768 | | | | |
769 | | o | | changeset: 24:a9c19a3d96b7
769 | | o | | changeset: 24:a9c19a3d96b7
770 | | |\| | parent: 0:e6eb3150255d
770 | | |\| | parent: 0:e6eb3150255d
771 | | | | | parent: 23:a01cddf0766d
771 | | | | | parent: 23:a01cddf0766d
772 | | | | | user: test
772 | | | | | user: test
773 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
773 | | | | | date: Thu Jan 01 00:00:24 1970 +0000
774 | | | | | summary: (24) merge one known; immediate right
774 | | | | | summary: (24) merge one known; immediate right
775 | | | | |
775 | | | | |
776 | | o | | changeset: 23:a01cddf0766d
776 | | o | | changeset: 23:a01cddf0766d
777 | |/| | | parent: 1:6db2ef61d156
777 | |/| | | parent: 1:6db2ef61d156
778 | | | | | parent: 22:e0d9cccacb5d
778 | | | | | parent: 22:e0d9cccacb5d
779 | | | | | user: test
779 | | | | | user: test
780 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
780 | | | | | date: Thu Jan 01 00:00:23 1970 +0000
781 | | | | | summary: (23) merge one known; immediate left
781 | | | | | summary: (23) merge one known; immediate left
782 | | | | |
782 | | | | |
783 +---o---+ changeset: 22:e0d9cccacb5d
783 +---o---+ changeset: 22:e0d9cccacb5d
784 | | | | parent: 18:1aa84d96232a
784 | | | | parent: 18:1aa84d96232a
785 | | / / parent: 21:d42a756af44d
785 | | / / parent: 21:d42a756af44d
786 | | | | user: test
786 | | | | user: test
787 | | | | date: Thu Jan 01 00:00:22 1970 +0000
787 | | | | date: Thu Jan 01 00:00:22 1970 +0000
788 | | | | summary: (22) merge two known; one far left, one far right
788 | | | | summary: (22) merge two known; one far left, one far right
789 | | | |
789 | | | |
790 o | | | changeset: 21:d42a756af44d
790 o | | | changeset: 21:d42a756af44d
791 |\ \ \ \ parent: 19:31ddc2c1573b
791 |\ \ \ \ parent: 19:31ddc2c1573b
792 | | | | | parent: 20:d30ed6450e32
792 | | | | | parent: 20:d30ed6450e32
793 | | | | | user: test
793 | | | | | user: test
794 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
794 | | | | | date: Thu Jan 01 00:00:21 1970 +0000
795 | | | | | summary: (21) expand
795 | | | | | summary: (21) expand
796 | | | | |
796 | | | | |
797 | o---+-+ changeset: 20:d30ed6450e32
797 | o---+-+ changeset: 20:d30ed6450e32
798 | | | | parent: 0:e6eb3150255d
798 | | | | parent: 0:e6eb3150255d
799 | / / / parent: 18:1aa84d96232a
799 | / / / parent: 18:1aa84d96232a
800 | | | | user: test
800 | | | | user: test
801 | | | | date: Thu Jan 01 00:00:20 1970 +0000
801 | | | | date: Thu Jan 01 00:00:20 1970 +0000
802 | | | | summary: (20) merge two known; two far right
802 | | | | summary: (20) merge two known; two far right
803 | | | |
803 | | | |
804 o | | | changeset: 19:31ddc2c1573b
804 o | | | changeset: 19:31ddc2c1573b
805 |\ \ \ \ parent: 15:1dda3f72782d
805 |\ \ \ \ parent: 15:1dda3f72782d
806 | | | | | parent: 17:44765d7c06e0
806 | | | | | parent: 17:44765d7c06e0
807 | | | | | user: test
807 | | | | | user: test
808 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
808 | | | | | date: Thu Jan 01 00:00:19 1970 +0000
809 | | | | | summary: (19) expand
809 | | | | | summary: (19) expand
810 | | | | |
810 | | | | |
811 +---+---o changeset: 18:1aa84d96232a
811 +---+---o changeset: 18:1aa84d96232a
812 | | | | parent: 1:6db2ef61d156
812 | | | | parent: 1:6db2ef61d156
813 | | | | parent: 15:1dda3f72782d
813 | | | | parent: 15:1dda3f72782d
814 | | | | user: test
814 | | | | user: test
815 | | | | date: Thu Jan 01 00:00:18 1970 +0000
815 | | | | date: Thu Jan 01 00:00:18 1970 +0000
816 | | | | summary: (18) merge two known; two far left
816 | | | | summary: (18) merge two known; two far left
817 | | | |
817 | | | |
818 | o | | changeset: 17:44765d7c06e0
818 | o | | changeset: 17:44765d7c06e0
819 | |\ \ \ parent: 12:86b91144a6e9
819 | |\ \ \ parent: 12:86b91144a6e9
820 | | | | | parent: 16:3677d192927d
820 | | | | | parent: 16:3677d192927d
821 | | | | | user: test
821 | | | | | user: test
822 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
822 | | | | | date: Thu Jan 01 00:00:17 1970 +0000
823 | | | | | summary: (17) expand
823 | | | | | summary: (17) expand
824 | | | | |
824 | | | | |
825 | | o---+ changeset: 16:3677d192927d
825 | | o---+ changeset: 16:3677d192927d
826 | | | | | parent: 0:e6eb3150255d
826 | | | | | parent: 0:e6eb3150255d
827 | | |/ / parent: 1:6db2ef61d156
827 | | |/ / parent: 1:6db2ef61d156
828 | | | | user: test
828 | | | | user: test
829 | | | | date: Thu Jan 01 00:00:16 1970 +0000
829 | | | | date: Thu Jan 01 00:00:16 1970 +0000
830 | | | | summary: (16) merge two known; one immediate right, one near right
830 | | | | summary: (16) merge two known; one immediate right, one near right
831 | | | |
831 | | | |
832 o | | | changeset: 15:1dda3f72782d
832 o | | | changeset: 15:1dda3f72782d
833 |\ \ \ \ parent: 13:22d8966a97e3
833 |\ \ \ \ parent: 13:22d8966a97e3
834 | | | | | parent: 14:8eac370358ef
834 | | | | | parent: 14:8eac370358ef
835 | | | | | user: test
835 | | | | | user: test
836 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
836 | | | | | date: Thu Jan 01 00:00:15 1970 +0000
837 | | | | | summary: (15) expand
837 | | | | | summary: (15) expand
838 | | | | |
838 | | | | |
839 | o-----+ changeset: 14:8eac370358ef
839 | o-----+ changeset: 14:8eac370358ef
840 | | | | | parent: 0:e6eb3150255d
840 | | | | | parent: 0:e6eb3150255d
841 | |/ / / parent: 12:86b91144a6e9
841 | |/ / / parent: 12:86b91144a6e9
842 | | | | user: test
842 | | | | user: test
843 | | | | date: Thu Jan 01 00:00:14 1970 +0000
843 | | | | date: Thu Jan 01 00:00:14 1970 +0000
844 | | | | summary: (14) merge two known; one immediate right, one far right
844 | | | | summary: (14) merge two known; one immediate right, one far right
845 | | | |
845 | | | |
846 o | | | changeset: 13:22d8966a97e3
846 o | | | changeset: 13:22d8966a97e3
847 |\ \ \ \ parent: 9:7010c0af0a35
847 |\ \ \ \ parent: 9:7010c0af0a35
848 | | | | | parent: 11:832d76e6bdf2
848 | | | | | parent: 11:832d76e6bdf2
849 | | | | | user: test
849 | | | | | user: test
850 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
850 | | | | | date: Thu Jan 01 00:00:13 1970 +0000
851 | | | | | summary: (13) expand
851 | | | | | summary: (13) expand
852 | | | | |
852 | | | | |
853 +---o | | changeset: 12:86b91144a6e9
853 +---o | | changeset: 12:86b91144a6e9
854 | | |/ / parent: 1:6db2ef61d156
854 | | |/ / parent: 1:6db2ef61d156
855 | | | | parent: 9:7010c0af0a35
855 | | | | parent: 9:7010c0af0a35
856 | | | | user: test
856 | | | | user: test
857 | | | | date: Thu Jan 01 00:00:12 1970 +0000
857 | | | | date: Thu Jan 01 00:00:12 1970 +0000
858 | | | | summary: (12) merge two known; one immediate right, one far left
858 | | | | summary: (12) merge two known; one immediate right, one far left
859 | | | |
859 | | | |
860 | o | | changeset: 11:832d76e6bdf2
860 | o | | changeset: 11:832d76e6bdf2
861 | |\ \ \ parent: 6:b105a072e251
861 | |\ \ \ parent: 6:b105a072e251
862 | | | | | parent: 10:74c64d036d72
862 | | | | | parent: 10:74c64d036d72
863 | | | | | user: test
863 | | | | | user: test
864 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
864 | | | | | date: Thu Jan 01 00:00:11 1970 +0000
865 | | | | | summary: (11) expand
865 | | | | | summary: (11) expand
866 | | | | |
866 | | | | |
867 | | o---+ changeset: 10:74c64d036d72
867 | | o---+ changeset: 10:74c64d036d72
868 | | | | | parent: 0:e6eb3150255d
868 | | | | | parent: 0:e6eb3150255d
869 | |/ / / parent: 6:b105a072e251
869 | |/ / / parent: 6:b105a072e251
870 | | | | user: test
870 | | | | user: test
871 | | | | date: Thu Jan 01 00:00:10 1970 +0000
871 | | | | date: Thu Jan 01 00:00:10 1970 +0000
872 | | | | summary: (10) merge two known; one immediate left, one near right
872 | | | | summary: (10) merge two known; one immediate left, one near right
873 | | | |
873 | | | |
874 o | | | changeset: 9:7010c0af0a35
874 o | | | changeset: 9:7010c0af0a35
875 |\ \ \ \ parent: 7:b632bb1b1224
875 |\ \ \ \ parent: 7:b632bb1b1224
876 | | | | | parent: 8:7a0b11f71937
876 | | | | | parent: 8:7a0b11f71937
877 | | | | | user: test
877 | | | | | user: test
878 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
878 | | | | | date: Thu Jan 01 00:00:09 1970 +0000
879 | | | | | summary: (9) expand
879 | | | | | summary: (9) expand
880 | | | | |
880 | | | | |
881 | o-----+ changeset: 8:7a0b11f71937
881 | o-----+ changeset: 8:7a0b11f71937
882 | | | | | parent: 0:e6eb3150255d
882 | | | | | parent: 0:e6eb3150255d
883 |/ / / / parent: 7:b632bb1b1224
883 |/ / / / parent: 7:b632bb1b1224
884 | | | | user: test
884 | | | | user: test
885 | | | | date: Thu Jan 01 00:00:08 1970 +0000
885 | | | | date: Thu Jan 01 00:00:08 1970 +0000
886 | | | | summary: (8) merge two known; one immediate left, one far right
886 | | | | summary: (8) merge two known; one immediate left, one far right
887 | | | |
887 | | | |
888 o | | | changeset: 7:b632bb1b1224
888 o | | | changeset: 7:b632bb1b1224
889 |\ \ \ \ parent: 2:3d9a33b8d1e1
889 |\ \ \ \ parent: 2:3d9a33b8d1e1
890 | | | | | parent: 5:4409d547b708
890 | | | | | parent: 5:4409d547b708
891 | | | | | user: test
891 | | | | | user: test
892 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
892 | | | | | date: Thu Jan 01 00:00:07 1970 +0000
893 | | | | | summary: (7) expand
893 | | | | | summary: (7) expand
894 | | | | |
894 | | | | |
895 +---o | | changeset: 6:b105a072e251
895 +---o | | changeset: 6:b105a072e251
896 | |/ / / parent: 2:3d9a33b8d1e1
896 | |/ / / parent: 2:3d9a33b8d1e1
897 | | | | parent: 5:4409d547b708
897 | | | | parent: 5:4409d547b708
898 | | | | user: test
898 | | | | user: test
899 | | | | date: Thu Jan 01 00:00:06 1970 +0000
899 | | | | date: Thu Jan 01 00:00:06 1970 +0000
900 | | | | summary: (6) merge two known; one immediate left, one far left
900 | | | | summary: (6) merge two known; one immediate left, one far left
901 | | | |
901 | | | |
902 | o | | changeset: 5:4409d547b708
902 | o | | changeset: 5:4409d547b708
903 | |\ \ \ parent: 3:27eef8ed80b4
903 | |\ \ \ parent: 3:27eef8ed80b4
904 | | | | | parent: 4:26a8bac39d9f
904 | | | | | parent: 4:26a8bac39d9f
905 | | | | | user: test
905 | | | | | user: test
906 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
906 | | | | | date: Thu Jan 01 00:00:05 1970 +0000
907 | | | | | summary: (5) expand
907 | | | | | summary: (5) expand
908 | | | | |
908 | | | | |
909 | | o | | changeset: 4:26a8bac39d9f
909 | | o | | changeset: 4:26a8bac39d9f
910 | |/|/ / parent: 1:6db2ef61d156
910 | |/|/ / parent: 1:6db2ef61d156
911 | | | | parent: 3:27eef8ed80b4
911 | | | | parent: 3:27eef8ed80b4
912 | | | | user: test
912 | | | | user: test
913 | | | | date: Thu Jan 01 00:00:04 1970 +0000
913 | | | | date: Thu Jan 01 00:00:04 1970 +0000
914 | | | | summary: (4) merge two known; one immediate left, one immediate right
914 | | | | summary: (4) merge two known; one immediate left, one immediate right
915 | | | |
915 | | | |
916 | o | | changeset: 3:27eef8ed80b4
916 | o | | changeset: 3:27eef8ed80b4
917 |/ / / user: test
917 |/ / / user: test
918 | | | date: Thu Jan 01 00:00:03 1970 +0000
918 | | | date: Thu Jan 01 00:00:03 1970 +0000
919 | | | summary: (3) collapse
919 | | | summary: (3) collapse
920 | | |
920 | | |
921 o | | changeset: 2:3d9a33b8d1e1
921 o | | changeset: 2:3d9a33b8d1e1
922 |/ / user: test
922 |/ / user: test
923 | | date: Thu Jan 01 00:00:02 1970 +0000
923 | | date: Thu Jan 01 00:00:02 1970 +0000
924 | | summary: (2) collapse
924 | | summary: (2) collapse
925 | |
925 | |
926 o | changeset: 1:6db2ef61d156
926 o | changeset: 1:6db2ef61d156
927 |/ user: test
927 |/ user: test
928 | date: Thu Jan 01 00:00:01 1970 +0000
928 | date: Thu Jan 01 00:00:01 1970 +0000
929 | summary: (1) collapse
929 | summary: (1) collapse
930 |
930 |
931 o changeset: 0:e6eb3150255d
931 o changeset: 0:e6eb3150255d
932 user: test
932 user: test
933 date: Thu Jan 01 00:00:00 1970 +0000
933 date: Thu Jan 01 00:00:00 1970 +0000
934 summary: (0) root
934 summary: (0) root
935
935
936
936
937
937
938 File glog per revset (only merges):
938 File glog per revset (only merges):
939
939
940 $ hg log -G -r 'file("a")' -m
940 $ hg log -G -r 'file("a")' -m
941 o changeset: 32:d06dffa21a31
941 o changeset: 32:d06dffa21a31
942 |\ parent: 27:886ed638191b
942 |\ parent: 27:886ed638191b
943 | | parent: 31:621d83e11f67
943 | | parent: 31:621d83e11f67
944 | | user: test
944 | | user: test
945 | | date: Thu Jan 01 00:00:32 1970 +0000
945 | | date: Thu Jan 01 00:00:32 1970 +0000
946 | | summary: (32) expand
946 | | summary: (32) expand
947 | |
947 | |
948 o | changeset: 31:621d83e11f67
948 o | changeset: 31:621d83e11f67
949 |\| parent: 21:d42a756af44d
949 |\| parent: 21:d42a756af44d
950 | | parent: 30:6e11cd4b648f
950 | | parent: 30:6e11cd4b648f
951 | | user: test
951 | | user: test
952 | | date: Thu Jan 01 00:00:31 1970 +0000
952 | | date: Thu Jan 01 00:00:31 1970 +0000
953 | | summary: (31) expand
953 | | summary: (31) expand
954 | |
954 | |
955 o | changeset: 30:6e11cd4b648f
955 o | changeset: 30:6e11cd4b648f
956 |\ \ parent: 28:44ecd0b9ae99
956 |\ \ parent: 28:44ecd0b9ae99
957 | | | parent: 29:cd9bb2be7593
957 | | | parent: 29:cd9bb2be7593
958 | | | user: test
958 | | | user: test
959 | | | date: Thu Jan 01 00:00:30 1970 +0000
959 | | | date: Thu Jan 01 00:00:30 1970 +0000
960 | | | summary: (30) expand
960 | | | summary: (30) expand
961 | | |
961 | | |
962 o | | changeset: 28:44ecd0b9ae99
962 o | | changeset: 28:44ecd0b9ae99
963 |\ \ \ parent: 1:6db2ef61d156
963 |\ \ \ parent: 1:6db2ef61d156
964 | | | | parent: 26:7f25b6c2f0b9
964 | | | | parent: 26:7f25b6c2f0b9
965 | | | | user: test
965 | | | | user: test
966 | | | | date: Thu Jan 01 00:00:28 1970 +0000
966 | | | | date: Thu Jan 01 00:00:28 1970 +0000
967 | | | | summary: (28) merge zero known
967 | | | | summary: (28) merge zero known
968 | | | |
968 | | | |
969 o | | | changeset: 26:7f25b6c2f0b9
969 o | | | changeset: 26:7f25b6c2f0b9
970 |\ \ \ \ parent: 18:1aa84d96232a
970 |\ \ \ \ parent: 18:1aa84d96232a
971 | | | | | parent: 25:91da8ed57247
971 | | | | | parent: 25:91da8ed57247
972 | | | | | user: test
972 | | | | | user: test
973 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
973 | | | | | date: Thu Jan 01 00:00:26 1970 +0000
974 | | | | | summary: (26) merge one known; far right
974 | | | | | summary: (26) merge one known; far right
975 | | | | |
975 | | | | |
976 | o-----+ changeset: 25:91da8ed57247
976 | o-----+ changeset: 25:91da8ed57247
977 | | | | | parent: 21:d42a756af44d
977 | | | | | parent: 21:d42a756af44d
978 | | | | | parent: 24:a9c19a3d96b7
978 | | | | | parent: 24:a9c19a3d96b7
979 | | | | | user: test
979 | | | | | user: test
980 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
980 | | | | | date: Thu Jan 01 00:00:25 1970 +0000
981 | | | | | summary: (25) merge one known; far left
981 | | | | | summary: (25) merge one known; far left
982 | | | | |
982 | | | | |
983 | o | | | changeset: 24:a9c19a3d96b7
983 | o | | | changeset: 24:a9c19a3d96b7
984 | |\ \ \ \ parent: 0:e6eb3150255d
984 | |\ \ \ \ parent: 0:e6eb3150255d
985 | | | | | | parent: 23:a01cddf0766d
985 | | | | | | parent: 23:a01cddf0766d
986 | | | | | | user: test
986 | | | | | | user: test
987 | | | | | | date: Thu Jan 01 00:00:24 1970 +0000
987 | | | | | | date: Thu Jan 01 00:00:24 1970 +0000
988 | | | | | | summary: (24) merge one known; immediate right
988 | | | | | | summary: (24) merge one known; immediate right
989 | | | | | |
989 | | | | | |
990 | o---+ | | changeset: 23:a01cddf0766d
990 | o---+ | | changeset: 23:a01cddf0766d
991 | | | | | | parent: 1:6db2ef61d156
991 | | | | | | parent: 1:6db2ef61d156
992 | | | | | | parent: 22:e0d9cccacb5d
992 | | | | | | parent: 22:e0d9cccacb5d
993 | | | | | | user: test
993 | | | | | | user: test
994 | | | | | | date: Thu Jan 01 00:00:23 1970 +0000
994 | | | | | | date: Thu Jan 01 00:00:23 1970 +0000
995 | | | | | | summary: (23) merge one known; immediate left
995 | | | | | | summary: (23) merge one known; immediate left
996 | | | | | |
996 | | | | | |
997 | o-------+ changeset: 22:e0d9cccacb5d
997 | o-------+ changeset: 22:e0d9cccacb5d
998 | | | | | | parent: 18:1aa84d96232a
998 | | | | | | parent: 18:1aa84d96232a
999 |/ / / / / parent: 21:d42a756af44d
999 |/ / / / / parent: 21:d42a756af44d
1000 | | | | | user: test
1000 | | | | | user: test
1001 | | | | | date: Thu Jan 01 00:00:22 1970 +0000
1001 | | | | | date: Thu Jan 01 00:00:22 1970 +0000
1002 | | | | | summary: (22) merge two known; one far left, one far right
1002 | | | | | summary: (22) merge two known; one far left, one far right
1003 | | | | |
1003 | | | | |
1004 | | | | o changeset: 21:d42a756af44d
1004 | | | | o changeset: 21:d42a756af44d
1005 | | | | |\ parent: 19:31ddc2c1573b
1005 | | | | |\ parent: 19:31ddc2c1573b
1006 | | | | | | parent: 20:d30ed6450e32
1006 | | | | | | parent: 20:d30ed6450e32
1007 | | | | | | user: test
1007 | | | | | | user: test
1008 | | | | | | date: Thu Jan 01 00:00:21 1970 +0000
1008 | | | | | | date: Thu Jan 01 00:00:21 1970 +0000
1009 | | | | | | summary: (21) expand
1009 | | | | | | summary: (21) expand
1010 | | | | | |
1010 | | | | | |
1011 +-+-------o changeset: 20:d30ed6450e32
1011 +-+-------o changeset: 20:d30ed6450e32
1012 | | | | | parent: 0:e6eb3150255d
1012 | | | | | parent: 0:e6eb3150255d
1013 | | | | | parent: 18:1aa84d96232a
1013 | | | | | parent: 18:1aa84d96232a
1014 | | | | | user: test
1014 | | | | | user: test
1015 | | | | | date: Thu Jan 01 00:00:20 1970 +0000
1015 | | | | | date: Thu Jan 01 00:00:20 1970 +0000
1016 | | | | | summary: (20) merge two known; two far right
1016 | | | | | summary: (20) merge two known; two far right
1017 | | | | |
1017 | | | | |
1018 | | | | o changeset: 19:31ddc2c1573b
1018 | | | | o changeset: 19:31ddc2c1573b
1019 | | | | |\ parent: 15:1dda3f72782d
1019 | | | | |\ parent: 15:1dda3f72782d
1020 | | | | | | parent: 17:44765d7c06e0
1020 | | | | | | parent: 17:44765d7c06e0
1021 | | | | | | user: test
1021 | | | | | | user: test
1022 | | | | | | date: Thu Jan 01 00:00:19 1970 +0000
1022 | | | | | | date: Thu Jan 01 00:00:19 1970 +0000
1023 | | | | | | summary: (19) expand
1023 | | | | | | summary: (19) expand
1024 | | | | | |
1024 | | | | | |
1025 o---+---+ | changeset: 18:1aa84d96232a
1025 o---+---+ | changeset: 18:1aa84d96232a
1026 | | | | | parent: 1:6db2ef61d156
1026 | | | | | parent: 1:6db2ef61d156
1027 / / / / / parent: 15:1dda3f72782d
1027 / / / / / parent: 15:1dda3f72782d
1028 | | | | | user: test
1028 | | | | | user: test
1029 | | | | | date: Thu Jan 01 00:00:18 1970 +0000
1029 | | | | | date: Thu Jan 01 00:00:18 1970 +0000
1030 | | | | | summary: (18) merge two known; two far left
1030 | | | | | summary: (18) merge two known; two far left
1031 | | | | |
1031 | | | | |
1032 | | | | o changeset: 17:44765d7c06e0
1032 | | | | o changeset: 17:44765d7c06e0
1033 | | | | |\ parent: 12:86b91144a6e9
1033 | | | | |\ parent: 12:86b91144a6e9
1034 | | | | | | parent: 16:3677d192927d
1034 | | | | | | parent: 16:3677d192927d
1035 | | | | | | user: test
1035 | | | | | | user: test
1036 | | | | | | date: Thu Jan 01 00:00:17 1970 +0000
1036 | | | | | | date: Thu Jan 01 00:00:17 1970 +0000
1037 | | | | | | summary: (17) expand
1037 | | | | | | summary: (17) expand
1038 | | | | | |
1038 | | | | | |
1039 +-+-------o changeset: 16:3677d192927d
1039 +-+-------o changeset: 16:3677d192927d
1040 | | | | | parent: 0:e6eb3150255d
1040 | | | | | parent: 0:e6eb3150255d
1041 | | | | | parent: 1:6db2ef61d156
1041 | | | | | parent: 1:6db2ef61d156
1042 | | | | | user: test
1042 | | | | | user: test
1043 | | | | | date: Thu Jan 01 00:00:16 1970 +0000
1043 | | | | | date: Thu Jan 01 00:00:16 1970 +0000
1044 | | | | | summary: (16) merge two known; one immediate right, one near right
1044 | | | | | summary: (16) merge two known; one immediate right, one near right
1045 | | | | |
1045 | | | | |
1046 | | | o | changeset: 15:1dda3f72782d
1046 | | | o | changeset: 15:1dda3f72782d
1047 | | | |\ \ parent: 13:22d8966a97e3
1047 | | | |\ \ parent: 13:22d8966a97e3
1048 | | | | | | parent: 14:8eac370358ef
1048 | | | | | | parent: 14:8eac370358ef
1049 | | | | | | user: test
1049 | | | | | | user: test
1050 | | | | | | date: Thu Jan 01 00:00:15 1970 +0000
1050 | | | | | | date: Thu Jan 01 00:00:15 1970 +0000
1051 | | | | | | summary: (15) expand
1051 | | | | | | summary: (15) expand
1052 | | | | | |
1052 | | | | | |
1053 +-------o | changeset: 14:8eac370358ef
1053 +-------o | changeset: 14:8eac370358ef
1054 | | | | |/ parent: 0:e6eb3150255d
1054 | | | | |/ parent: 0:e6eb3150255d
1055 | | | | | parent: 12:86b91144a6e9
1055 | | | | | parent: 12:86b91144a6e9
1056 | | | | | user: test
1056 | | | | | user: test
1057 | | | | | date: Thu Jan 01 00:00:14 1970 +0000
1057 | | | | | date: Thu Jan 01 00:00:14 1970 +0000
1058 | | | | | summary: (14) merge two known; one immediate right, one far right
1058 | | | | | summary: (14) merge two known; one immediate right, one far right
1059 | | | | |
1059 | | | | |
1060 | | | o | changeset: 13:22d8966a97e3
1060 | | | o | changeset: 13:22d8966a97e3
1061 | | | |\ \ parent: 9:7010c0af0a35
1061 | | | |\ \ parent: 9:7010c0af0a35
1062 | | | | | | parent: 11:832d76e6bdf2
1062 | | | | | | parent: 11:832d76e6bdf2
1063 | | | | | | user: test
1063 | | | | | | user: test
1064 | | | | | | date: Thu Jan 01 00:00:13 1970 +0000
1064 | | | | | | date: Thu Jan 01 00:00:13 1970 +0000
1065 | | | | | | summary: (13) expand
1065 | | | | | | summary: (13) expand
1066 | | | | | |
1066 | | | | | |
1067 | +---+---o changeset: 12:86b91144a6e9
1067 | +---+---o changeset: 12:86b91144a6e9
1068 | | | | | parent: 1:6db2ef61d156
1068 | | | | | parent: 1:6db2ef61d156
1069 | | | | | parent: 9:7010c0af0a35
1069 | | | | | parent: 9:7010c0af0a35
1070 | | | | | user: test
1070 | | | | | user: test
1071 | | | | | date: Thu Jan 01 00:00:12 1970 +0000
1071 | | | | | date: Thu Jan 01 00:00:12 1970 +0000
1072 | | | | | summary: (12) merge two known; one immediate right, one far left
1072 | | | | | summary: (12) merge two known; one immediate right, one far left
1073 | | | | |
1073 | | | | |
1074 | | | | o changeset: 11:832d76e6bdf2
1074 | | | | o changeset: 11:832d76e6bdf2
1075 | | | | |\ parent: 6:b105a072e251
1075 | | | | |\ parent: 6:b105a072e251
1076 | | | | | | parent: 10:74c64d036d72
1076 | | | | | | parent: 10:74c64d036d72
1077 | | | | | | user: test
1077 | | | | | | user: test
1078 | | | | | | date: Thu Jan 01 00:00:11 1970 +0000
1078 | | | | | | date: Thu Jan 01 00:00:11 1970 +0000
1079 | | | | | | summary: (11) expand
1079 | | | | | | summary: (11) expand
1080 | | | | | |
1080 | | | | | |
1081 +---------o changeset: 10:74c64d036d72
1081 +---------o changeset: 10:74c64d036d72
1082 | | | | |/ parent: 0:e6eb3150255d
1082 | | | | |/ parent: 0:e6eb3150255d
1083 | | | | | parent: 6:b105a072e251
1083 | | | | | parent: 6:b105a072e251
1084 | | | | | user: test
1084 | | | | | user: test
1085 | | | | | date: Thu Jan 01 00:00:10 1970 +0000
1085 | | | | | date: Thu Jan 01 00:00:10 1970 +0000
1086 | | | | | summary: (10) merge two known; one immediate left, one near right
1086 | | | | | summary: (10) merge two known; one immediate left, one near right
1087 | | | | |
1087 | | | | |
1088 | | | o | changeset: 9:7010c0af0a35
1088 | | | o | changeset: 9:7010c0af0a35
1089 | | | |\ \ parent: 7:b632bb1b1224
1089 | | | |\ \ parent: 7:b632bb1b1224
1090 | | | | | | parent: 8:7a0b11f71937
1090 | | | | | | parent: 8:7a0b11f71937
1091 | | | | | | user: test
1091 | | | | | | user: test
1092 | | | | | | date: Thu Jan 01 00:00:09 1970 +0000
1092 | | | | | | date: Thu Jan 01 00:00:09 1970 +0000
1093 | | | | | | summary: (9) expand
1093 | | | | | | summary: (9) expand
1094 | | | | | |
1094 | | | | | |
1095 +-------o | changeset: 8:7a0b11f71937
1095 +-------o | changeset: 8:7a0b11f71937
1096 | | | |/ / parent: 0:e6eb3150255d
1096 | | | |/ / parent: 0:e6eb3150255d
1097 | | | | | parent: 7:b632bb1b1224
1097 | | | | | parent: 7:b632bb1b1224
1098 | | | | | user: test
1098 | | | | | user: test
1099 | | | | | date: Thu Jan 01 00:00:08 1970 +0000
1099 | | | | | date: Thu Jan 01 00:00:08 1970 +0000
1100 | | | | | summary: (8) merge two known; one immediate left, one far right
1100 | | | | | summary: (8) merge two known; one immediate left, one far right
1101 | | | | |
1101 | | | | |
1102 | | | o | changeset: 7:b632bb1b1224
1102 | | | o | changeset: 7:b632bb1b1224
1103 | | | |\ \ parent: 2:3d9a33b8d1e1
1103 | | | |\ \ parent: 2:3d9a33b8d1e1
1104 | | | | | | parent: 5:4409d547b708
1104 | | | | | | parent: 5:4409d547b708
1105 | | | | | | user: test
1105 | | | | | | user: test
1106 | | | | | | date: Thu Jan 01 00:00:07 1970 +0000
1106 | | | | | | date: Thu Jan 01 00:00:07 1970 +0000
1107 | | | | | | summary: (7) expand
1107 | | | | | | summary: (7) expand
1108 | | | | | |
1108 | | | | | |
1109 | | | +---o changeset: 6:b105a072e251
1109 | | | +---o changeset: 6:b105a072e251
1110 | | | | |/ parent: 2:3d9a33b8d1e1
1110 | | | | |/ parent: 2:3d9a33b8d1e1
1111 | | | | | parent: 5:4409d547b708
1111 | | | | | parent: 5:4409d547b708
1112 | | | | | user: test
1112 | | | | | user: test
1113 | | | | | date: Thu Jan 01 00:00:06 1970 +0000
1113 | | | | | date: Thu Jan 01 00:00:06 1970 +0000
1114 | | | | | summary: (6) merge two known; one immediate left, one far left
1114 | | | | | summary: (6) merge two known; one immediate left, one far left
1115 | | | | |
1115 | | | | |
1116 | | | o | changeset: 5:4409d547b708
1116 | | | o | changeset: 5:4409d547b708
1117 | | | |\ \ parent: 3:27eef8ed80b4
1117 | | | |\ \ parent: 3:27eef8ed80b4
1118 | | | | | | parent: 4:26a8bac39d9f
1118 | | | | | | parent: 4:26a8bac39d9f
1119 | | | | | | user: test
1119 | | | | | | user: test
1120 | | | | | | date: Thu Jan 01 00:00:05 1970 +0000
1120 | | | | | | date: Thu Jan 01 00:00:05 1970 +0000
1121 | | | | | | summary: (5) expand
1121 | | | | | | summary: (5) expand
1122 | | | | | |
1122 | | | | | |
1123 | +---o | | changeset: 4:26a8bac39d9f
1123 | +---o | | changeset: 4:26a8bac39d9f
1124 | | | |/ / parent: 1:6db2ef61d156
1124 | | | |/ / parent: 1:6db2ef61d156
1125 | | | | | parent: 3:27eef8ed80b4
1125 | | | | | parent: 3:27eef8ed80b4
1126 | | | | | user: test
1126 | | | | | user: test
1127 | | | | | date: Thu Jan 01 00:00:04 1970 +0000
1127 | | | | | date: Thu Jan 01 00:00:04 1970 +0000
1128 | | | | | summary: (4) merge two known; one immediate left, one immediate right
1128 | | | | | summary: (4) merge two known; one immediate left, one immediate right
1129 | | | | |
1129 | | | | |
1130
1130
1131
1131
1132 Empty revision range - display nothing:
1132 Empty revision range - display nothing:
1133 $ hg glog -r 1..0
1133 $ hg glog -r 1..0
1134
1134
1135 From outer space:
1135 From outer space:
1136 $ cd ..
1136 $ cd ..
1137 $ hg glog -l1 repo
1137 $ hg glog -l1 repo
1138 @ changeset: 34:fea3ac5810e0
1138 @ changeset: 34:fea3ac5810e0
1139 | tag: tip
1139 | tag: tip
1140 | parent: 32:d06dffa21a31
1140 | parent: 32:d06dffa21a31
1141 | user: test
1141 | user: test
1142 | date: Thu Jan 01 00:00:34 1970 +0000
1142 | date: Thu Jan 01 00:00:34 1970 +0000
1143 | summary: (34) head
1143 | summary: (34) head
1144 |
1144 |
1145 $ hg glog -l1 repo/a
1145 $ hg glog -l1 repo/a
1146 @ changeset: 34:fea3ac5810e0
1146 @ changeset: 34:fea3ac5810e0
1147 | tag: tip
1147 | tag: tip
1148 | parent: 32:d06dffa21a31
1148 | parent: 32:d06dffa21a31
1149 | user: test
1149 | user: test
1150 | date: Thu Jan 01 00:00:34 1970 +0000
1150 | date: Thu Jan 01 00:00:34 1970 +0000
1151 | summary: (34) head
1151 | summary: (34) head
1152 |
1152 |
1153 $ hg glog -l1 repo/missing
1153 $ hg glog -l1 repo/missing
1154
1154
1155 File log with revs != cset revs:
1155 File log with revs != cset revs:
1156 $ hg init flog
1156 $ hg init flog
1157 $ cd flog
1157 $ cd flog
1158 $ echo one >one
1158 $ echo one >one
1159 $ hg add one
1159 $ hg add one
1160 $ hg commit -mone
1160 $ hg commit -mone
1161 $ echo two >two
1161 $ echo two >two
1162 $ hg add two
1162 $ hg add two
1163 $ hg commit -mtwo
1163 $ hg commit -mtwo
1164 $ echo more >two
1164 $ echo more >two
1165 $ hg commit -mmore
1165 $ hg commit -mmore
1166 $ hg glog two
1166 $ hg glog two
1167 @ changeset: 2:12c28321755b
1167 @ changeset: 2:12c28321755b
1168 | tag: tip
1168 | tag: tip
1169 | user: test
1169 | user: test
1170 | date: Thu Jan 01 00:00:00 1970 +0000
1170 | date: Thu Jan 01 00:00:00 1970 +0000
1171 | summary: more
1171 | summary: more
1172 |
1172 |
1173 o changeset: 1:5ac72c0599bf
1173 o changeset: 1:5ac72c0599bf
1174 | user: test
1174 | user: test
1175 | date: Thu Jan 01 00:00:00 1970 +0000
1175 | date: Thu Jan 01 00:00:00 1970 +0000
1176 | summary: two
1176 | summary: two
1177 |
1177 |
1178
1178
1179 Issue1896: File log with explicit style
1179 Issue1896: File log with explicit style
1180 $ hg glog --style=default one
1180 $ hg glog --style=default one
1181 o changeset: 0:3d578b4a1f53
1181 o changeset: 0:3d578b4a1f53
1182 user: test
1182 user: test
1183 date: Thu Jan 01 00:00:00 1970 +0000
1183 date: Thu Jan 01 00:00:00 1970 +0000
1184 summary: one
1184 summary: one
1185
1185
1186 Issue2395: glog --style header and footer
1186 Issue2395: glog --style header and footer
1187 $ hg glog --style=xml one
1187 $ hg glog --style=xml one
1188 <?xml version="1.0"?>
1188 <?xml version="1.0"?>
1189 <log>
1189 <log>
1190 o <logentry revision="0" node="3d578b4a1f537d5fcf7301bfa9c0b97adfaa6fb1">
1190 o <logentry revision="0" node="3d578b4a1f537d5fcf7301bfa9c0b97adfaa6fb1">
1191 <author email="test">test</author>
1191 <author email="test">test</author>
1192 <date>1970-01-01T00:00:00+00:00</date>
1192 <date>1970-01-01T00:00:00+00:00</date>
1193 <msg xml:space="preserve">one</msg>
1193 <msg xml:space="preserve">one</msg>
1194 </logentry>
1194 </logentry>
1195 </log>
1195 </log>
1196
1196
1197 $ cd ..
1197 $ cd ..
1198
1198
1199 Incoming and outgoing:
1199 Incoming and outgoing:
1200
1200
1201 $ hg clone -U -r31 repo repo2
1201 $ hg clone -U -r31 repo repo2
1202 adding changesets
1202 adding changesets
1203 adding manifests
1203 adding manifests
1204 adding file changes
1204 adding file changes
1205 added 31 changesets with 31 changes to 1 files
1205 added 31 changesets with 31 changes to 1 files
1206 $ cd repo2
1206 $ cd repo2
1207
1207
1208 $ hg incoming --graph ../repo
1208 $ hg incoming --graph ../repo
1209 comparing with ../repo
1209 comparing with ../repo
1210 searching for changes
1210 searching for changes
1211 o changeset: 34:fea3ac5810e0
1211 o changeset: 34:fea3ac5810e0
1212 | tag: tip
1212 | tag: tip
1213 | parent: 32:d06dffa21a31
1213 | parent: 32:d06dffa21a31
1214 | user: test
1214 | user: test
1215 | date: Thu Jan 01 00:00:34 1970 +0000
1215 | date: Thu Jan 01 00:00:34 1970 +0000
1216 | summary: (34) head
1216 | summary: (34) head
1217 |
1217 |
1218 | o changeset: 33:68608f5145f9
1218 | o changeset: 33:68608f5145f9
1219 | parent: 18:1aa84d96232a
1219 | parent: 18:1aa84d96232a
1220 | user: test
1220 | user: test
1221 | date: Thu Jan 01 00:00:33 1970 +0000
1221 | date: Thu Jan 01 00:00:33 1970 +0000
1222 | summary: (33) head
1222 | summary: (33) head
1223 |
1223 |
1224 o changeset: 32:d06dffa21a31
1224 o changeset: 32:d06dffa21a31
1225 | parent: 27:886ed638191b
1225 | parent: 27:886ed638191b
1226 | parent: 31:621d83e11f67
1226 | parent: 31:621d83e11f67
1227 | user: test
1227 | user: test
1228 | date: Thu Jan 01 00:00:32 1970 +0000
1228 | date: Thu Jan 01 00:00:32 1970 +0000
1229 | summary: (32) expand
1229 | summary: (32) expand
1230 |
1230 |
1231 o changeset: 27:886ed638191b
1231 o changeset: 27:886ed638191b
1232 parent: 21:d42a756af44d
1232 parent: 21:d42a756af44d
1233 user: test
1233 user: test
1234 date: Thu Jan 01 00:00:27 1970 +0000
1234 date: Thu Jan 01 00:00:27 1970 +0000
1235 summary: (27) collapse
1235 summary: (27) collapse
1236
1236
1237 $ cd ..
1237 $ cd ..
1238
1238
1239 $ hg -R repo outgoing --graph repo2
1239 $ hg -R repo outgoing --graph repo2
1240 comparing with repo2
1240 comparing with repo2
1241 searching for changes
1241 searching for changes
1242 @ changeset: 34:fea3ac5810e0
1242 @ changeset: 34:fea3ac5810e0
1243 | tag: tip
1243 | tag: tip
1244 | parent: 32:d06dffa21a31
1244 | parent: 32:d06dffa21a31
1245 | user: test
1245 | user: test
1246 | date: Thu Jan 01 00:00:34 1970 +0000
1246 | date: Thu Jan 01 00:00:34 1970 +0000
1247 | summary: (34) head
1247 | summary: (34) head
1248 |
1248 |
1249 | o changeset: 33:68608f5145f9
1249 | o changeset: 33:68608f5145f9
1250 | parent: 18:1aa84d96232a
1250 | parent: 18:1aa84d96232a
1251 | user: test
1251 | user: test
1252 | date: Thu Jan 01 00:00:33 1970 +0000
1252 | date: Thu Jan 01 00:00:33 1970 +0000
1253 | summary: (33) head
1253 | summary: (33) head
1254 |
1254 |
1255 o changeset: 32:d06dffa21a31
1255 o changeset: 32:d06dffa21a31
1256 | parent: 27:886ed638191b
1256 | parent: 27:886ed638191b
1257 | parent: 31:621d83e11f67
1257 | parent: 31:621d83e11f67
1258 | user: test
1258 | user: test
1259 | date: Thu Jan 01 00:00:32 1970 +0000
1259 | date: Thu Jan 01 00:00:32 1970 +0000
1260 | summary: (32) expand
1260 | summary: (32) expand
1261 |
1261 |
1262 o changeset: 27:886ed638191b
1262 o changeset: 27:886ed638191b
1263 parent: 21:d42a756af44d
1263 parent: 21:d42a756af44d
1264 user: test
1264 user: test
1265 date: Thu Jan 01 00:00:27 1970 +0000
1265 date: Thu Jan 01 00:00:27 1970 +0000
1266 summary: (27) collapse
1266 summary: (27) collapse
1267
1267
1268
1268
1269 File + limit with revs != cset revs:
1269 File + limit with revs != cset revs:
1270 $ cd repo
1270 $ cd repo
1271 $ touch b
1271 $ touch b
1272 $ hg ci -Aqm0
1272 $ hg ci -Aqm0
1273 $ hg glog -l2 a
1273 $ hg glog -l2 a
1274 o changeset: 34:fea3ac5810e0
1274 o changeset: 34:fea3ac5810e0
1275 | parent: 32:d06dffa21a31
1275 | parent: 32:d06dffa21a31
1276 | user: test
1276 | user: test
1277 | date: Thu Jan 01 00:00:34 1970 +0000
1277 | date: Thu Jan 01 00:00:34 1970 +0000
1278 | summary: (34) head
1278 | summary: (34) head
1279 |
1279 |
1280 | o changeset: 33:68608f5145f9
1280 | o changeset: 33:68608f5145f9
1281 | | parent: 18:1aa84d96232a
1281 | | parent: 18:1aa84d96232a
1282 | | user: test
1282 | | user: test
1283 | | date: Thu Jan 01 00:00:33 1970 +0000
1283 | | date: Thu Jan 01 00:00:33 1970 +0000
1284 | | summary: (33) head
1284 | | summary: (33) head
1285 | |
1285 | |
1286
1286
1287 File + limit + -ra:b, (b - a) < limit:
1287 File + limit + -ra:b, (b - a) < limit:
1288 $ hg glog -l3000 -r32:tip a
1288 $ hg glog -l3000 -r32:tip a
1289 o changeset: 34:fea3ac5810e0
1289 o changeset: 34:fea3ac5810e0
1290 | parent: 32:d06dffa21a31
1290 | parent: 32:d06dffa21a31
1291 | user: test
1291 | user: test
1292 | date: Thu Jan 01 00:00:34 1970 +0000
1292 | date: Thu Jan 01 00:00:34 1970 +0000
1293 | summary: (34) head
1293 | summary: (34) head
1294 |
1294 |
1295 | o changeset: 33:68608f5145f9
1295 | o changeset: 33:68608f5145f9
1296 | | parent: 18:1aa84d96232a
1296 | | parent: 18:1aa84d96232a
1297 | | user: test
1297 | | user: test
1298 | | date: Thu Jan 01 00:00:33 1970 +0000
1298 | | date: Thu Jan 01 00:00:33 1970 +0000
1299 | | summary: (33) head
1299 | | summary: (33) head
1300 | |
1300 | |
1301 o | changeset: 32:d06dffa21a31
1301 o | changeset: 32:d06dffa21a31
1302 |\ \ parent: 27:886ed638191b
1302 |\ \ parent: 27:886ed638191b
1303 | | | parent: 31:621d83e11f67
1303 | | | parent: 31:621d83e11f67
1304 | | | user: test
1304 | | | user: test
1305 | | | date: Thu Jan 01 00:00:32 1970 +0000
1305 | | | date: Thu Jan 01 00:00:32 1970 +0000
1306 | | | summary: (32) expand
1306 | | | summary: (32) expand
1307 | | |
1307 | | |
1308
1308
1309 Point out a common and an uncommon unshown parent
1309 Point out a common and an uncommon unshown parent
1310
1310
1311 $ hg glog -r 'rev(8) or rev(9)'
1311 $ hg glog -r 'rev(8) or rev(9)'
1312 o changeset: 9:7010c0af0a35
1312 o changeset: 9:7010c0af0a35
1313 |\ parent: 7:b632bb1b1224
1313 |\ parent: 7:b632bb1b1224
1314 | | parent: 8:7a0b11f71937
1314 | | parent: 8:7a0b11f71937
1315 | | user: test
1315 | | user: test
1316 | | date: Thu Jan 01 00:00:09 1970 +0000
1316 | | date: Thu Jan 01 00:00:09 1970 +0000
1317 | | summary: (9) expand
1317 | | summary: (9) expand
1318 | |
1318 | |
1319 o | changeset: 8:7a0b11f71937
1319 o | changeset: 8:7a0b11f71937
1320 |\| parent: 0:e6eb3150255d
1320 |\| parent: 0:e6eb3150255d
1321 | | parent: 7:b632bb1b1224
1321 | | parent: 7:b632bb1b1224
1322 | | user: test
1322 | | user: test
1323 | | date: Thu Jan 01 00:00:08 1970 +0000
1323 | | date: Thu Jan 01 00:00:08 1970 +0000
1324 | | summary: (8) merge two known; one immediate left, one far right
1324 | | summary: (8) merge two known; one immediate left, one far right
1325 | |
1325 | |
1326
1326
1327 File + limit + -ra:b, b < tip:
1327 File + limit + -ra:b, b < tip:
1328
1328
1329 $ hg glog -l1 -r32:34 a
1329 $ hg glog -l1 -r32:34 a
1330 o changeset: 34:fea3ac5810e0
1330 o changeset: 34:fea3ac5810e0
1331 | parent: 32:d06dffa21a31
1331 | parent: 32:d06dffa21a31
1332 | user: test
1332 | user: test
1333 | date: Thu Jan 01 00:00:34 1970 +0000
1333 | date: Thu Jan 01 00:00:34 1970 +0000
1334 | summary: (34) head
1334 | summary: (34) head
1335 |
1335 |
1336
1336
1337 file(File) + limit + -ra:b, b < tip:
1337 file(File) + limit + -ra:b, b < tip:
1338
1338
1339 $ hg glog -l1 -r32:34 -r 'file("a")'
1339 $ hg glog -l1 -r32:34 -r 'file("a")'
1340 o changeset: 34:fea3ac5810e0
1340 o changeset: 34:fea3ac5810e0
1341 | parent: 32:d06dffa21a31
1341 | parent: 32:d06dffa21a31
1342 | user: test
1342 | user: test
1343 | date: Thu Jan 01 00:00:34 1970 +0000
1343 | date: Thu Jan 01 00:00:34 1970 +0000
1344 | summary: (34) head
1344 | summary: (34) head
1345 |
1345 |
1346
1346
1347 limit(file(File) and a::b), b < tip:
1347 limit(file(File) and a::b), b < tip:
1348
1348
1349 $ hg glog -r 'limit(file("a") and 32::34, 1)'
1349 $ hg glog -r 'limit(file("a") and 32::34, 1)'
1350 o changeset: 32:d06dffa21a31
1350 o changeset: 32:d06dffa21a31
1351 |\ parent: 27:886ed638191b
1351 |\ parent: 27:886ed638191b
1352 | | parent: 31:621d83e11f67
1352 | | parent: 31:621d83e11f67
1353 | | user: test
1353 | | user: test
1354 | | date: Thu Jan 01 00:00:32 1970 +0000
1354 | | date: Thu Jan 01 00:00:32 1970 +0000
1355 | | summary: (32) expand
1355 | | summary: (32) expand
1356 | |
1356 | |
1357
1357
1358 File + limit + -ra:b, b < tip:
1358 File + limit + -ra:b, b < tip:
1359
1359
1360 $ hg glog -r 'limit(file("a") and 34::32, 1)'
1360 $ hg glog -r 'limit(file("a") and 34::32, 1)'
1361
1361
1362 File + limit + -ra:b, b < tip, (b - a) < limit:
1362 File + limit + -ra:b, b < tip, (b - a) < limit:
1363
1363
1364 $ hg glog -l10 -r33:34 a
1364 $ hg glog -l10 -r33:34 a
1365 o changeset: 34:fea3ac5810e0
1365 o changeset: 34:fea3ac5810e0
1366 | parent: 32:d06dffa21a31
1366 | parent: 32:d06dffa21a31
1367 | user: test
1367 | user: test
1368 | date: Thu Jan 01 00:00:34 1970 +0000
1368 | date: Thu Jan 01 00:00:34 1970 +0000
1369 | summary: (34) head
1369 | summary: (34) head
1370 |
1370 |
1371 | o changeset: 33:68608f5145f9
1371 | o changeset: 33:68608f5145f9
1372 | | parent: 18:1aa84d96232a
1372 | | parent: 18:1aa84d96232a
1373 | | user: test
1373 | | user: test
1374 | | date: Thu Jan 01 00:00:33 1970 +0000
1374 | | date: Thu Jan 01 00:00:33 1970 +0000
1375 | | summary: (33) head
1375 | | summary: (33) head
1376 | |
1376 | |
1377
1377
1378 Do not crash or produce strange graphs if history is buggy
1378 Do not crash or produce strange graphs if history is buggy
1379
1379
1380 $ hg branch branch
1380 $ hg branch branch
1381 marked working directory as branch branch
1381 marked working directory as branch branch
1382 (branches are permanent and global, did you want a bookmark?)
1382 (branches are permanent and global, did you want a bookmark?)
1383 $ commit 36 "buggy merge: identical parents" 35 35
1383 $ commit 36 "buggy merge: identical parents" 35 35
1384 $ hg glog -l5
1384 $ hg glog -l5
1385 @ changeset: 36:08a19a744424
1385 @ changeset: 36:08a19a744424
1386 | branch: branch
1386 | branch: branch
1387 | tag: tip
1387 | tag: tip
1388 | parent: 35:9159c3644c5e
1388 | parent: 35:9159c3644c5e
1389 | parent: 35:9159c3644c5e
1389 | parent: 35:9159c3644c5e
1390 | user: test
1390 | user: test
1391 | date: Thu Jan 01 00:00:36 1970 +0000
1391 | date: Thu Jan 01 00:00:36 1970 +0000
1392 | summary: (36) buggy merge: identical parents
1392 | summary: (36) buggy merge: identical parents
1393 |
1393 |
1394 o changeset: 35:9159c3644c5e
1394 o changeset: 35:9159c3644c5e
1395 | user: test
1395 | user: test
1396 | date: Thu Jan 01 00:00:00 1970 +0000
1396 | date: Thu Jan 01 00:00:00 1970 +0000
1397 | summary: 0
1397 | summary: 0
1398 |
1398 |
1399 o changeset: 34:fea3ac5810e0
1399 o changeset: 34:fea3ac5810e0
1400 | parent: 32:d06dffa21a31
1400 | parent: 32:d06dffa21a31
1401 | user: test
1401 | user: test
1402 | date: Thu Jan 01 00:00:34 1970 +0000
1402 | date: Thu Jan 01 00:00:34 1970 +0000
1403 | summary: (34) head
1403 | summary: (34) head
1404 |
1404 |
1405 | o changeset: 33:68608f5145f9
1405 | o changeset: 33:68608f5145f9
1406 | | parent: 18:1aa84d96232a
1406 | | parent: 18:1aa84d96232a
1407 | | user: test
1407 | | user: test
1408 | | date: Thu Jan 01 00:00:33 1970 +0000
1408 | | date: Thu Jan 01 00:00:33 1970 +0000
1409 | | summary: (33) head
1409 | | summary: (33) head
1410 | |
1410 | |
1411 o | changeset: 32:d06dffa21a31
1411 o | changeset: 32:d06dffa21a31
1412 |\ \ parent: 27:886ed638191b
1412 |\ \ parent: 27:886ed638191b
1413 | | | parent: 31:621d83e11f67
1413 | | | parent: 31:621d83e11f67
1414 | | | user: test
1414 | | | user: test
1415 | | | date: Thu Jan 01 00:00:32 1970 +0000
1415 | | | date: Thu Jan 01 00:00:32 1970 +0000
1416 | | | summary: (32) expand
1416 | | | summary: (32) expand
1417 | | |
1417 | | |
1418
1418
1419 Test log -G options
1419 Test log -G options
1420
1420
1421 $ testlog() {
1421 $ testlog() {
1422 > hg log -G --print-revset "$@"
1422 > hg log -G --print-revset "$@"
1423 > hg log --template 'nodetag {rev}\n' "$@" | grep nodetag \
1423 > hg log --template 'nodetag {rev}\n' "$@" | grep nodetag \
1424 > | sed 's/.*nodetag/nodetag/' > log.nodes
1424 > | sed 's/.*nodetag/nodetag/' > log.nodes
1425 > hg log -G --template 'nodetag {rev}\n' "$@" | grep nodetag \
1425 > hg log -G --template 'nodetag {rev}\n' "$@" | grep nodetag \
1426 > | sed 's/.*nodetag/nodetag/' > glog.nodes
1426 > | sed 's/.*nodetag/nodetag/' > glog.nodes
1427 > diff -u log.nodes glog.nodes
1427 > diff -u log.nodes glog.nodes
1428 > }
1428 > }
1429
1429
1430 $ testlog -u test -u not-a-user
1430 $ testlog -u test -u not-a-user
1431 ('group', ('group', ('or', ('func', ('symbol', 'user'), ('string', 'test')), ('func', ('symbol', 'user'), ('string', 'not-a-user')))))
1431 ('group', ('group', ('or', ('func', ('symbol', 'user'), ('string', 'test')), ('func', ('symbol', 'user'), ('string', 'not-a-user')))))
1432 $ testlog -b not-a-branch
1432 $ testlog -b not-a-branch
1433 ('group', ('group', ('func', ('symbol', 'branch'), ('string', 'not-a-branch'))))
1433 ('group', ('group', ('func', ('symbol', 'branch'), ('string', 'not-a-branch'))))
1434 abort: unknown revision 'not-a-branch'!
1434 abort: unknown revision 'not-a-branch'!
1435 abort: unknown revision 'not-a-branch'!
1435 abort: unknown revision 'not-a-branch'!
1436 $ testlog -b default -b branch
1436 $ testlog -b default -b branch
1437 ('group', ('group', ('or', ('func', ('symbol', 'branch'), ('string', 'default')), ('func', ('symbol', 'branch'), ('string', 'branch')))))
1437 ('group', ('group', ('or', ('func', ('symbol', 'branch'), ('string', 'default')), ('func', ('symbol', 'branch'), ('string', 'branch')))))
1438 $ hg log -G --print-revset -k 'something' -k 'nice'
1438 $ testlog -k expand -k merge
1439 ('group', ('group', ('and', ('func', ('symbol', 'keyword'), ('string', 'something')), ('func', ('symbol', 'keyword'), ('string', 'nice')))))
1439 ('group', ('group', ('or', ('func', ('symbol', 'keyword'), ('string', 'expand')), ('func', ('symbol', 'keyword'), ('string', 'merge')))))
1440 $ hg log -G --only-branch 'something nice'
1440 $ hg log -G --only-branch 'something nice'
1441 abort: unknown revision 'something nice'!
1441 abort: unknown revision 'something nice'!
1442 [255]
1442 [255]
1443 $ hg log -G --include 'some file' --exclude 'another file'
1443 $ hg log -G --include 'some file' --exclude 'another file'
1444 $ hg log -G --follow --template 'nodetag {rev}\n' | grep nodetag | wc -l
1444 $ hg log -G --follow --template 'nodetag {rev}\n' | grep nodetag | wc -l
1445 \s*36 (re)
1445 \s*36 (re)
1446 $ hg log -G --removed --template 'nodetag {rev}\n' | grep nodetag | wc -l
1446 $ hg log -G --removed --template 'nodetag {rev}\n' | grep nodetag | wc -l
1447 \s*0 (re)
1447 \s*0 (re)
1448 $ hg log -G --only-merges --template 'nodetag {rev}\n' | grep nodetag | wc -l
1448 $ hg log -G --only-merges --template 'nodetag {rev}\n' | grep nodetag | wc -l
1449 \s*28 (re)
1449 \s*28 (re)
1450 $ hg log -G --no-merges --template 'nodetag {rev}\n'
1450 $ hg log -G --no-merges --template 'nodetag {rev}\n'
1451 o nodetag 35
1451 o nodetag 35
1452 |
1452 |
1453 o nodetag 34
1453 o nodetag 34
1454 |\
1454 |\
1455 | \
1455 | \
1456 | |\
1456 | |\
1457 | | \
1457 | | \
1458 | | |\
1458 | | |\
1459 | | | \
1459 | | | \
1460 | | | |\
1460 | | | |\
1461 | | | | \
1461 | | | | \
1462 | | | | |\
1462 | | | | |\
1463 +-+-+-+-----o nodetag 33
1463 +-+-+-+-----o nodetag 33
1464 | | | | | |
1464 | | | | | |
1465 +---------o nodetag 29
1465 +---------o nodetag 29
1466 | | | | |
1466 | | | | |
1467 +-+-+---o nodetag 27
1467 +-+-+---o nodetag 27
1468 | | | |/
1468 | | | |/
1469 | | | o nodetag 3
1469 | | | o nodetag 3
1470 | | |/
1470 | | |/
1471 | | o nodetag 2
1471 | | o nodetag 2
1472 | |/
1472 | |/
1473 | o nodetag 1
1473 | o nodetag 1
1474 |/
1474 |/
1475 o nodetag 0
1475 o nodetag 0
1476
1476
1477 $ hg log -G -d 'brace ) in a date'
1477 $ hg log -G -d 'brace ) in a date'
1478 abort: invalid date: 'brace ) in a date'
1478 abort: invalid date: 'brace ) in a date'
1479 [255]
1479 [255]
1480 $ hg log -G -P 32 --template '{rev}\n'
1480 $ hg log -G -P 32 --template '{rev}\n'
1481 @ 36
1481 @ 36
1482 |
1482 |
1483 o 35
1483 o 35
1484 |
1484 |
1485 o 34
1485 o 34
1486 |
1486 |
1487 | o 33
1487 | o 33
1488 | |
1488 | |
1489 $ hg log -G --follow a
1489 $ hg log -G --follow a
1490 abort: -G/--graph option is incompatible with --follow with file argument
1490 abort: -G/--graph option is incompatible with --follow with file argument
1491 [255]
1491 [255]
1492
1492
1493 Test multiple revision specifications are correctly handled
1493 Test multiple revision specifications are correctly handled
1494
1494
1495 $ hg log -G -r 27 -r 25 -r 21 -r 34 -r 32 -r 31 --template '{rev}\n'
1495 $ hg log -G -r 27 -r 25 -r 21 -r 34 -r 32 -r 31 --template '{rev}\n'
1496 o 34
1496 o 34
1497 |
1497 |
1498 o 32
1498 o 32
1499 |\
1499 |\
1500 | o 31
1500 | o 31
1501 | |\
1501 | |\
1502 o | | 27
1502 o | | 27
1503 |/ /
1503 |/ /
1504 | o 25
1504 | o 25
1505 |/
1505 |/
1506 o 21
1506 o 21
1507 |\
1507 |\
General Comments 0
You need to be logged in to leave comments. Login now