# HG changeset patch # User Boris Feld # Date 2018-02-05 19:36:51 # Node ID fa15a70f88deac245ad2a17b3eeb1068929c6d5f # Parent 0ff41ced4c121a0de488977a2bafbdcad3eaace0 changelog: implement context manager method for 'appender' object This object mimics a file and was missing the context manager API. diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -127,6 +127,13 @@ class appender(object): self.offset += len(s) self._end += len(s) + def __enter__(self): + self.fp.__enter__() + return self + + def __exit__(self, *args): + return self.fp.__exit__(*args) + def _divertopener(opener, target): """build an opener that writes in 'target.a' instead of 'target'""" def _divert(name, mode='r', checkambig=False):