graft: abort if --date/user specified with --currentdate/currentuser (BC)
authorYuya Nishihara <yuya@tcha.org>
Thu, 10 Jan 2019 21:57:21 +0900
changeset 41174 08dd462ea782
parent 41173 4145fd3569c3
child 41175 9bc7ec924234
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.
mercurial/commands.py
tests/test-graft.t
--- 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