revert: accept just -I/-X without paths or -a/-i (issue4592)
'hg revert -I foo' currently fails with
abort: no files or directories specified
(use --all to revert all files, or 'hg update 1' to update)
It doesn't seem intentional that -I/-X without other paths or
--all/--interactive should fail, and it doesn't seem that harmful to
allow it either, so let's just do that.
--- a/mercurial/commands.py Tue Apr 21 16:20:43 2015 -0700
+++ b/mercurial/commands.py Wed Apr 22 16:38:36 2015 -0700
@@ -5511,7 +5511,8 @@
ctx = scmutil.revsingle(repo, opts.get('rev'))
- if not pats and not (opts.get('all') or opts.get('interactive')):
+ if (not (pats or opts.get('include') or opts.get('exclude') or
+ opts.get('all') or opts.get('interactive'))):
msg = _("no files or directories specified")
if p2 != nullid:
hint = _("uncommitted merge, use --all to discard all changes,"
--- a/tests/test-revert.t Tue Apr 21 16:20:43 2015 -0700
+++ b/tests/test-revert.t Wed Apr 22 16:38:36 2015 -0700
@@ -201,12 +201,26 @@
(use --all to revert all files, or 'hg update 1' to update)
[255]
+call `hg revert` with -I
+---------------------------
+
+ $ echo a >> a
+ $ hg revert -I a
+ reverting a
+
+call `hg revert` with -X
+---------------------------
+
+ $ echo a >> a
+ $ hg revert -X d
+ reverting a
+
call `hg revert` with --all
---------------------------
$ hg revert --all -rtip
reverting a
-
+ $ rm *.orig
Issue332: confusing message when reverting directory
----------------------------------------------------