443 raise error.InputError(_(b'at least one of -n/-c is required for -l')) |
443 raise error.InputError(_(b'at least one of -n/-c is required for -l')) |
444 |
444 |
445 rev = opts.get(b'rev') |
445 rev = opts.get(b'rev') |
446 if rev: |
446 if rev: |
447 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
447 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
448 ctx = scmutil.revsingle(repo, rev) |
448 ctx = logcmdutil.revsingle(repo, rev) |
449 |
449 |
450 ui.pager(b'annotate') |
450 ui.pager(b'annotate') |
451 rootfm = ui.formatter(b'annotate', opts) |
451 rootfm = ui.formatter(b'annotate', opts) |
452 if ui.debugflag: |
452 if ui.debugflag: |
453 shorthex = pycompat.identity |
453 shorthex = pycompat.identity |
647 |
647 |
648 opts = pycompat.byteskwargs(opts) |
648 opts = pycompat.byteskwargs(opts) |
649 rev = opts.get(b'rev') |
649 rev = opts.get(b'rev') |
650 if rev: |
650 if rev: |
651 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
651 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
652 ctx = scmutil.revsingle(repo, rev) |
652 ctx = logcmdutil.revsingle(repo, rev) |
653 if not ctx: |
653 if not ctx: |
654 raise error.InputError( |
654 raise error.InputError( |
655 _(b'no working directory: please specify a revision') |
655 _(b'no working directory: please specify a revision') |
656 ) |
656 ) |
657 node = ctx.node() |
657 node = ctx.node() |
789 if date: |
789 if date: |
790 opts[b'date'] = dateutil.parsedate(date) |
790 opts[b'date'] = dateutil.parsedate(date) |
791 |
791 |
792 cmdutil.checkunfinished(repo) |
792 cmdutil.checkunfinished(repo) |
793 cmdutil.bailifchanged(repo) |
793 cmdutil.bailifchanged(repo) |
794 ctx = scmutil.revsingle(repo, rev) |
794 ctx = logcmdutil.revsingle(repo, rev) |
795 node = ctx.node() |
795 node = ctx.node() |
796 |
796 |
797 op1, op2 = repo.dirstate.parents() |
797 op1, op2 = repo.dirstate.parents() |
798 if not repo.changelog.isancestor(node, op1): |
798 if not repo.changelog.isancestor(node, op1): |
799 raise error.InputError( |
799 raise error.InputError( |
1759 """ |
1759 """ |
1760 opts = pycompat.byteskwargs(opts) |
1760 opts = pycompat.byteskwargs(opts) |
1761 rev = opts.get(b'rev') |
1761 rev = opts.get(b'rev') |
1762 if rev: |
1762 if rev: |
1763 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
1763 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
1764 ctx = scmutil.revsingle(repo, rev) |
1764 ctx = logcmdutil.revsingle(repo, rev) |
1765 m = scmutil.match(ctx, (file1,) + pats, opts) |
1765 m = scmutil.match(ctx, (file1,) + pats, opts) |
1766 fntemplate = opts.pop(b'output', b'') |
1766 fntemplate = opts.pop(b'output', b'') |
1767 if cmdutil.isstdiofilename(fntemplate): |
1767 if cmdutil.isstdiofilename(fntemplate): |
1768 fntemplate = b'' |
1768 fntemplate = b'' |
1769 |
1769 |
2598 |
2598 |
2599 cmdutil.check_incompatible_arguments(opts, b'from', [b'rev', b'change']) |
2599 cmdutil.check_incompatible_arguments(opts, b'from', [b'rev', b'change']) |
2600 cmdutil.check_incompatible_arguments(opts, b'to', [b'rev', b'change']) |
2600 cmdutil.check_incompatible_arguments(opts, b'to', [b'rev', b'change']) |
2601 if change: |
2601 if change: |
2602 repo = scmutil.unhidehashlikerevs(repo, [change], b'nowarn') |
2602 repo = scmutil.unhidehashlikerevs(repo, [change], b'nowarn') |
2603 ctx2 = scmutil.revsingle(repo, change, None) |
2603 ctx2 = logcmdutil.revsingle(repo, change, None) |
2604 ctx1 = logcmdutil.diff_parent(ctx2) |
2604 ctx1 = logcmdutil.diff_parent(ctx2) |
2605 elif from_rev or to_rev: |
2605 elif from_rev or to_rev: |
2606 repo = scmutil.unhidehashlikerevs( |
2606 repo = scmutil.unhidehashlikerevs( |
2607 repo, [from_rev] + [to_rev], b'nowarn' |
2607 repo, [from_rev] + [to_rev], b'nowarn' |
2608 ) |
2608 ) |
2609 ctx1 = scmutil.revsingle(repo, from_rev, None) |
2609 ctx1 = logcmdutil.revsingle(repo, from_rev, None) |
2610 ctx2 = scmutil.revsingle(repo, to_rev, None) |
2610 ctx2 = logcmdutil.revsingle(repo, to_rev, None) |
2611 else: |
2611 else: |
2612 repo = scmutil.unhidehashlikerevs(repo, revs, b'nowarn') |
2612 repo = scmutil.unhidehashlikerevs(repo, revs, b'nowarn') |
2613 ctx1, ctx2 = logcmdutil.revpair(repo, revs) |
2613 ctx1, ctx2 = logcmdutil.revpair(repo, revs) |
2614 |
2614 |
2615 if reverse: |
2615 if reverse: |
2862 |
2862 |
2863 opts = pycompat.byteskwargs(opts) |
2863 opts = pycompat.byteskwargs(opts) |
2864 rev = opts.get(b'rev') |
2864 rev = opts.get(b'rev') |
2865 if rev: |
2865 if rev: |
2866 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
2866 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
2867 ctx = scmutil.revsingle(repo, rev, None) |
2867 ctx = logcmdutil.revsingle(repo, rev, None) |
2868 |
2868 |
2869 end = b'\n' |
2869 end = b'\n' |
2870 if opts.get(b'print0'): |
2870 if opts.get(b'print0'): |
2871 end = b'\0' |
2871 end = b'\0' |
2872 fmt = b'%s' + end |
2872 fmt = b'%s' + end |
3173 revs = logcmdutil.revrange(repo, revs) |
3173 revs = logcmdutil.revrange(repo, revs) |
3174 |
3174 |
3175 skipped = set() |
3175 skipped = set() |
3176 basectx = None |
3176 basectx = None |
3177 if opts.get('base'): |
3177 if opts.get('base'): |
3178 basectx = scmutil.revsingle(repo, opts['base'], None) |
3178 basectx = logcmdutil.revsingle(repo, opts['base'], None) |
3179 if basectx is None: |
3179 if basectx is None: |
3180 # check for merges |
3180 # check for merges |
3181 for rev in repo.revs(b'%ld and merge()', revs): |
3181 for rev in repo.revs(b'%ld and merge()', revs): |
3182 ui.warn(_(b'skipping ungraftable merge revision %d\n') % rev) |
3182 ui.warn(_(b'skipping ungraftable merge revision %d\n') % rev) |
3183 skipped.add(rev) |
3183 skipped.add(rev) |
3694 opts = pycompat.byteskwargs(opts) |
3694 opts = pycompat.byteskwargs(opts) |
3695 start = None |
3695 start = None |
3696 rev = opts.get(b'rev') |
3696 rev = opts.get(b'rev') |
3697 if rev: |
3697 if rev: |
3698 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
3698 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
3699 start = scmutil.revsingle(repo, rev, None).node() |
3699 start = logcmdutil.revsingle(repo, rev, None).node() |
3700 |
3700 |
3701 if opts.get(b'topo'): |
3701 if opts.get(b'topo'): |
3702 heads = [repo[h] for h in repo.heads(start)] |
3702 heads = [repo[h] for h in repo.heads(start)] |
3703 else: |
3703 else: |
3704 heads = [] |
3704 heads = [] |
3930 if bookmarks or b'bookmarks' in fm.datahint(): |
3930 if bookmarks or b'bookmarks' in fm.datahint(): |
3931 fm.data(bookmarks=fm.formatlist(getbms(), name=b'bookmark')) |
3931 fm.data(bookmarks=fm.formatlist(getbms(), name=b'bookmark')) |
3932 else: |
3932 else: |
3933 if rev: |
3933 if rev: |
3934 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
3934 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
3935 ctx = scmutil.revsingle(repo, rev, None) |
3935 ctx = logcmdutil.revsingle(repo, rev, None) |
3936 |
3936 |
3937 if ctx.rev() is None: |
3937 if ctx.rev() is None: |
3938 ctx = repo[None] |
3938 ctx = repo[None] |
3939 parents = ctx.parents() |
3939 parents = ctx.parents() |
3940 taglist = [] |
3940 taglist = [] |
4443 opts = pycompat.byteskwargs(opts) |
4443 opts = pycompat.byteskwargs(opts) |
4444 if opts.get(b'print0'): |
4444 if opts.get(b'print0'): |
4445 end = b'\0' |
4445 end = b'\0' |
4446 else: |
4446 else: |
4447 end = b'\n' |
4447 end = b'\n' |
4448 ctx = scmutil.revsingle(repo, opts.get(b'rev'), None) |
4448 ctx = logcmdutil.revsingle(repo, opts.get(b'rev'), None) |
4449 |
4449 |
4450 ret = 1 |
4450 ret = 1 |
4451 m = scmutil.match( |
4451 m = scmutil.match( |
4452 ctx, pats, opts, default=b'relglob', badfn=lambda x, y: False |
4452 ctx, pats, opts, default=b'relglob', badfn=lambda x, y: False |
4453 ) |
4453 ) |
4788 |
4788 |
4789 char = {b'l': b'@', b'x': b'*', b'': b'', b't': b'd'} |
4789 char = {b'l': b'@', b'x': b'*', b'': b'', b't': b'd'} |
4790 mode = {b'l': b'644', b'x': b'755', b'': b'644', b't': b'755'} |
4790 mode = {b'l': b'644', b'x': b'755', b'': b'644', b't': b'755'} |
4791 if node: |
4791 if node: |
4792 repo = scmutil.unhidehashlikerevs(repo, [node], b'nowarn') |
4792 repo = scmutil.unhidehashlikerevs(repo, [node], b'nowarn') |
4793 ctx = scmutil.revsingle(repo, node) |
4793 ctx = logcmdutil.revsingle(repo, node) |
4794 mf = ctx.manifest() |
4794 mf = ctx.manifest() |
4795 ui.pager(b'manifest') |
4795 ui.pager(b'manifest') |
4796 for f in ctx: |
4796 for f in ctx: |
4797 fm.startitem() |
4797 fm.startitem() |
4798 fm.context(ctx=ctx) |
4798 fm.context(ctx=ctx) |
4875 raise error.InputError(_(b"please specify just one revision")) |
4875 raise error.InputError(_(b"please specify just one revision")) |
4876 if not node: |
4876 if not node: |
4877 node = opts.get(b'rev') |
4877 node = opts.get(b'rev') |
4878 |
4878 |
4879 if node: |
4879 if node: |
4880 ctx = scmutil.revsingle(repo, node) |
4880 ctx = logcmdutil.revsingle(repo, node) |
4881 else: |
4881 else: |
4882 if ui.configbool(b'commands', b'merge.require-rev'): |
4882 if ui.configbool(b'commands', b'merge.require-rev'): |
4883 raise error.InputError( |
4883 raise error.InputError( |
4884 _( |
4884 _( |
4885 b'configuration requires specifying revision to merge ' |
4885 b'configuration requires specifying revision to merge ' |
5054 |
5054 |
5055 opts = pycompat.byteskwargs(opts) |
5055 opts = pycompat.byteskwargs(opts) |
5056 rev = opts.get(b'rev') |
5056 rev = opts.get(b'rev') |
5057 if rev: |
5057 if rev: |
5058 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
5058 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
5059 ctx = scmutil.revsingle(repo, rev, None) |
5059 ctx = logcmdutil.revsingle(repo, rev, None) |
5060 |
5060 |
5061 if file_: |
5061 if file_: |
5062 m = scmutil.match(ctx, (file_,), opts) |
5062 m = scmutil.match(ctx, (file_,), opts) |
5063 if m.anypats() or len(m.files()) != 1: |
5063 if m.anypats() or len(m.files()) != 1: |
5064 raise error.InputError(_(b'can only specify an explicit filename')) |
5064 raise error.InputError(_(b'can only specify an explicit filename')) |
6345 ) |
6345 ) |
6346 |
6346 |
6347 rev = opts.get(b'rev') |
6347 rev = opts.get(b'rev') |
6348 if rev: |
6348 if rev: |
6349 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
6349 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
6350 ctx = scmutil.revsingle(repo, rev) |
6350 ctx = logcmdutil.revsingle(repo, rev) |
6351 |
6351 |
6352 if not ( |
6352 if not ( |
6353 pats |
6353 pats |
6354 or opts.get(b'include') |
6354 or opts.get(b'include') |
6355 or opts.get(b'exclude') |
6355 or opts.get(b'exclude') |
6903 if revs and terse: |
6903 if revs and terse: |
6904 msg = _(b'cannot use --terse with --rev') |
6904 msg = _(b'cannot use --terse with --rev') |
6905 raise error.InputError(msg) |
6905 raise error.InputError(msg) |
6906 elif change: |
6906 elif change: |
6907 repo = scmutil.unhidehashlikerevs(repo, [change], b'nowarn') |
6907 repo = scmutil.unhidehashlikerevs(repo, [change], b'nowarn') |
6908 ctx2 = scmutil.revsingle(repo, change, None) |
6908 ctx2 = logcmdutil.revsingle(repo, change, None) |
6909 ctx1 = ctx2.p1() |
6909 ctx1 = ctx2.p1() |
6910 else: |
6910 else: |
6911 repo = scmutil.unhidehashlikerevs(repo, revs, b'nowarn') |
6911 repo = scmutil.unhidehashlikerevs(repo, revs, b'nowarn') |
6912 ctx1, ctx2 = logcmdutil.revpair(repo, revs) |
6912 ctx1, ctx2 = logcmdutil.revpair(repo, revs) |
6913 |
6913 |
7451 _( |
7451 _( |
7452 b'working directory is not at a branch head ' |
7452 b'working directory is not at a branch head ' |
7453 b'(use -f to force)' |
7453 b'(use -f to force)' |
7454 ) |
7454 ) |
7455 ) |
7455 ) |
7456 node = scmutil.revsingle(repo, rev_).node() |
7456 node = logcmdutil.revsingle(repo, rev_).node() |
7457 |
7457 |
7458 if not message: |
7458 if not message: |
7459 # we don't translate commit messages |
7459 # we don't translate commit messages |
7460 message = b'Added tag %s for changeset %s' % ( |
7460 message = b'Added tag %s for changeset %s' % ( |
7461 b', '.join(names), |
7461 b', '.join(names), |
7838 |
7838 |
7839 # if we defined a bookmark, we have to remember the original name |
7839 # if we defined a bookmark, we have to remember the original name |
7840 brev = rev |
7840 brev = rev |
7841 if rev: |
7841 if rev: |
7842 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
7842 repo = scmutil.unhidehashlikerevs(repo, [rev], b'nowarn') |
7843 ctx = scmutil.revsingle(repo, rev, default=None) |
7843 ctx = logcmdutil.revsingle(repo, rev, default=None) |
7844 rev = ctx.rev() |
7844 rev = ctx.rev() |
7845 hidden = ctx.hidden() |
7845 hidden = ctx.hidden() |
7846 overrides = {(b'ui', b'forcemerge'): opts.get('tool', b'')} |
7846 overrides = {(b'ui', b'forcemerge'): opts.get('tool', b'')} |
7847 with ui.configoverride(overrides, b'update'): |
7847 with ui.configoverride(overrides, b'update'): |
7848 ret = hg.updatetotally( |
7848 ret = hg.updatetotally( |