Page MenuHomeSoftware Heritage

replay: Ensure proper removal of external paths when deleting directory
ClosedPublic

Authored by anlambert on Oct 25 2022, 3:22 PM.

Details

Summary

It exists some subtle cases in subversion repositories where external
paths defined on different directories can overlap so update replay
module implementation to handle those and avoid to erroneously remove
paths when replaying revisions.

This fixes the loading of https://svn.code.sf.net/p/loconetovertcp/svn reported in SWH-LOADER-SVN-2Y.

Diff Detail

Repository
rDLDSVN Subversion (SVN) loader
Branch
externals-fix-overlapping-paths-removal
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 32569
Build 51016: Phabricator diff pipeline on jenkinsJenkins console · Jenkins
Build 51015: arc lint + arc unit

Event Timeline

Build is green

Patch application report for D8767 (id=31616)

Rebasing onto 790fb183f1...

Current branch diff-target is up to date.
Changes applied before test
commit 8c709079ce28cdaec271a8c34cf6ac82ab589fe3
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Oct 25 11:20:38 2022 +0200

    replay: Ensure proper removal of external paths when deleting directory
    
    It exists some subtle cases in subversion repositories where external
    paths defined on different directories can overlap so update replay
    module implementation to handle those and avoid to erroneously remove
    paths when replaying revisions.

See https://jenkins.softwareheritage.org/job/DLDSVN/job/tests-on-diff/342/ for more details.

This revision is now accepted and ready to land.Oct 25 2022, 3:42 PM