diff mercurial/changelog.py @ 45324:6c56277317c2

commitctx: directly pass a ChangingFiles object to changelog.add We pass the rich object to the changelog and it read the field it needs.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 25 Jul 2020 15:55:09 +0200
parents b3040b6739ce
children c6eea5804551
line wrap: on
line diff
--- a/mercurial/changelog.py	Sat Jul 25 15:49:12 2020 +0200
+++ b/mercurial/changelog.py	Sat Jul 25 15:55:09 2020 +0200
@@ -524,10 +524,6 @@
         user,
         date=None,
         extra=None,
-        p1copies=None,
-        p2copies=None,
-        filesadded=None,
-        filesremoved=None,
     ):
         # Convert to UTF-8 encoded bytestrings as the very first
         # thing: calling any method on a localstr object will turn it
@@ -559,19 +555,23 @@
                 raise error.StorageError(
                     _(b'the name \'%s\' is reserved') % branch
                 )
-        sortedfiles = sorted(files)
+        sortedfiles = sorted(files.touched)
         sidedata = None
         if self._copiesstorage == b'changeset-sidedata':
             sidedata = {}
+            p1copies = files.copied_from_p1
             if p1copies:
                 p1copies = metadata.encodecopies(sortedfiles, p1copies)
                 sidedata[sidedatamod.SD_P1COPIES] = p1copies
+            p2copies = files.copied_from_p2
             if p2copies:
                 p2copies = metadata.encodecopies(sortedfiles, p2copies)
                 sidedata[sidedatamod.SD_P2COPIES] = p2copies
+            filesadded = files.added
             if filesadded:
                 filesadded = metadata.encodefileindices(sortedfiles, filesadded)
                 sidedata[sidedatamod.SD_FILESADDED] = filesadded
+            filesremoved = files.removed
             if filesremoved:
                 filesremoved = metadata.encodefileindices(
                     sortedfiles, filesremoved