# HG changeset patch # User Boris Feld # Date 1517848459 -3600 # Node ID 1f2b8a644dd4db209eecf6a36bc7dc0a7ad972a7 # Parent 91b3b11565e5e9872945daac724213d9db2c992f revlog: use context manager for index file life time in __init__ This is clearer, safer and more modern. diff -r 91b3b11565e5 -r 1f2b8a644dd4 mercurial/revlog.py --- a/mercurial/revlog.py Mon Feb 05 17:22:13 2018 +0100 +++ b/mercurial/revlog.py Mon Feb 05 17:34:19 2018 +0100 @@ -621,13 +621,12 @@ indexdata = '' self._initempty = True try: - f = self._indexfp() - if (mmapindexthreshold is not None and - self.opener.fstat(f).st_size >= mmapindexthreshold): - indexdata = util.buffer(util.mmapread(f)) - else: - indexdata = f.read() - f.close() + with self._indexfp() as f: + if (mmapindexthreshold is not None and + self.opener.fstat(f).st_size >= mmapindexthreshold): + indexdata = util.buffer(util.mmapread(f)) + else: + indexdata = f.read() if len(indexdata) > 0: v = versionformat_unpack(indexdata[:4])[0] self._initempty = False