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

Re: svn commit: r9085 - in trunk/subversion: include libsvn_subr libsvn_wc

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2004-03-16 23:46:44 CET

breser@tigris.org writes:

> Author: breser
> Date: Tue Mar 16 16:05:39 2004
> New Revision: 9085
>
> Modified:
> trunk/subversion/include/svn_io.h
> trunk/subversion/libsvn_subr/io.c
> trunk/subversion/libsvn_wc/adm_files.c
> trunk/subversion/libsvn_wc/adm_ops.c
> Log:
> Make svn_io_set_file_read_write() a no op on everything but Windows. We don't
> really need it on Unix. And due to the behavior of apr_file_attrs_set it does
> the equivalent of chmod a+w on Unix which is bad.
>
> * subversion/include/svn_io.h
> Document that svn_io_set_file_read_write() does nothing on Unix.

Although this is technically not an ABI change I think it needs to be
treated as such. You have just broken any application that relies on
the behavior of svn_io_set_file_read_write, and while we may not like
the interface it was documented and implemented.

I think we have to keep the old implementation under the old name, and
introduce a new function name with the new behaviour. By all means
write more explicit documentation disparaging the old interface ;-)

Note to those new to the discussion: Ben's change is really attractive
if we ignore the problem above. Not only does it reduce disk IO
(although it was too small a change to be significant last time I
measured it), it also allows multiple Unix users to share a working
copy. Oddly enough the shared working copy problem was caused by
setting files read-write rather than be setting them read-only!

There are some corner cases to shared working copies that still won't
work, but they are unlikely. To fix them when open_adm_file opens a
file with APR_WRITE it needs to use APR_EXCL and if that fails because
the file exists it needs to delete and retry.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 16 23:47:07 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.