--- a/mercurial/commands.py Tue Aug 08 09:11:16 2006 -0500
+++ b/mercurial/commands.py Tue Aug 08 09:19:20 2006 -0500
@@ -2606,7 +2606,7 @@
if not opts.get('dry_run'):
repo.dirstate.forget(forget[0])
- r = hg.revert(repo, node, update.has_key)
+ r = hg.revert(repo, node, update.has_key, wlock)
repo.dirstate.update(add[0], 'a')
repo.dirstate.update(undelete[0], 'n')
repo.dirstate.update(remove[0], 'r')
--- a/mercurial/hg.py Tue Aug 08 09:11:16 2006 -0500
+++ b/mercurial/hg.py Tue Aug 08 09:19:20 2006 -0500
@@ -220,10 +220,10 @@
return _merge.update(repo, node, branchmerge=True, forcemerge=force,
remind=remind, wlock=wlock)
-def revert(repo, node, choose):
+def revert(repo, node, choose, wlock):
"""revert changes to revision in node without updating dirstate"""
return _merge.update(repo, node, force=True, partial=choose,
- show_stats=False)
+ show_stats=False, wlock=wlock)
def verify(repo):
"""verify the consistency of a repository"""
--- a/mercurial/merge.py Tue Aug 08 09:11:16 2006 -0500
+++ b/mercurial/merge.py Tue Aug 08 09:19:20 2006 -0500
@@ -49,6 +49,10 @@
def update(repo, node, branchmerge=False, force=False, partial=None,
forcemerge=False, wlock=None, show_stats=True, remind=True):
+
+ if not wlock:
+ wlock = repo.wlock()
+
pl = repo.dirstate.parents()
if not force and pl[1] != nullid:
raise util.Abort(_("outstanding uncommitted merges"))
@@ -110,8 +114,6 @@
mw[f] = ""
mfw[f] = util.is_exec(repo.wjoin(f), mfw.get(f, False))
- if not partial and not wlock: wlock = repo.wlock()
-
for f in deleted + removed:
if f in mw:
del mw[f]