graft: warn when -r is combined with revisions as positional arguments
The behaviour in this case is undefined. Instead of silently doing something
"random" and surprising, at least issue a warning.
(This should perhaps be considered a "deprecation" and turned into an error in
a future release.)
--- a/mercurial/commands.py Sun Jan 17 19:33:02 2016 +0100
+++ b/mercurial/commands.py Sun Jan 17 19:33:02 2016 +0100
@@ -3889,6 +3889,10 @@
return _dograft(ui, repo, *revs, **opts)
def _dograft(ui, repo, *revs, **opts):
+ if revs and opts['rev']:
+ ui.warn(_('warning: inconsistent use of --rev might give unexpected '
+ 'revision ordering!\n'))
+
revs = list(revs)
revs.extend(opts['rev'])
--- a/tests/test-graft.t Sun Jan 17 19:33:02 2016 +0100
+++ b/tests/test-graft.t Sun Jan 17 19:33:02 2016 +0100
@@ -62,6 +62,7 @@
[255]
$ hg graft -r 1 2
+ warning: inconsistent use of --rev might give unexpected revision ordering!
skipping ancestor revision 2:5c095ad7e90f
skipping ancestor revision 1:5d205f8b35b6
[255]