You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Daniel Shahaf <d....@daniel.shahaf.name> on 2015/10/01 00:16:40 UTC

Re: Data lost in a subversion repository

thomas wrote on Tue, Sep 29, 2015 at 17:12:10 +0200:
> The repository was stored at a personal directory and is damaged.
> This means, some revision files are missing.
> 
> The repository uses the fsfs format 6 layout sharded 1000.
> 
> We have a working copy of the project in the last version.
> 
> Do you know any possibility, to extract datas from the /revs
> directory. We do not expect to get all datas back, but we would be
> happy, to get some diffs back from this files.

The .svn/pristine/ dir might contain cached fulltexts of files at
revisions older than HEAD.  rep-cache.db maps checksums of fulltexts to
the revision in which that fulltext first appeared.  By combining these
two you might be able to fill specific files from the missing revisions.

Since newer revisions are stored against deltas against older revisions,
and since deltas cannot be applied in reverse, you won't be able to
derive versions of files in revisions you don't have from .svn/pristine/
caches of files in revisions whose rev files you do have.

(More accurately: deltas cannot be *completely* applied in reverse; it's
possible to apply a delta in reverse if not obtaining all bytes of the
original file is an acceptable result.)

Daniel