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

Re: recent client-side corruptions and Alpha

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2002-07-14 02:05:46 CEST

Ben Collins-Sussman <sussman@collab.net> writes:

> 1. Suppose your working copy has file 'foo' at revision 1, and you
> modify your working file to have local mods. The working file is
> now effectively r1+M.
>
> 2. You commit, creating revision 2 on the server. But somehow, in wc
> post-commit processing you crash. You crash in such a way that
> foo's entry has it's working-revision bumped to '2', but somehow
> the old rev 1 textbase is still installed (!)
[snip[
> The question is: how does the situation is step #2 arise?
>
> Perhaps the commit succeeds, and then post-commit hook fails on the
> server... the post-commit hook error is transmitted back to the
> client, and this causes the bizarre crash scenario whereby *only* the
> working rev is bumped.

Ah, yes. Look at svn_wc_process_committed:

1. it opens a logfile
2. it calls svn_wc__entry_modify with SVN_WC__ENTRY_MODIFY_REVISION to
   immediately change the revision
3. it writes various things to the log file
4. it closes and runs the log file

Nasty things happen if 3 gets interrupted. Obviously the call to
svn_wc__entry_modify needs to be made loggy.

-- 
-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Jul 14 02:06:24 2002

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.