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

Re: svn commit: r13312 - branches/wc-replacements/subversion/libsvn_wc

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2005-03-09 22:28:36 CET

Ben Reser <ben@reser.org> writes:

> What we need is a private function that does what svn_wc_add does but
> understands how to handle installing the admin files for us. Then the
> copy operation can use it. That private function would copy the admin
> files to their tmp locations and then write a log that modifies entries
> and renames the files into their proper location.
>
> To avoid code duplication the private function would need to handle the
> normal svn_wc_add cases so svn_wc_add can just be the public stub.
>
> This allows an interrupted operation to be completed by cleanup. If a
> user tried to repeat the operation after an interrupted operation then
> the wc would be locked and they'd be told to run cleanup...
>
> Do you agree that this would resolve the problem?

I think it would. It would also make the normal add path "loggy",
which isn't the case at present. That could be a problem if it makes
add slower as users do want to be able to run add on large sets of
files and such operations tend to be slow enough already.

On the other hand it's possible that add is one of the existing places
where we don't get atomic operations right at present, it's one of our
oldest functions. Look at the bit that calls __do_update_cleanup,
what happens if the client is interrupted before that gets done?

I've been trying to remember where our current atomic problem areas
lie, as far as I can recall some of the deleted="true" handling is
suspect, and possibly the incomplete="true" as well.

-- 
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 9 22:29:51 2005

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.