Recently I came across this behaviour where if I use the Cancel API to
cancel a long running checkout operation, the process running the SVN code
leaves an open file handle in the .svn\tmp folder inside the working copy.
Initially, I thought it was a SharpSvn (1.9 x64) issue, but I observed the
same behaviour using TortoiseSVN with the latest 1.14 client.
It can be easily reproduced, especially when downloading large file, the
.svn\tmp folder holds a file named "svn-XYZ123" and when the operation is
cancelled, this file still has an open handle on it, which means that the
calling process needs to be shutdown before doing anything else with that
WC since cleanup and folder deletion aren't possible. In case of
TortoiseSVN it simply means the client window needs to be closed to perform
the next operation, but when using SharpSvn in context of a larger
application, this would mean the user needs to close the entire application
because one unmanaged file handle was left alive.
I searched through reported issues on Jira and couldn't find anything
SVN client version: 1.9 and 1.14.
Platform: Windows 10 (x64)
Received on 2020-09-07 19:27:46 CEST