Mercurial > public > mercurial-scm > hg-stable
diff mercurial/changelog.py @ 45574:7543b5072e84
sidedata: add a `decode_files_sidedata` function
Right now the function mostly gather existing code to build a consistent object.
However having this function allow us prepare all user code independently from
the actual side data format change (and associated encoding/decoding changes)
Strictly speaking, we could not need to passe the sidedata explicitly since we
have access to it though the `changelogrevision` object. However, the short
term goal is to drop that first parameter to only pass the sidedata binaries.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 23 Sep 2020 15:13:44 +0200 |
parents | 9a3563b46f52 |
children | 48c93a0b2acb |
line wrap: on
line diff
--- a/mercurial/changelog.py Tue Sep 15 15:37:32 2020 +0200 +++ b/mercurial/changelog.py Wed Sep 23 15:13:44 2020 +0200 @@ -306,13 +306,16 @@ def changes(self): if self._changes is not None: return self._changes - changes = metadata.ChangingFiles( - touched=self.files or (), - added=self.filesadded or (), - removed=self.filesremoved or (), - p1_copies=self.p1copies or {}, - p2_copies=self.p2copies or {}, - ) + if self._cpsd: + changes = metadata.decode_files_sidedata(self, self._sidedata) + else: + changes = metadata.ChangingFiles( + touched=self.files or (), + added=self.filesadded or (), + removed=self.filesremoved or (), + p1_copies=self.p1copies or {}, + p2_copies=self.p2copies or {}, + ) self._changes = changes return changes