Mercurial > hg
changeset 15908:60cb4f381a78
bookmarks: backout locking change in 12dea4d998ec
Repo lock only applies to data in .hg/store/
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 18 Jan 2012 14:56:52 -0600 |
parents | 51fc43253a52 |
children | 8435fa20dff9 |
files | mercurial/bookmarks.py mercurial/hg.py |
diffstat | 2 files changed, 8 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/bookmarks.py Tue Jan 17 20:23:23 2012 +0100 +++ b/mercurial/bookmarks.py Wed Jan 18 14:56:52 2012 -0600 @@ -84,7 +84,7 @@ raise util.Abort(_("bookmark '%s' contains illegal " "character" % mark)) - lock = repo.lock() + wlock = repo.wlock() try: file = repo.opener('bookmarks', 'w', atomictemp=True) @@ -99,7 +99,7 @@ pass finally: - lock.release() + wlock.release() def setcurrent(repo, mark): '''Set the name of the bookmark that we are currently on @@ -117,13 +117,13 @@ raise util.Abort(_("bookmark '%s' contains illegal " "character" % mark)) - lock = repo.lock() + wlock = repo.wlock() try: file = repo.opener('bookmarks.current', 'w', atomictemp=True) file.write(encoding.fromlocal(mark)) file.close() finally: - lock.release() + wlock.release() repo._bookmarkcurrent = mark def updatecurrentbookmark(repo, oldnode, curbranch): @@ -162,7 +162,7 @@ return d def pushbookmark(repo, key, old, new): - lock = repo.lock() + w = repo.wlock() try: marks = repo._bookmarks if hex(marks.get(key, '')) != old: @@ -176,7 +176,7 @@ write(repo) return True finally: - lock.release() + w.release() def updatefromremote(ui, repo, remote, path): ui.debug("checking for updated bookmarks\n")
--- a/mercurial/hg.py Tue Jan 17 20:23:23 2012 +0100 +++ b/mercurial/hg.py Wed Jan 18 14:56:52 2012 -0600 @@ -279,7 +279,7 @@ if self.dir_: self.rmtree(self.dir_, True) - srclock = destwlock = destlock = dircleanup = None + srclock = destlock = dircleanup = None try: abspath = origsource if islocal(origsource): @@ -325,11 +325,6 @@ # we need to re-init the repo after manually copying the data # into it destrepo = repository(remoteui(ui, peeropts), dest) - # we need full recursive locking of the new repo instance - destwlock = destrepo.wlock() - if destlock: - destlock.release() # a little race condition - but no deadlock - destlock = destrepo.lock() srcrepo.hook('outgoing', source='clone', node=node.hex(node.nullid)) else: @@ -406,7 +401,7 @@ return srcrepo, destrepo finally: - release(srclock, destlock, destwlock) + release(srclock, destlock) if dircleanup is not None: dircleanup.cleanup()