HomeSoftware Heritage

replay: Ensure copyfrom operations are properly handled

This commit no longer exists in the repository. It may have been part of a branch which was deleted.

Description

replay: Ensure copyfrom operations are properly handled

A subversion revision can contain new directories and files copied from
ancestor revisions but those were not perfectly handled in the commit
editor used to reconstruct the repository filesystem when replaying
revisions.

In particular previous implementation could not handle the case where a
path copied from an ancestor revision is replaced in a same commit (for
instance replacing a directory by a file with the same name).

These changes ensure that info about source path and source revision from
which a path is copied is passed to the commit editor methods as paramaters
in order to let them handle the copies but also that the replace operations
will be correctly replayed.

It also prevents OS error "Too many open files" when a really large files
tree is copied from an ancestor revision.

Details

Provenance
anlambertAuthored on Oct 21 2022, 6:09 PM
anlambertPushed on Oct 31 2022, 3:15 PM
Differential Revision
D8793: replay: Ensure copyfrom operations are properly handled
Build Status
Buildable 32653
Build 51153: test-and-buildJenkins console · Jenkins

Commit No Longer Exists

This commit no longer exists in the repository.