diff -r 99bd5479d58b -r be520fe3a3e9 mercurial/changelog.py --- a/mercurial/changelog.py Thu Dec 15 11:14:00 2016 -0500 +++ b/mercurial/changelog.py Thu Dec 15 11:00:18 2016 -0800 @@ -79,9 +79,10 @@ self.fp = fp self.offset = fp.tell() self.size = vfs.fstat(fp).st_size + self._end = self.size def end(self): - return self.size + len("".join(self.data)) + return self._end def tell(self): return self.offset def flush(self): @@ -121,6 +122,7 @@ def write(self, s): self.data.append(str(s)) self.offset += len(s) + self._end += len(s) def _divertopener(opener, target): """build an opener that writes in 'target.a' instead of 'target'"""