diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -583,13 +583,7 @@ flags = 0 sidedata = None if self._copiesstorage == b'changeset-sidedata': - if ( - files.removed - or files.merged - or files.salvaged - or files.copied_from_p1 - or files.copied_from_p2 - ): + if files.has_copies_info: flags |= flagutil.REVIDX_HASCOPIESINFO sidedata = metadata.encode_files_sidedata(files) diff --git a/mercurial/metadata.py b/mercurial/metadata.py --- a/mercurial/metadata.py +++ b/mercurial/metadata.py @@ -75,6 +75,16 @@ and self.copied_from_p2 == other.copied_from_p2 ) + @property + def has_copies_info(self): + return bool( + self.removed + or self.merged + or self.salvaged + or self.copied_from_p1 + or self.copied_from_p2 + ) + @util.propertycache def added(self): """files actively added in the changeset