subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philip Martin <>
Subject Re: SHA-1 collision in repository?
Date Sat, 24 Feb 2018 01:42:02 GMT
Philip Martin <> writes:

> There are a couple of options:
>   A) disable rep-caching by editing fsfs.conf inside the repository
>   B) reset the mapping by deleting/renaming the file db/rep-cache.db
>      inside the repository (but please rename rather than delete if you
>      want to help us identify the corruption)
> Doing either of these should allow the commit to succeed.

To verify the corruption start with the rep-cache:

  sqlite3 db/rep-cache.db "select * from rep_cache where hash='db11617ef1454332336e00abc311d44bc698f3b3'"

That should give you five numbers: the hash, the revision (604440), the
offset, the size and the expanded size.

Then examine the revision file for r604440.  It could be unpacked:

  grep -a "^text: 604440.*/_" db/revs/604/604440

or packed:

  grep -a "^text: 604440.*/_" db/revs/604.pack/pack

One of the lines from grep should contain the hash and that line should

  text: 604440

followed by three more numbers then hashes and other stuff.  The three
numbers are the offset, size and expanded size and should match the
values from the rep-cache but I suspect the rep-cache has the wrong


View raw message