Page MenuHomeSoftware Heritage

Save code now fails on a svn project
Closed, MigratedEdits Locked

Description

A save code now request failed on svn://scm.gforge.inria.fr/svn/simgrid/contrib/trunk/GTNetS/

Here is the error reported

[2020-05-07 11:14:45,752: ERROR/ForkPoolWorker-1] Loading failure, updating to partial status
Traceback (most recent call last):

File "/usr/lib/python3/dist-packages/swh/loader/core/loader.py", line 300, in load
  self.prepare(*args, **kwargs)
File "/usr/lib/python3/dist-packages/swh/loader/svn/loader.py", line 743, in prepare
  root_dir=self.temp_dir)
File "/usr/lib/python3/dist-packages/swh/loader/svn/utils.py", line 126, in init_svn_repo_from_dump
  raise e
File "/usr/lib/python3/dist-packages/swh/loader/svn/utils.py", line 122, in init_svn_repo_from_dump
  project_name)

ValueError: Failed to mount the svn dump for project tmp5q0rvamh

Event Timeline

rdicosmo triaged this task as Normal priority.May 7 2020, 6:10 PM
rdicosmo created this task.

After retrying to load the repository manually, the real cause of the dump that failed to mount is the following:

svnadmin: E125005: Valeur d'une propriété invalide dans le flot de sauvegarde ; envisager de corriger la source ou utiliser l'option --bypass-prop-validation au chargement.
svnadmin: E125005: Propriété 'svn:log' refusée car non codée en UTF-8

Passing the --bypass-prop-validation option effectively fixes the loading issue.
I think we should use it as we already handle properties decoding errors in the loader implementation.

Oh and I found another bug in the subversion loader while testing (D3136).

Thanks for diving into this.

This error is also interesting...

svnadmin: E125005: Propriété 'svn:log' refusée car non codée en UTF-8

Indeed, as we import old svn repositories, we'll definitely run into touble with mor recent versions of svn that are imposing more restrictions on the structure of the repositories.
As an archive, I agree we need to disable all these sanity checks: we want to archive as much source code as possible.