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

Re: Windows build severly broken due to read-only issues...

From: Branko Čibej <brane_at_xbc.nu>
Date: 2002-02-10 14:25:41 CET

Jay, thanks for your analysis, it's extremely valuable!

Which leads to a short sermon: In the past few weeks a lot of new stuff
has gone into the code, mostly in the shape of fixes for bite-sized
tasks. In hindsight, most of those changes were poorly thought out, at
least as far as portability is concerned. Both copy-with-permissions and
readonly admin files have managed to hose the Win32 build. While the
file copy part is arguably an APR concern, the read-only file part is
not. I think we have to be more careful about what goes in the code,
otherwise we'll have a 1.0 that works on (some flavours of) Unix and
nowhere else.

Although I do try to keep up with the proposed patches, the sad fact is
that one pair of eyes and a limited amount of time is simply not enough.
That's why I find Jay's analysis of this particular problem so valuable.
It's also a bit discouraging that people seem to overlook the broad
picture so easily and think in terms of Unixy semantics instead. QED,
that won't work for long.

I do understand that thinking beyond "worksforme" makes it harder for
many people to contribute, and I'm not criticising these contributions
themselves. But I'm starting to see a trend here, and the closer we are
to 1.0 in terms of functionality, the worse it'll get, unless we do
something about it.

/me dons his asbesthos suit

    Your friendly neighbout insomniac,
        Brane

Jay Freeman (saurik) wrote:

>I got inspired to work more on that Subversion shell extension (thought
>I'd try to get the property page working to allow for easier property
>editing). So, I've been spending the last few hours trying to get the
>latest code to work on Windows to no avail. The first thing I noticed
>was that apr_file_attrs_set() wasn't implemented on Windows, so I
>implemented it and sent a patch to APR. Then, APR_EXCL is being passed
>to svn_wc__open_adm_file() for .svn/tmp/entries
>
>libsvn_wc/entries.c:930
> /* Open entries file for writing. */
> SVN_ERR (svn_wc__open_adm_file (&outfile, path, SVN_WC__ADM_ENTRIES,
> (APR_WRITE | APR_CREATE | APR_EXCL),
> pool));
>
>The file is already created, however, so this fails. I tried commenting
>out the APR_EXCL part, and I got a little farther. Now I get a failure
>on this line:
>
>libsvn_ra_dav/fetch.c:1010
> /* store the activity URL as a property */
> err = (*editor->change_dir_prop)(this_baton, act_url_name,
> act_url_value);
>
>*about 10 minutes passes as Jay decides to allocate more time to a
>hunch*
>
>Ok, I figured out what was going on. It gets all the way to
>close_adm_file() and fails on:
>
>libsvn_wc/adm_files.c:685
> /* Rename. */
> apr_err = apr_file_rename (tmp_path->data, path->data, pool);
>
>That is trying to copy dir-wcprops from .svn/tmp to .svn. This is dying
>with ERROR_ACCESS_DENIED. Adding some more break points in the right
>places shows this is happening on a lot of renames, this is just the
>first one that causes a fatal error. The issue is that svn is trying to
>rename a file on top of a file that was previously marked read-only,
>which is a no-no on Windows, even though I believe that concept works on
>Unix (as the file is still delete-able if the directory itself is marked
>writable).
>
>I couldn't find an anti-equivilant of svn_io_set_file_read_only, so I am
>giving up the quest and checking back in with the mailing list :).
>
>Sincerely,
>Jay Freeman (saurik)
>saurik@saurik.com
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: dev-help@subversion.tigris.org
>

-- 
Brane Čibej   <brane_at_xbc.nu>   http://www.xbc.nu/brane/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:06 2006

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.