# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 2017-12-26 18:54:53 # Node ID 31fe397f2bdab5fea4752947e70549e7a7d04f75 # Parent 02fdb8c018aacc43904c61fd078e3bcbb099eac9 revert: support reverting to hidden cset if directaccess config is set This patch adds support for reverting files to a hidden changeset if `experimental.directacess=True` is set. Differential Revision: https://phab.mercurial-scm.org/D1763 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