# HG changeset patch # User Ryan McElroy # Date 2014-11-27 08:24:25 # Node ID 756376ec6c128b42239d3726f73cd7a47446d1af # Parent fc76f55705eb5884707c977ecb756aee7c794676 bookmarks: factor out bookmark file opening for easier extensibility diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py --- a/mercurial/bookmarks.py +++ b/mercurial/bookmarks.py @@ -30,15 +30,7 @@ class bmstore(dict): dict.__init__(self) self._repo = repo try: - bkfile = None - if 'HG_PENDING' in os.environ: - try: - bkfile = repo.vfs('bookmarks.pending') - except IOError, inst: - if inst.errno != errno.ENOENT: - raise - if bkfile is None: - bkfile = repo.vfs('bookmarks') + bkfile = self.getbkfile(repo) for line in bkfile: line = line.strip() if not line: @@ -57,6 +49,18 @@ class bmstore(dict): if inst.errno != errno.ENOENT: raise + def getbkfile(self, repo): + bkfile = None + if 'HG_PENDING' in os.environ: + try: + bkfile = repo.vfs('bookmarks.pending') + except IOError, inst: + if inst.errno != errno.ENOENT: + raise + if bkfile is None: + bkfile = repo.vfs('bookmarks') + return bkfile + def recordchange(self, tr): """record that bookmarks have been changed in a transaction