Lele Gaifax lele@seldati.it writes:
Well, it seems that there is one more case. It happened right now to
me, and since I'm going to sleep, this is just to record the situation
here: the repos is very simple, and has been created a month ago, and
if needed I may eventually share it.
Actually, this is probably unrelated, because the checksum error you
got was due to checksum comparison code that has been in Subversion
since revision 1788 (Apr 2002), whose purpose is to verify the
integrity of .svn/text-base/foo.svn-base. It's entirely client-side
stuff.
There was a slight modification made to that code, because we migrated
from base64-encoded checksums to hex-encoded. That might have
something to do with the error. I'm quoting all of your recipe, to
make this easier for anyone to follow:
via http, with svn_dav 0.16.0. I was editing a new version of a
LyX document, that I wrongly created with its Save As option.
At this point, I did:
$ svn st
? AttoCostitutivo.lyx~
M PropostaStatutoSCR.lyx
? PropostaStatutoSCR.lyx~
? PropostaStatutoSCR.pdf
? PropostaStatutoSCR.ps
? PropostaStatutoSCR.txt
? StatutoSCR.lyx~
? StatutoSCR.pdf
? StatutoSCR.ps
? StatutoSCR_Compatto.lyx
? StatutoSCR_Compatto.ps
Uhm, I realized that I should have svn copied it instead, so I moved
it out of the way:
$ mv StatutoSCR_Compatto.lyx /tmp
$ svn cp StatutoSCR.lyx StatutoSCR_Compatto.lyx
$ svn st
? AttoCostitutivo.lyx~
M PropostaStatutoSCR.lyx
? PropostaStatutoSCR.lyx~
? PropostaStatutoSCR.pdf
? PropostaStatutoSCR.ps
? PropostaStatutoSCR.txt
? StatutoSCR.lyx~
? StatutoSCR.pdf
? StatutoSCR.ps
A + StatutoSCR_Compatto.lyx
? StatutoSCR_Compatto.ps
$ svn ci -m Copiato lo Statuto corrente per farne una versione
compatta StatutoSCR_Compatto.lyx
Adding StatutoSCR_Compatto.lyx
Committed revision 17.
$ cp /tmp/StatutoSCR_Compatto.lyx .
$ svn st
? AttoCostitutivo.lyx~
M PropostaStatutoSCR.lyx
? PropostaStatutoSCR.lyx~
? PropostaStatutoSCR.pdf
? PropostaStatutoSCR.ps
? PropostaStatutoSCR.txt
? StatutoSCR.lyx~
? StatutoSCR.pdf
? StatutoSCR.ps
M StatutoSCR_Compatto.lyx
? StatutoSCR_Compatto.ps
Okay. So far, everything looks good, no problems.
$ svn ci -m Reso su due colonne, eliminata la lista dei fondatori StatutoSCR_Compatto.lyx
Sending StatutoSCR_Compatto.lyx
Transmitting file data .svn: Working copy text base is corrupt
svn: Commit failed (details follow):
svn: svn_wc_transmit_text_deltas: checksum mismatch for '/home/lele/Scarambol/Documenti/.svn/text-base/StatutoSCR_Compatto.lyx.svn-base':
recorded checksum: f86e0240984a0240d81d0908a01d0908
actual checksum (hex): cb6161ca16f9984bd26b25a07c1f6b15
actual checksum (base64): y2Fhyhb5mEvSayWgfB9rFQ==
Okay, you must have been running a dev build somewhat past 0.16.1, or
you would have seen a different error text here. Furthermore, the
recorded checksum would have been in base64, since we didn't start
recording checksums in hex until after 0.16.1.
I freezed current repository (and I was surprised to find that a
tar.gz of it was 30Mb (!), starting from 46Mb, while a tar.bz2 was
just 14Mb (yes, less than half the gzipped one!)) for future
reference, and I'm building latest revision... and in a while I will
repeat the commit with newer client, then I will update the svn_dav
side of the matter... [... me lurking around waiting ...]
While waiting, I notice that the actual checksum matches that of the
text base version, while the record checksum comes from the entries
file for the working copy:
entry
committed-rev=17
name=StatutoSCR_Compatto.lyx
committed-date=2003-01-26T01:17:28.677353Z
checksum=f86e0240984a0240d81d0908a01d0908
last-author=lele
kind=file
revision=17/
Gotcha.
Ok, so now I have the latest client:
$ svn --version
svn, version 0.17.1 (dev build)
compiled Jan 26 2003, 02:55:40
and I repeat the last commit, that as I was supposing it emits the
very same message:
$ svn ci -m Reso su due colonne, eliminata la lista dei fondatori StatutoSCR_Compatto.lyx
Sending StatutoSCR_Compatto.lyx
Transmitting file data .svn: Working copy text base is corrupt
svn: Commit failed (details follow):
svn: svn_wc_transmit_text_deltas: checksum mismatch for '/home/lele/Scarambol/Documenti/.svn/text-base/StatutoSCR_Compatto.lyx.svn-base':
recorded checksum: f86e0240984a0240d81d0908a01d0908
actual checksum (hex): cb6161ca16f9984bd26b25a07c1f6b15
actual checksum (base64): y2Fhyhb5mEvSayWgfB9rFQ==
Okay, at least it's behaving consistently. Somehow the text base has
gotten corrupted, it seems. Are there any properties on this file?
Can you run 'svn pl -v StatutoSCR.lyx StatutoSCR_Compatto.lyx' and
post the output?
If you can narrow this down to a reproduction case involving just this
one file, and we can use that recipe with the exact same file, that
would be *great*.
Argh, the new client receives a plonk from the old dav, although an
svn st works:
$ svn cat http://caia:8888/svn/Scarambol/Documenti/StatutoSCR_Compatto.lyx /tmp/p.lyx
svn: RA layer request failed
svn: PROPFIND of /: Could not read status line: Connessione abbattuta dal corrispondente
Oops. Sorry about that. I'm not sure why it happened, but it's more
important to track down your (possible) text-base corruption right
now.
I'm tired, and will go on tomorrow on the server side. But as a last
try, I:
$ cd /tmp
$ mkdir p
$ cd p
$ svn co svn://caia/Scarambol .
...
Checked out revision 17.
$ cd p/Documenti
$ cp ~/Scarambol/Documenti/Statuto_SCR_Compatto.lyx .
$ svn st
M StatutoSCR_Compatto.lyx
$ svn ci -m Reso su due colonne, eliminata la lista dei fondatori StatutoSCR_Compatto.lyx
Sending StatutoSCR_Compatto.lyx
Transmitting file data .
Committed revision 18.
as expected, since svn doesn't use checksums.
svn doesn't use checksums == has no entries file to compare,
right?
A subsequent svn cat |
diff shows no differences ;-)
Ahh, okay, you can 'svn cat', so that probably means you downgraded
your client back to 0.16.1, right?
So what exactly was the diff command above? Without knowing what you
were comparing (working file? text base?), it doesn't mean much.
Thanks for the detailed report. With patience I hope we can work out
a reproduction recipe for this...
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 14 02:20:44 2006