Comments
Patch
@@ -2539,10 +2539,11 @@ def revert(ui, repo, ctx, parents, *pats
)
needdata = ('revert', 'add', 'undelete')
_revertprefetch(repo, ctx, *[actions[name][0] for name in needdata])
+ wctx = repo[None]
for abs, (rel, exact) in sorted(names.items()):
# target file to be touch on disk (relative to cwd)
target = repo.wjoin(abs)
# search the entry in the dispatch table.
# if the file is in any of these sets, it was touched in the working
@@ -2551,11 +2552,11 @@ def revert(ui, repo, ctx, parents, *pats
if abs not in table:
continue
if xlist is not None:
xlist.append(abs)
if (dobackup and os.path.lexists(target)
- and repo[None][abs].cmp(ctx[abs])):
+ and wctx[abs].cmp(ctx[abs])):
bakname = "%s.orig" % rel
ui.note(_('saving current version of %s as %s\n') %
(rel, bakname))
if not opts.get('dry_run'):
util.rename(target, bakname)