On 7/25/07, Brad Stiles <[EMAIL PROTECTED]> wrote:
> I ran into a situation today concerning the command line client and windows 
> security.  The problem is that the user (a build user performing automated 
> builds on a Windows 2003 VM) attempted to check out a file to a network share 
> and couldn't, apparently because that user doesn't have access to the share 
> root, even though it does have access to the directory into which the file 
> should be exported.
>
> The command I used was:
>
> svn export http://server/trunk/dir1/dir2/file.txt 
> \\server\share\dir1\dir2\dir3\file.txt --non-interactive --force
>
> To which svn.exe responded:
>
> svn: Error resolving case of '\\server\share\dir1\dir2\dir3\file.txt'
>
> In that tree, the user has no rights to \\server\share\, but has read/write 
> access to dir1 and below.  If, as that user, I do 'dir \\server\share', I see 
> nothing, but if I do 'dir \\server\share\dir1', I see everything just fine.
>
> Now, in our case, that shouldn't be a problem much longer because the network 
> guys are in the process of changing the access rights on that directory; the 
> build user really should have access there.  However, I don't think it's 
> unreasonable to assume that there might be a legitimate reason for such a 
> restriction.
>
> Is there something we did wrong here (aside from the rights issue) that would 
> have allowed the export to happen despite the access rights?  FWIW, 'svn 
> checkout' resulted in the same type of error.
>
> When the network guy saw it, he said, "Maybe they're using the old NT4 method 
> of stepping through the tree, rather than going straight to the location 
> specified."  Is there something in whatever layer svn is using for this that 
> accesses the tree step by step rather than as one entity?  And is it worth 
> "fixing" if it is a problem?

Well, it's an error that finds its roots in a call to
apr_filepath_merge with an argument of APR_FILEPATH_TRUENAME. Looking
at that function, it calls apr_filepath_root, which tries to isolate
the root in order to see whether it actually exists. That scheme
breaks down when there are no read/write permissions.

I have no idea whether the APR project feels this is something worth
to be fixed, or even fixeable. I cc'ed their dev@ list, to make them
aware if the weren't already.

Hope that answers your question.

bye,


Erik.

Reply via email to