D6382: bookmarks: use context manager when writing files
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Thu May 16 06:28:20 UTC 2019
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6382
AFFECTED FILES
mercurial/bookmarks.py
CHANGE DETAILS
diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py
--- a/mercurial/bookmarks.py
+++ b/mercurial/bookmarks.py
@@ -204,27 +204,18 @@
rbm._writeactive()
with repo.wlock():
- file_ = repo.vfs('bookmarks', 'w', atomictemp=True,
- checkambig=True)
- try:
- self._write(file_)
- except: # re-raises
- file_.discard()
- raise
- finally:
- file_.close()
+ with repo.vfs('bookmarks', 'w', atomictemp=True,
+ checkambig=True) as f:
+ self._write(f)
def _writeactive(self):
if self._aclean:
return
with self._repo.wlock():
if self._active is not None:
- f = self._repo.vfs('bookmarks.current', 'w', atomictemp=True,
- checkambig=True)
- try:
+ with self._repo.vfs('bookmarks.current', 'w', atomictemp=True,
+ checkambig=True) as f:
f.write(encoding.fromlocal(self._active))
- finally:
- f.close()
else:
self._repo.vfs.tryunlink('bookmarks.current')
self._aclean = True
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list