From patchwork Tue May 20 21:00:31 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [stable] changelog: ensure changelog._delaybuf is initialized From: Pierre-Yves David X-Patchwork-Id: 4846 Message-Id: <33b18d495eaf872bcd8b.1400619631@marginatus.alto.octopoid.net> To: mercurial-devel@selenic.com Cc: pierre-yves.david@ens-lyon.org Date: Tue, 20 May 2014 14:00:31 -0700 # HG changeset patch # User Pierre-Yves David # Date 1400619308 25200 # Tue May 20 13:55:08 2014 -0700 # Branch stable # Node ID 33b18d495eaf872bcd8b4feab704b4b6e147fa6a # Parent 235ed8ca9a16f6231fc5c3bf1346cc1a25430c8c changelog: ensure changelog._delaybuf is initialized The ``localrepo.writepending`` method is using the ``changelog._delaybuff`` attribute to know if it has anything to do. However the ``changelog._delaybuff`` is never initialised at ``__init__`` time. This can lead to crash when using bundle2 for part that never touch the changelog. We simply initialize it to its base value. This is scheduled for stable as it both trivial and blocking for experimenting with bundle2. diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -125,10 +125,11 @@ class changelog(revlog.revlog): # changelogs don't benefit from generaldelta self.version &= ~revlog.REVLOGGENERALDELTA self._generaldelta = False self._realopener = opener self._delayed = False + self._delaybuf = [] self._divert = False self.filteredrevs = frozenset() def tip(self): """filtered version of revlog.tip"""