# HG changeset patch # User Martin von Zweigbergk # Date 1588953047 25200 # Node ID aac816f584adf7e715b8a09c0b1b8c7a593689ee # Parent 16596f5e1afa24628e1648fe8698ef040d6b60b3 diff: use cmdutil.check_at_most_one_arg() for checking --rev/--change The same check was done in extdiff as well, so I fixed that too. There are apparently no tests for this. Differential Revision: https://phab.mercurial-scm.org/D8510 diff -r 16596f5e1afa -r aac816f584ad hgext/extdiff.py --- a/hgext/extdiff.py Wed May 06 11:40:17 2020 -0700 +++ b/hgext/extdiff.py Fri May 08 08:50:47 2020 -0700 @@ -360,14 +360,12 @@ - just invoke the diff for a single file in the working dir ''' + cmdutil.check_at_most_one_arg(opts, b'rev', b'change') revs = opts.get(b'rev') change = opts.get(b'change') do3way = b'$parent2' in cmdline - if revs and change: - msg = _(b'cannot specify --rev and --change at the same time') - raise error.Abort(msg) - elif change: + if change: ctx2 = scmutil.revsingle(repo, change, None) ctx1a, ctx1b = ctx2.p1(), ctx2.p2() else: diff -r 16596f5e1afa -r aac816f584ad mercurial/commands.py --- a/mercurial/commands.py Wed May 06 11:40:17 2020 -0700 +++ b/mercurial/commands.py Fri May 08 08:50:47 2020 -0700 @@ -2475,16 +2475,14 @@ Returns 0 on success. """ + cmdutil.check_at_most_one_arg(opts, 'rev', 'change') opts = pycompat.byteskwargs(opts) revs = opts.get(b'rev') change = opts.get(b'change') stat = opts.get(b'stat') reverse = opts.get(b'reverse') - if revs and change: - msg = _(b'cannot specify --rev and --change at the same time') - raise error.Abort(msg) - elif change: + if change: repo = scmutil.unhidehashlikerevs(repo, [change], b'nowarn') ctx2 = scmutil.revsingle(repo, change, None) ctx1 = ctx2.p1()