graft: abort if --date/user specified with --currentdate/currentuser (BC)
They are conflicting options. Let's explicitly ban such combination.
Note that this means you need "--no-currentdate --date" to override
--currentdate specified in aliases/defaults.
--- a/mercurial/commands.py Thu Jan 10 21:32:37 2019 +0900
+++ b/mercurial/commands.py Thu Jan 10 21:57:21 2019 +0900
@@ -2393,6 +2393,10 @@
# list of new nodes created by ongoing graft
statedata['newnodes'] = []
+ if opts.get('user') and opts.get('currentuser'):
+ raise error.Abort(_('--user and --currentuser are mutually exclusive'))
+ if opts.get('date') and opts.get('currentdate'):
+ raise error.Abort(_('--date and --currentdate are mutually exclusive'))
if not opts.get('user') and opts.get('currentuser'):
opts['user'] = ui.username()
if not opts.get('date') and opts.get('currentdate'):
--- a/tests/test-graft.t Thu Jan 10 21:32:37 2019 +0900
+++ b/tests/test-graft.t Thu Jan 10 21:57:21 2019 +0900
@@ -112,6 +112,16 @@
skipping ancestor revision 1:5d205f8b35b6
[255]
+Conflicting date/user options:
+
+ $ hg up -q 0
+ $ hg graft -U --user foo 2
+ abort: --user and --currentuser are mutually exclusive
+ [255]
+ $ hg graft -D --date '0 0' 2
+ abort: --date and --currentdate are mutually exclusive
+ [255]
+
Can't graft with dirty wd:
$ hg up -q 0