diff --git a/mercurial/changelog.py b/mercurial/changelog.py index 0b87eb2fba67c15a8c8af7c5074a17f52056aa9c_bWVyY3VyaWFsL2NoYW5nZWxvZy5weQ==..041f042afcc51dc94b7ab9ff101c3ec4be8380b7_bWVyY3VyaWFsL2NoYW5nZWxvZy5weQ== 100644 --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -638,8 +638,16 @@ if extra is not None: for name in ('p1copies', 'p2copies', 'filesadded', 'filesremoved'): extra.pop(name, None) + if p1copies is not None: + p1copies = encodecopies(sortedfiles, p1copies) + if p2copies is not None: + p2copies = encodecopies(sortedfiles, p2copies) + if filesadded is not None: + filesadded = encodefileindices(sortedfiles, filesadded) + if filesremoved is not None: + filesremoved = encodefileindices(sortedfiles, filesremoved) if self._copiesstorage == 'extra': extrasentries = p1copies, p2copies, filesadded, filesremoved if extra is None and any(x is not None for x in extrasentries): extra = {} if p1copies is not None: @@ -641,7 +649,7 @@ if self._copiesstorage == 'extra': extrasentries = p1copies, p2copies, filesadded, filesremoved if extra is None and any(x is not None for x in extrasentries): extra = {} if p1copies is not None: - extra['p1copies'] = encodecopies(sortedfiles, p1copies) + extra['p1copies'] = p1copies if p2copies is not None: @@ -647,3 +655,3 @@ if p2copies is not None: - extra['p2copies'] = encodecopies(sortedfiles, p2copies) + extra['p2copies'] = p2copies if filesadded is not None: @@ -649,3 +657,3 @@ if filesadded is not None: - extra['filesadded'] = encodefileindices(sortedfiles, filesadded) + extra['filesadded'] = filesadded if filesremoved is not None: @@ -651,5 +659,5 @@ if filesremoved is not None: - extra['filesremoved'] = encodefileindices(sortedfiles, filesremoved) + extra['filesremoved'] = filesremoved if extra: extra = encodeextra(extra)