This information is basically all we needed to resolve. The additional call to obtain more fileinfo cannot resolve a root dir. It could, if we transform the path \\?\c:\ to \\.\c: (the device c). Looking at this further tomorrow after some family hangout time tonight.
Thanks for this level of detail! Bill On Thu, Apr 23, 2020 at 7:00 PM Johan Corveleyn <jcor...@gmail.com> wrote: > On Wed, Apr 15, 2020 at 4:48 PM Johan Corveleyn <jcor...@gmail.com> wrote: > > > > On Wed, Apr 15, 2020 at 3:51 PM William A Rowe Jr <wr...@rowe-clan.net> > wrote: > > > > > > Interesting. > > > > > > Not being familiar with the subversion code, it would be helpful to > see what args > > > are being passed to the offending (offended) apr_stat call, so we can > investigate > > > the behavior of APR 1.7.0 (or trunk) further. > > > > Understood. I'll try to dig into this a bit in the coming days. > > Okay, I finally got around to this. > > Subversion indeed performs an apr_stat call with the following flags [1]: > > apr_int32_t wanted = APR_FINFO_TYPE | APR_FINFO_LINK > | APR_FINFO_SIZE | APR_FINFO_MTIME; > > The call to apr_stat happens on line 4464 in libsvn_subr/io.c [2]: > > status = apr_stat(finfo, fname_apr, wanted, pool); > > Apparently this call succeeds with apr 1.6.5 (on Windows), with > fname_apr="C:/" and wanted as above (I added a screenshot from the VS > Debugger to illustrate). The returned filetype is APR_DIR, etc ... > > But the call fails with apr 1.7.0, returning status == 720002 (see > second screenshot, FWIW). Is Subversion doing something wrong here? > Passing incorrect flags or something like that? > > [1] > https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?revision=1875971&view=markup#l3149 > [2] > https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?revision=1875971&view=markup#l4464 > > -- > Johan >