# HG changeset patch # User Pierre-Yves David # Date 1428769614 14400 # Node ID a85c4ed1132f5d7c415635ab367f0d146dae3c02 # Parent 52ff737c63d2b2cb41185549aa9c35bc47317032 revert: do not requires '--all' if '--interative' is present The '--all' option have been introduced in 890e285c52a1 (August 2006), most probably to prevent user shooting themselves in the foot. As the record process will let you, view and select the set of files and change you want to revert, I feel like the '--all' flag is superfluous in the '--interactive' case. diff -r 52ff737c63d2 -r a85c4ed1132f mercurial/commands.py --- a/mercurial/commands.py Thu Apr 09 16:18:38 2015 -0400 +++ b/mercurial/commands.py Sat Apr 11 12:26:54 2015 -0400 @@ -5514,7 +5514,7 @@ ctx = scmutil.revsingle(repo, opts.get('rev')) - if not pats and not opts.get('all'): + if not pats and not (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 52ff737c63d2 -r a85c4ed1132f tests/test-revert-interactive.t --- a/tests/test-revert-interactive.t Thu Apr 09 16:18:38 2015 -0400 +++ b/tests/test-revert-interactive.t Sat Apr 11 12:26:54 2015 -0400 @@ -121,6 +121,21 @@ 4 5 f + +Test that --interactive lift the need for --all + + $ echo q | hg revert -i -r 2 + reverting folder1/g (glob) + reverting folder2/h (glob) + diff -r 89ac3d72e4a4 folder1/g + 1 hunks, 1 lines changed + examine changes to 'folder1/g'? [Ynesfdaq?] q + + abort: user quit + [255] + $ rm folder1/g.orig + + $ hg update -C 6 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg revert -i -r 2 --all -- << EOF