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

Re: bug? "Delta source ended unexpectedly"

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2002-12-18 14:43:42 CET

cmpilato@collab.net writes:

> > And now it happens consistently when I type 'svn up'.
> >
> > So, if there's something someone wants me to do, just holler.
> Try to narrow down where the problem is. Can you 'svn up' the
> 'tools' directory? Or the 'tools/cvs2svn' directory? If you can,
> find a single file that fails in this fashion.
> Then, post two things to the list:
> (1) `svn st -v file_that_wont_update`
> (2) The contents of ".svn/wcprops/file_that_wont_update.svn-work"

Karl is right, though: many people have seen failed updates before
("delta source ended unexpectedly", or worse... a munged working
file). The reason has *always* been because of a messed up wcprop
cache. It's becoming a FAQ at this point.

How it works: when you checkout a file, ra_dav stores a url cache
which uniquely identifies the created-rev/path pair. Later, when you
update the file, ra_dav asks mod_dav_svn for a binary diff against
that specific cached url.

Why we have it: caching the unique url saves a couple of network
round trips. If not present, it's rederived anyway.

How it goes wrong: we've had some bugs in the past whereby 'svn
switch' hasn't properly rewritten (or deleted) the caches. Obviously,
this problem can come back and bite you months later: ra_dav ends up
asking for a diff against a file that you don't have.

The solutions:

1. the immediate solution is to just cd into .svn/wcprops in the
   offending directory, and delete everything. The caches will be
   rebuilt as necessary.

2. If you're really paranoid, you can simply checkout a whole new
   working copy with today's latest svn client. (I did that a few
   weeks ago, and I've not had any problems updating anything.)

3. Karl is working on getting checksums moving back and forth between
   client and server, so that if this happens again, you'll get a big
   fat checksum error, rather than a working file with weird data.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Dec 18 14:52:31 2002

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