# HG changeset patch # User Martin von Zweigbergk # Date 1429745916 25200 # Node ID 45bd336e3991b4e59ecb258a3bb8aa43d766a5f3 # Parent a5e3634ba024f562acd25092f59a4c1bb54d9f40 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. diff -r a5e3634ba024 -r 45bd336e3991 mercurial/commands.py --- 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," diff -r a5e3634ba024 -r 45bd336e3991 tests/test-revert.t --- 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 ----------------------------------------------------