Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/branchmap.py @ 39174:dd1614906a20
branchmap: close cache file properly
Follows up 2a4bfbb52111.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Fri, 17 Aug 2018 10:25:39 +0900 |
parents | b892df0766e1 |
children | 8547c8590ac1 |
comparison
equal
deleted
inserted
replaced
39173:b892df0766e1 | 39174:dd1614906a20 |
---|---|
36 if repo.filtername: | 36 if repo.filtername: |
37 filename = '%s-%s' % (filename, repo.filtername) | 37 filename = '%s-%s' % (filename, repo.filtername) |
38 return filename | 38 return filename |
39 | 39 |
40 def read(repo): | 40 def read(repo): |
41 f = None | |
41 try: | 42 try: |
42 f = repo.cachevfs(_filename(repo)) | 43 f = repo.cachevfs(_filename(repo)) |
43 cachekey = next(f).rstrip('\n').split(" ", 2) | 44 cachekey = next(f).rstrip('\n').split(" ", 2) |
44 last, lrev = cachekey[:2] | 45 last, lrev = cachekey[:2] |
45 last, lrev = bin(last), int(lrev) | 46 last, lrev = bin(last), int(lrev) |
77 if repo.filtername is not None: | 78 if repo.filtername is not None: |
78 msg += ' (%s)' % repo.filtername | 79 msg += ' (%s)' % repo.filtername |
79 msg += ': %s\n' | 80 msg += ': %s\n' |
80 repo.ui.debug(msg % pycompat.bytestr(inst)) | 81 repo.ui.debug(msg % pycompat.bytestr(inst)) |
81 partial = None | 82 partial = None |
83 | |
84 finally: | |
85 if f: | |
86 f.close() | |
87 | |
82 return partial | 88 return partial |
83 | 89 |
84 ### Nearest subset relation | 90 ### Nearest subset relation |
85 # Nearest subset of filter X is a filter Y so that: | 91 # Nearest subset of filter X is a filter Y so that: |
86 # * Y is included in X, | 92 # * Y is included in X, |