Mercurial > public > mercurial-scm > hg
diff mercurial/commands.py @ 2272:e9a0ed9ed4d9
revert: fix corner case found by faheem mitha.
if file not in dest manifest, remove only if in source manifest.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Thu, 11 May 2006 22:10:47 -0700 |
parents | 6c9305fbebaf |
children | e506c14382fd |
line wrap: on
line diff
--- a/mercurial/commands.py Thu May 11 21:55:15 2006 -0700 +++ b/mercurial/commands.py Thu May 11 22:10:47 2006 -0700 @@ -2277,6 +2277,7 @@ 'you must specify the revision to revert to')) else: node = parent + pmf = None mf = repo.manifest.read(repo.changelog.read(node)[0]) wlock = repo.wlock() @@ -2359,7 +2360,12 @@ if exact: ui.warn(_('no changes needed to %s\n' % rel)) continue if not in_mf: - handle(remove, False) + if pmf is None: + # only need parent manifest in this unlikely case, + # so do not read by default + pmf = repo.manifest.read(repo.changelog.read(parent)[0]) + if abs in pmf: + handle(remove, False) update[abs] = True repo.dirstate.forget(forget[0])