[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Checksum mismatch error during large commit

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2004-03-24 18:03:01 CET

"David Haas" <dhaas@nbstech.com> writes:

> Just for the heck of it, I ran ethereal and captured the data between my
> client and the server. The checksum is being sent correctly from the server.
> So somehow the client messes it up when writing it to the entries file. Is
> this in the APR library? This is being built from the subversion apr
> subdirectory.
>
> Any ideas on further debugging I can do? I really want to make this work.

The checksum stored in the working copy gets calculated by the svn
client when the text-base is installed in the working copy. If you
are capable of debugging it then take a look at the function
libsvn_wc/update_editor.c:install_file around line 2174. The call to
svn_io_file_checksum should calculate the checksum of the new
text-base and the value should get written into the log file. The log
file works as follows, first it get written as .svn/tmp/log, then it
gets moved to .svn/log and finally svn_wc__run_log is invoked to
"execute" the commands in the log file. The checksum is calculated by
calling APR functions, I don't really understand how it could get it
wrong.

Hmm, I wonder if this is one of those binary/text file problems that
affects Unix-like code on Windows? I don't know much about Windows or
cygwin, I suppose you could try APR_READ|APR_BINARY instead of
APR_READ in svn_io_file_checksum.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Mar 24 18:03:30 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.