# HG changeset patch # User Yuya Nishihara # Date 1547125041 -32400 # Node ID 08dd462ea782748796f3b2635f745a8273662d9d # Parent 4145fd3569c32e7e511e8abb5fd1835154303d73 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. diff -r 4145fd3569c3 -r 08dd462ea782 mercurial/commands.py --- 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'): diff -r 4145fd3569c3 -r 08dd462ea782 tests/test-graft.t --- 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