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

svn cleanup --remove-unversioned throws E720005 in Windows When Attempting To Delete a Junction

From: Ace Olszowka <aolszowka_at_gmail.com>
Date: Tue, 5 May 2020 14:36:20 -0600


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)

Version Information:
Windows Server 2019
TortoiseSVN 1.13.1, Build 28686 - 64 Bit , 2019/10/31 18:49:38
ipv6 enabled
Subversion 1.13.0, -release
apr 1.7.0
apr-util 1.6.1
serf 1.3.9
OpenSSL 1.1.1d 10 Sep 2019
zlib 1.2.11
SQLite 3.29.0

Thank you,
Ace Olszowka
Received on 2020-05-05 22:36:38 CEST

This is an archived mail posted to the Subversion Users mailing list.