Stefan Küng wrote on Fri, 25 May 2018 17:37 +0200: > Can anyone comment on this please?
I'm not familiar with the Windows side of things, but I gave the patch a spin. If I do 'mv .svn x; ln -s x .svn', things seem to work. However, if the target of the '.svn' symlink isn't in the same directory as the symlink, 'status' just shows everything with '!' status. I didn't check, but if I'd done 'ln -s ../../.svn subversion/tests/.svn' and run 'status' in subversion/tests/, I assume it would confuse trunk/README and trunk/subversion/tests/README (due to having the same basename). It also has a test failure, attached. > On Fri, May 18, 2018 at 10:29 PM Stefan Kueng <[email protected]> wrote: > > > Hi, > > > > It seems that svn doesn't handle reparse points properly in all > > situations. Which causes big problems for TSVN when a working copy is on > > a Onedrive folder. > > > > See here for more details: > > https://groups.google.com/d/msg/tortoisesvn/hlQj5OifhBg/RX_cw_sQCgAJ > > > > While in this particular situation, other svn clients are not affected, > > it still means that there's a problem. > > > > I've attached a patch for handling reparse points better when detecting > > and reading the working copy database. With this change, the TSVN > > context menu shows up properly. > > > > But while I was trying to figure out this particular problem I noticed > > that svn_io_check_path() never tries to resolve the reparse points. Why > > is that? I mean if we need to check for links/reparse-points there's > > svn_io_check_special_path(). Also, svn_io_check_path() always returns > > node_file for reparse points, even if they point to directories. I, too, would expect stat() to return 'directory' for a symlink to a directory. > > IMHO handling links/reparse-points specially is only required in very > > specific situations, like adding them. In most cases, resolving the > > links/reparse points is what should be done. Or am I missing something > > big here? This is a very general statement ("most code should use stat() rather than lstat()"). What specifically are you proposing to do? Cheers, Daniel
special-tests-23.out
Description: Binary data

