comparison mercurial/commands.py @ 17182:cdf1532d89c6

incoming/outgoing: handle --graph in core
author Patrick Mezard <patrick@mezard.eu>
date Wed, 11 Jul 2012 18:22:07 +0200
parents 6f71167292f2
children 76e55914c303
comparison
equal deleted inserted replaced
17181:6f71167292f2 17182:cdf1532d89c6
13 import patch, help, url, encoding, templatekw, discovery 13 import patch, help, url, encoding, templatekw, discovery
14 import archival, changegroup, cmdutil, hbisect 14 import archival, changegroup, cmdutil, hbisect
15 import sshserver, hgweb, hgweb.server, commandserver 15 import sshserver, hgweb, hgweb.server, commandserver
16 import merge as mergemod 16 import merge as mergemod
17 import minirst, revset, fileset 17 import minirst, revset, fileset
18 import dagparser, context, simplemerge 18 import dagparser, context, simplemerge, graphmod
19 import random, setdiscovery, treediscovery, dagutil, pvec 19 import random, setdiscovery, treediscovery, dagutil, pvec
20 import phases, obsolete 20 import phases, obsolete
21 21
22 table = {} 22 table = {}
23 23
96 ('g', 'git', None, _('use git extended diff format')), 96 ('g', 'git', None, _('use git extended diff format')),
97 ('l', 'limit', '', 97 ('l', 'limit', '',
98 _('limit number of changes displayed'), _('NUM')), 98 _('limit number of changes displayed'), _('NUM')),
99 ('M', 'no-merges', None, _('do not show merges')), 99 ('M', 'no-merges', None, _('do not show merges')),
100 ('', 'stat', None, _('output diffstat-style summary of changes')), 100 ('', 'stat', None, _('output diffstat-style summary of changes')),
101 ('G', 'graph', None, _("show the revision DAG")),
101 ] + templateopts 102 ] + templateopts
102 103
103 diffopts = [ 104 diffopts = [
104 ('a', 'text', None, _('treat all files as text')), 105 ('a', 'text', None, _('treat all files as text')),
105 ('g', 'git', None, _('use git extended diff format')), 106 ('g', 'git', None, _('use git extended diff format')),
3826 3827
3827 See pull for valid source format details. 3828 See pull for valid source format details.
3828 3829
3829 Returns 0 if there are incoming changes, 1 otherwise. 3830 Returns 0 if there are incoming changes, 1 otherwise.
3830 """ 3831 """
3832 if opts.get('graph'):
3833 cmdutil.checkunsupportedgraphflags([], opts)
3834 def display(other, chlist, displayer):
3835 revdag = cmdutil.graphrevs(other, chlist, opts)
3836 showparents = [ctx.node() for ctx in repo[None].parents()]
3837 cmdutil.displaygraph(ui, revdag, displayer, showparents,
3838 graphmod.asciiedges)
3839
3840 hg._incoming(display, lambda: 1, ui, repo, source, opts, buffered=True)
3841 return 0
3842
3831 if opts.get('bundle') and opts.get('subrepos'): 3843 if opts.get('bundle') and opts.get('subrepos'):
3832 raise util.Abort(_('cannot combine --bundle and --subrepos')) 3844 raise util.Abort(_('cannot combine --bundle and --subrepos'))
3833 3845
3834 if opts.get('bookmarks'): 3846 if opts.get('bookmarks'):
3835 source, branches = hg.parseurl(ui.expandpath(source), 3847 source, branches = hg.parseurl(ui.expandpath(source),
3926 ('b', 'branch', [], 3938 ('b', 'branch', [],
3927 _('show changesets within the given named branch'), _('BRANCH')), 3939 _('show changesets within the given named branch'), _('BRANCH')),
3928 ('P', 'prune', [], 3940 ('P', 'prune', [],
3929 _('do not display revision or any of its ancestors'), _('REV')), 3941 _('do not display revision or any of its ancestors'), _('REV')),
3930 ('', 'hidden', False, _('show hidden changesets (DEPRECATED)')), 3942 ('', 'hidden', False, _('show hidden changesets (DEPRECATED)')),
3931 ('G', 'graph', None, _("show the revision DAG")),
3932 ] + logopts + walkopts, 3943 ] + logopts + walkopts,
3933 _('[OPTION]... [FILE]')) 3944 _('[OPTION]... [FILE]'))
3934 def log(ui, repo, *pats, **opts): 3945 def log(ui, repo, *pats, **opts):
3935 """show revision history of entire repository or files 3946 """show revision history of entire repository or files
3936 3947
4281 4292
4282 See pull for details of valid destination formats. 4293 See pull for details of valid destination formats.
4283 4294
4284 Returns 0 if there are outgoing changes, 1 otherwise. 4295 Returns 0 if there are outgoing changes, 1 otherwise.
4285 """ 4296 """
4297 if opts.get('graph'):
4298 cmdutil.checkunsupportedgraphflags([], opts)
4299 o = hg._outgoing(ui, repo, dest, opts)
4300 if o is None:
4301 return
4302
4303 revdag = cmdutil.graphrevs(repo, o, opts)
4304 displayer = cmdutil.show_changeset(ui, repo, opts, buffered=True)
4305 showparents = [ctx.node() for ctx in repo[None].parents()]
4306 cmdutil.displaygraph(ui, revdag, displayer, showparents,
4307 graphmod.asciiedges)
4308 return 0
4286 4309
4287 if opts.get('bookmarks'): 4310 if opts.get('bookmarks'):
4288 dest = ui.expandpath(dest or 'default-push', dest or 'default') 4311 dest = ui.expandpath(dest or 'default-push', dest or 'default')
4289 dest, branches = hg.parseurl(dest, opts.get('branch')) 4312 dest, branches = hg.parseurl(dest, opts.get('branch'))
4290 other = hg.peer(repo, opts, dest) 4313 other = hg.peer(repo, opts, dest)