Comments
Patch
@@ -274,6 +274,7 @@
# the source repository
self.origpath = self.path
self.path = self.sharedpath
+ self.localvfs = self.vfs
self.vfs = vfs
self.opener = self.vfs
except IOError, inst:
@@ -1162,7 +1163,16 @@
self._filecache['dirstate'].refresh()
- l = self._lock(self.vfs, "wlock", wait, unlock,
+ if self.fullshare:
+ sourcelock = self._lock(self.vfs, "wlock", wait, None,
+ self.invalidatedirstate, _('share source %s') %
+ self.origroot)
+ locallock = self._lock(self.localvfs, "wlock", wait, unlock,
+ self.invalidatedirstate, _('working directory of %s') %
+ self.origroot)
+ l = lockmod.multilock(locallock, sourcelock)
+ else:
+ l = self._lock(self.vfs, "wlock", wait, unlock,
self.invalidatedirstate, _('working directory of %s') %
self.origroot)
self._wlockref = weakref.ref(l)