When attempting to perform `svn cleanup --remove-unversioned` in
Windows with a Working Copying that contains a Junction (created on an
NTFS partition via `mklink /J`
subversion throws E720005 stating that access is denied.
We are using the svn command line tools that ship with TortoiseSVN
1.13.1 (see below for full version information)
Steps to reproduce:
1. In a Working Copy from the command line: `mklink /J TestJunction
"%TEMP%"` - This will create a folder junction called "TestJunction"
pointed to your temporary files directory (%TEMP%)
2. Perform `svn cleanup . --remove-unversioned`
3. Encounter svn: E720005: Can't remove file
'S:\REDACTED\TestJunction': Access is denied.
It is believed that this behavior is unexpected.
The built in TortoiseSVN delete unversioned items command is not
affected (`TortoiseProc.exe /command:cleanup /path:"%CD%"
/delunversioned /nodlg /noui`)
Previous bug reports (https://issues.apache.org/jira/browse/SVN-4806)
seem to indicate that there may be another corner case in
`svn_io_dir_remove_nonrecursive()` however I am not smart enough to
know if this is the case.
Directory Junctions are used in our build system to work around the
IIS Express Limitation of needing /bin/ to exist relative to the
project (see https://stackoverflow.com/a/41561435/433069)
Windows Server 2019
TortoiseSVN 1.13.1, Build 28686 - 64 Bit , 2019/10/31 18:49:38
Subversion 1.13.0, -release
OpenSSL 1.1.1d 10 Sep 2019
Received on 2020-05-05 22:36:38 CEST