subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Myria <myriac...@gmail.com>
Subject Re: SHA-1 collision in repository?
Date Sat, 24 Feb 2018 00:09:20 GMT
On Fri, Feb 23, 2018 at 2:50 PM, Philip Martin <philip@codematters.co.uk> wrote:
> Stefan Sperling <stsp@elego.de> writes:
>
> I think this might be the case since you mentioned earlier that you
> could not find a file with the given checksum.  The checksums apply to
> the repository format, i.e. before keyword/eol transformation, and if
> you were calculating checksums from working copy files the values would
> be different.
>
> One way to check repository format checksums is to use "svn info" on
> working copy files.  The checksum reported for one of the files modified
> in r604440 should be db11617ef1454332336e00abc311d44bc698f3b3
>

db11617ef1454332336e00abc311d44bc698f3b3 is the SHA-1 of the actual
pixel shader file I'm trying to commit; in other words, it doesn't
seem to be a hash of a special format.  Similarly,
c9f4fabc4d093612fece03c339401058 is its MD5.

>
>>> Melissa
>>
>> Hi Melissa,
>>
>> What is the output of the 'svnadmin verify' commands which Philip
>> wrote about above?
>
> That does require server access.
>

I had our server admin run the commands:

[root@meow ~]# svnadmin verify -r604440 /srv/subversion/repositories/meow/
* Verifying repository metadata ...
* Verified revision 604440.
[root@meow ~]# svnadmin verify -r605556 /srv/subversion/repositories/meow/
* Verifying repository metadata ...
* Verified revision 605556.

("meow" replacing confidential names.  No I don't know why the server
admin is running svnadmin as root >.<)

> Since you refer to the r604440 content does that mean you can
> successfully checkout, or update to, that revision?  If so that would
> indicate that the revision is not corrupt in the repository.

I was able to branch (svn copy) the affected branch to a new branch,
and committing the same file to the new branch has the same error.
Checking out that revision works fine; only that commit is affected.

I started an svnsync yesterday to clone the repository to my desktop
machine.  It's at revision ~150000 now, so maybe on Monday or Tuesday
I'll be able to try things safely on my local machine.

Once it's on my local machine, I'll be able to compile TortoiseSVN and
debug it while pointing to a file:// repository.  (TortoiseSVN instead
of command-line svn because TortoiseSVN is compiled with Visual C++
and is therefore many times easier to debug.)

Melissa

Mime
View raw message