Hi All,
I have been working on trying to make subversion working copies
behave on Samba shares.
This patch seems to solve two issues that I have seen.
The problems happen after a commit when the working copy is being
updated.
The first is that a rename would sometimes fail from .svn/tmp/blah
to .svn/blah2 or .svn/dir-props to .svn/dir-props-base
The second fault would be cannot access dir/.svn/lock. Both would
report 'permission denied'.
I have managed to trace this to places in the code where
GetFileAttributes and SetFileAttributes are called.
Both of these functions suffer from the same fate as described at
the top of io.c and which the macro WIN32_RETRY_LOOP() was written
to alleviate.
The FileAttribue calls are in the apr_ routines apr_stat() and
apr_file_attrs_set().
This patch wraps these two apr_ routines in the WIN32_RETRY_LOOP()
macro.
I have patched all uses of these two routines even though I have
only managed to trace issues occurring in
svn_io_set_file_read_write() called from svn_io_file_rename() and
io_check_path().
Tests so far confirm that the issues that I have been able to
reproduce have disappeared.
Alan Wood
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-09-22 13:50:25 CEST