Allow callers to pass in the dirstate lock in most localrepo.py funcs.
This makes it possible to take the lock once and commit a large number of
patches, without having to read and write the dirstate for each patch.
# remoterepo - remote repositort proxy classes for mercurial
#
# Copyright 2005 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
class remoterepository(object):
def local(self):
return False
class remotelock(object):
def __init__(self, repo):
self.repo = repo
def release(self):
self.repo.unlock()
self.repo = None
def __del__(self):
if self.repo:
self.release()