Skip to content
Snippets Groups Projects
Commit 8faabe8abf66 authored by Pierre-Yves David's avatar Pierre-Yves David :octopus:
Browse files

graft: gather arg compatibility code

Lets do it all in one place and at the start, this is easier to maintain
consistently.

We also take this as an opportunity to do this before we resolve commit options,
that so user do not get error about "--date" when they actually they specified
the "--current-date" argument.
parent 0b52283d50bb
No related branches found
No related tags found
2 merge requests!1292Draft: 7.0rc preparation,!1118graft: rework the code to prepare for new feature
......@@ -44,5 +44,7 @@
# list of new nodes created by ongoing graft
statedata[b'newnodes'] = []
cmdutil.resolve_commit_options(ui, opts)
# argument incompatible with followup from an interrupted operation
commit_args = ['edit', 'log', 'user', 'date', 'currentdate', 'currentuser']
nofollow_args = commit_args + ['rev']
......@@ -48,2 +50,7 @@
arg_compatibilities = [
('no_commit', commit_args),
('stop', nofollow_args),
('abort', nofollow_args),
]
cmdutil.check_at_most_one_arg(opts, 'abort', 'stop', 'continue')
......@@ -49,3 +56,7 @@
cmdutil.check_at_most_one_arg(opts, 'abort', 'stop', 'continue')
for arg, incompatible in arg_compatibilities:
cmdutil.check_incompatible_arguments(opts, arg, incompatible)
cmdutil.resolve_commit_options(ui, opts)
cont = False
......@@ -50,12 +61,6 @@
cont = False
if opts.get('no_commit'):
cmdutil.check_incompatible_arguments(
opts,
'no_commit',
['edit', 'currentuser', 'currentdate', 'log'],
)
graftstate = statemod.cmdstate(repo, b'graftstate')
if opts.get('stop'):
......@@ -58,19 +63,6 @@
graftstate = statemod.cmdstate(repo, b'graftstate')
if opts.get('stop'):
cmdutil.check_incompatible_arguments(
opts,
'stop',
[
'edit',
'log',
'user',
'date',
'currentdate',
'currentuser',
'rev',
],
)
return "STOP", graftstate, None
elif opts.get('abort'):
......@@ -75,18 +67,5 @@
return "STOP", graftstate, None
elif opts.get('abort'):
cmdutil.check_incompatible_arguments(
opts,
'abort',
[
'edit',
'log',
'user',
'date',
'currentdate',
'currentuser',
'rev',
],
)
return "ABORT", graftstate, None
elif opts.get('continue'):
cont = True
......
......@@ -253,7 +253,7 @@
[10]
$ hg graft --stop -U
abort: cannot specify both --stop and --user
abort: cannot specify both --stop and --currentuser
[10]
$ hg graft --stop --rev 4
abort: cannot specify both --stop and --rev
......@@ -363,7 +363,7 @@
[10]
$ hg graft --abort --currentuser
abort: cannot specify both --abort and --user
abort: cannot specify both --abort and --currentuser
[10]
$ hg graft --abort --edit
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment