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

Re: Nasty double-replace copy-on-update bug

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: 2007-10-19 20:27:39 CEST

On 10/19/07, Philip Martin <philip@codematters.co.uk> wrote:

> I think you could make the test pass by avoiding copying the
> committed-rev, so that the temporary became alpha@-1, and by making
> locate_copyfrom recognise that -1 is not valid committed-rev. Then
> when attempting to construct aardvark@3 the code would retrieve
> alpha@1 from the repository. Although the test might pass it would
> *not* fix the problem that the working copy is temporarily in an
> invalid state.

Thanks for the clear explanation.

So yes, the original bug has revealed a bigger bug: that it's
inherently unsafe to execute the parent's log in the middle of the
add_file() operation. I'm currently executing the parent's log
manually after calling close_file() so that the file "actually
exists", so that the server's apply_textdelta() successfully applies.

If I were to remove this forced log execution, I'd have to come up
with some clever way of allowing the textdelta to apply against the
not-quite-real-yet file. Hm.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Oct 19 20:27:48 2007

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