--- a/mercurial/metadata.py Sat Jul 25 15:55:09 2020 +0200
+++ b/mercurial/metadata.py Sat Jul 25 16:02:26 2020 +0200
@@ -254,6 +254,30 @@
return None
+def encode_copies_sidedata(files):
+ sortedfiles = sorted(files.touched)
+ sidedata = {}
+ p1copies = files.copied_from_p1
+ if p1copies:
+ p1copies = encodecopies(sortedfiles, p1copies)
+ sidedata[sidedatamod.SD_P1COPIES] = p1copies
+ p2copies = files.copied_from_p2
+ if p2copies:
+ p2copies = encodecopies(sortedfiles, p2copies)
+ sidedata[sidedatamod.SD_P2COPIES] = p2copies
+ filesadded = files.added
+ if filesadded:
+ filesadded = encodefileindices(sortedfiles, filesadded)
+ sidedata[sidedatamod.SD_FILESADDED] = filesadded
+ filesremoved = files.removed
+ if filesremoved:
+ filesremoved = encodefileindices(sortedfiles, filesremoved)
+ sidedata[sidedatamod.SD_FILESREMOVED] = filesremoved
+ if not sidedata:
+ sidedata = None
+ return sidedata
+
+
def _getsidedata(srcrepo, rev):
ctx = srcrepo[rev]
filescopies = computechangesetcopies(ctx)