821 return |
822 return |
822 cmdutil.checkunfinished(repo) |
823 cmdutil.checkunfinished(repo) |
823 cmdutil.bailifchanged(repo) |
824 cmdutil.bailifchanged(repo) |
824 return hg.clean(repo, node, show_stats=show_stats) |
825 return hg.clean(repo, node, show_stats=show_stats) |
825 |
826 |
826 displayer = cmdutil.show_changeset(ui, repo, {}) |
827 displayer = logcmdutil.changesetdisplayer(ui, repo, {}) |
827 |
828 |
828 if command: |
829 if command: |
829 changesets = 1 |
830 changesets = 1 |
830 if noupdate: |
831 if noupdate: |
831 try: |
832 try: |
1871 node1, node2 = node2, node1 |
1872 node1, node2 = node2, node1 |
1872 |
1873 |
1873 diffopts = patch.diffallopts(ui, opts) |
1874 diffopts = patch.diffallopts(ui, opts) |
1874 m = scmutil.match(repo[node2], pats, opts) |
1875 m = scmutil.match(repo[node2], pats, opts) |
1875 ui.pager('diff') |
1876 ui.pager('diff') |
1876 cmdutil.diffordiffstat(ui, repo, diffopts, node1, node2, m, stat=stat, |
1877 logcmdutil.diffordiffstat(ui, repo, diffopts, node1, node2, m, stat=stat, |
1877 listsubrepos=opts.get('subrepos'), |
1878 listsubrepos=opts.get('subrepos'), |
1878 root=opts.get('root')) |
1879 root=opts.get('root')) |
1879 |
1880 |
1880 @command('^export', |
1881 @command('^export', |
1881 [('o', 'output', '', |
1882 [('o', 'output', '', |
1882 _('print output to file with formatted name'), _('FORMAT')), |
1883 _('print output to file with formatted name'), _('FORMAT')), |
1883 ('', 'switch-parent', None, _('diff against the second parent')), |
1884 ('', 'switch-parent', None, _('diff against the second parent')), |
3153 |
3154 |
3154 Returns 0 if there are incoming changes, 1 otherwise. |
3155 Returns 0 if there are incoming changes, 1 otherwise. |
3155 """ |
3156 """ |
3156 opts = pycompat.byteskwargs(opts) |
3157 opts = pycompat.byteskwargs(opts) |
3157 if opts.get('graph'): |
3158 if opts.get('graph'): |
3158 cmdutil.checkunsupportedgraphflags([], opts) |
3159 logcmdutil.checkunsupportedgraphflags([], opts) |
3159 def display(other, chlist, displayer): |
3160 def display(other, chlist, displayer): |
3160 revdag = cmdutil.graphrevs(other, chlist, opts) |
3161 revdag = logcmdutil.graphrevs(other, chlist, opts) |
3161 cmdutil.displaygraph(ui, repo, revdag, displayer, |
3162 logcmdutil.displaygraph(ui, repo, revdag, displayer, |
3162 graphmod.asciiedges) |
3163 graphmod.asciiedges) |
3163 |
3164 |
3164 hg._incoming(display, lambda: 1, ui, repo, source, opts, buffered=True) |
3165 hg._incoming(display, lambda: 1, ui, repo, source, opts, buffered=True) |
3165 return 0 |
3166 return 0 |
3166 |
3167 |
3167 if opts.get('bundle') and opts.get('subrepos'): |
3168 if opts.get('bundle') and opts.get('subrepos'): |
3416 raise error.Abort( |
3417 raise error.Abort( |
3417 _('FILE arguments are not compatible with --line-range option') |
3418 _('FILE arguments are not compatible with --line-range option') |
3418 ) |
3419 ) |
3419 |
3420 |
3420 repo = scmutil.unhidehashlikerevs(repo, opts.get('rev'), 'nowarn') |
3421 repo = scmutil.unhidehashlikerevs(repo, opts.get('rev'), 'nowarn') |
3421 revs, filematcher = cmdutil.getlogrevs(repo, pats, opts) |
3422 revs, filematcher = logcmdutil.getrevs(repo, pats, opts) |
3422 hunksfilter = None |
3423 hunksfilter = None |
3423 |
3424 |
3424 if opts.get('graph'): |
3425 if opts.get('graph'): |
3425 if linerange: |
3426 if linerange: |
3426 raise error.Abort(_('graph not supported with line range patterns')) |
3427 raise error.Abort(_('graph not supported with line range patterns')) |
3427 return cmdutil.graphlog(ui, repo, revs, filematcher, opts) |
3428 return logcmdutil.graphlog(ui, repo, revs, filematcher, opts) |
3428 |
3429 |
3429 if linerange: |
3430 if linerange: |
3430 revs, lrfilematcher, hunksfilter = cmdutil.getloglinerangerevs( |
3431 revs, lrfilematcher, hunksfilter = logcmdutil.getlinerangerevs( |
3431 repo, revs, opts) |
3432 repo, revs, opts) |
3432 |
3433 |
3433 if filematcher is not None and lrfilematcher is not None: |
3434 if filematcher is not None and lrfilematcher is not None: |
3434 basefilematcher = filematcher |
3435 basefilematcher = filematcher |
3435 |
3436 |
3447 if opts.get('rev'): |
3448 if opts.get('rev'): |
3448 endrev = scmutil.revrange(repo, opts.get('rev')).max() + 1 |
3449 endrev = scmutil.revrange(repo, opts.get('rev')).max() + 1 |
3449 getrenamed = templatekw.getrenamedfn(repo, endrev=endrev) |
3450 getrenamed = templatekw.getrenamedfn(repo, endrev=endrev) |
3450 |
3451 |
3451 ui.pager('log') |
3452 ui.pager('log') |
3452 displayer = cmdutil.show_changeset(ui, repo, opts, buffered=True) |
3453 displayer = logcmdutil.changesetdisplayer(ui, repo, opts, buffered=True) |
3453 for rev in revs: |
3454 for rev in revs: |
3454 ctx = repo[rev] |
3455 ctx = repo[rev] |
3455 copies = None |
3456 copies = None |
3456 if getrenamed is not None and rev: |
3457 if getrenamed is not None and rev: |
3457 copies = [] |
3458 copies = [] |
3601 # find nodes that are ancestors of p2 but not of p1 |
3602 # find nodes that are ancestors of p2 but not of p1 |
3602 p1 = repo.lookup('.') |
3603 p1 = repo.lookup('.') |
3603 p2 = repo.lookup(node) |
3604 p2 = repo.lookup(node) |
3604 nodes = repo.changelog.findmissing(common=[p1], heads=[p2]) |
3605 nodes = repo.changelog.findmissing(common=[p1], heads=[p2]) |
3605 |
3606 |
3606 displayer = cmdutil.show_changeset(ui, repo, opts) |
3607 displayer = logcmdutil.changesetdisplayer(ui, repo, opts) |
3607 for node in nodes: |
3608 for node in nodes: |
3608 displayer.show(repo[node]) |
3609 displayer.show(repo[node]) |
3609 displayer.close() |
3610 displayer.close() |
3610 return 0 |
3611 return 0 |
3611 |
3612 |
3665 |
3666 |
3666 Returns 0 if there are outgoing changes, 1 otherwise. |
3667 Returns 0 if there are outgoing changes, 1 otherwise. |
3667 """ |
3668 """ |
3668 opts = pycompat.byteskwargs(opts) |
3669 opts = pycompat.byteskwargs(opts) |
3669 if opts.get('graph'): |
3670 if opts.get('graph'): |
3670 cmdutil.checkunsupportedgraphflags([], opts) |
3671 logcmdutil.checkunsupportedgraphflags([], opts) |
3671 o, other = hg._outgoing(ui, repo, dest, opts) |
3672 o, other = hg._outgoing(ui, repo, dest, opts) |
3672 if not o: |
3673 if not o: |
3673 cmdutil.outgoinghooks(ui, repo, other, opts, o) |
3674 cmdutil.outgoinghooks(ui, repo, other, opts, o) |
3674 return |
3675 return |
3675 |
3676 |
3676 revdag = cmdutil.graphrevs(repo, o, opts) |
3677 revdag = logcmdutil.graphrevs(repo, o, opts) |
3677 ui.pager('outgoing') |
3678 ui.pager('outgoing') |
3678 displayer = cmdutil.show_changeset(ui, repo, opts, buffered=True) |
3679 displayer = logcmdutil.changesetdisplayer(ui, repo, opts, buffered=True) |
3679 cmdutil.displaygraph(ui, repo, revdag, displayer, graphmod.asciiedges) |
3680 logcmdutil.displaygraph(ui, repo, revdag, displayer, |
|
3681 graphmod.asciiedges) |
3680 cmdutil.outgoinghooks(ui, repo, other, opts, o) |
3682 cmdutil.outgoinghooks(ui, repo, other, opts, o) |
3681 return 0 |
3683 return 0 |
3682 |
3684 |
3683 if opts.get('bookmarks'): |
3685 if opts.get('bookmarks'): |
3684 dest = ui.expandpath(dest or 'default-push', dest or 'default') |
3686 dest = ui.expandpath(dest or 'default-push', dest or 'default') |
3749 fctx = repo.filectx(file_, fileid=fn) |
3751 fctx = repo.filectx(file_, fileid=fn) |
3750 p.append(fctx.node()) |
3752 p.append(fctx.node()) |
3751 else: |
3753 else: |
3752 p = [cp.node() for cp in ctx.parents()] |
3754 p = [cp.node() for cp in ctx.parents()] |
3753 |
3755 |
3754 displayer = cmdutil.show_changeset(ui, repo, opts) |
3756 displayer = logcmdutil.changesetdisplayer(ui, repo, opts) |
3755 for n in p: |
3757 for n in p: |
3756 if n != nullid: |
3758 if n != nullid: |
3757 displayer.show(repo[n]) |
3759 displayer.show(repo[n]) |
3758 displayer.close() |
3760 displayer.close() |
3759 |
3761 |
4981 for p in parents: |
4983 for p in parents: |
4982 # label with log.changeset (instead of log.parent) since this |
4984 # label with log.changeset (instead of log.parent) since this |
4983 # shows a working directory parent *changeset*: |
4985 # shows a working directory parent *changeset*: |
4984 # i18n: column positioning for "hg summary" |
4986 # i18n: column positioning for "hg summary" |
4985 ui.write(_('parent: %d:%s ') % (p.rev(), p), |
4987 ui.write(_('parent: %d:%s ') % (p.rev(), p), |
4986 label=cmdutil._changesetlabels(p)) |
4988 label=logcmdutil.changesetlabels(p)) |
4987 ui.write(' '.join(p.tags()), label='log.tag') |
4989 ui.write(' '.join(p.tags()), label='log.tag') |
4988 if p.bookmarks(): |
4990 if p.bookmarks(): |
4989 marks.extend(p.bookmarks()) |
4991 marks.extend(p.bookmarks()) |
4990 if p.rev() == -1: |
4992 if p.rev() == -1: |
4991 if not len(repo): |
4993 if not len(repo): |
5403 This command is deprecated, please use :hg:`heads` instead. |
5405 This command is deprecated, please use :hg:`heads` instead. |
5404 |
5406 |
5405 Returns 0 on success. |
5407 Returns 0 on success. |
5406 """ |
5408 """ |
5407 opts = pycompat.byteskwargs(opts) |
5409 opts = pycompat.byteskwargs(opts) |
5408 displayer = cmdutil.show_changeset(ui, repo, opts) |
5410 displayer = logcmdutil.changesetdisplayer(ui, repo, opts) |
5409 displayer.show(repo['tip']) |
5411 displayer.show(repo['tip']) |
5410 displayer.close() |
5412 displayer.close() |
5411 |
5413 |
5412 @command('unbundle', |
5414 @command('unbundle', |
5413 [('u', 'update', None, |
5415 [('u', 'update', None, |