diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -4588,7 +4588,10 @@ def revert(ui, repo, *pats, **opts): raise error.Abort(_('uncommitted merge with no revision specified'), hint=_("use 'hg update' or see 'hg help revert'")) - ctx = scmutil.revsingle(repo, opts.get('rev')) + rev = opts.get('rev') + if rev: + repo = scmutil.unhidehashlikerevs(repo, [rev], 'nowarn') + ctx = scmutil.revsingle(repo, rev) if (not (pats or opts.get('include') or opts.get('exclude') or opts.get('all') or opts.get('interactive'))): diff --git a/tests/test-directaccess.t b/tests/test-directaccess.t --- a/tests/test-directaccess.t +++ b/tests/test-directaccess.t @@ -152,6 +152,19 @@ Testing with hash $ hg up 3 1 files updated, 0 files merged, 0 files removed, 0 files unresolved +`hg revert` + + $ hg revert -r 28ad74 --all + reverting c + + $ hg diff + diff -r 2443a0e66469 c + --- a/c Thu Jan 01 00:00:00 1970 +0000 + +++ b/c Thu Jan 01 00:00:00 1970 +0000 + @@ -1,2 +1,1 @@ + foo + -bar + Commands with undefined cmdtype should not work right now $ hg phase -r 28ad74