diff -r 897041f6b025 -r 45e02cfad4bd mercurial/cmdutil.py --- a/mercurial/cmdutil.py Sun Sep 07 11:46:11 2014 -0500 +++ b/mercurial/cmdutil.py Sat Aug 30 02:47:59 2014 +0200 @@ -2527,6 +2527,9 @@ (unknown, actions['unknown'], discard), ) + needdata = ('revert', 'add', 'remove', 'undelete') + _revertprefetch(repo, ctx, *[actions[name][0] for name in needdata]) + for abs, (rel, exact) in sorted(names.items()): # target file to be touch on disk (relative to cwd) target = repo.wjoin(abs) @@ -2564,6 +2567,10 @@ finally: wlock.release() +def _revertprefetch(repo, ctx, *files): + """Let extension changing the storage layer prefetch content""" + pass + def _performrevert(repo, parents, ctx, actions): """function that actually perform all the actions computed for revert