Hi Daniel,

Not sure what are "relevant pools", I am not really too familiar with SVN :)

Attached below is a minimal reproduction case.
It is a C# winforms app with Check and Cancel button (.NET 4.8 with
SharpSvn 1.9 x64 nuget)

You would just need to type in some real svn repo address in Form1.cs in
order to start the checkout process.
I advise choosing the repo with large files which take time to download.

Then, mid downloading some of the larger files a temp file will appear in
.svn\tmp. Once that happens, hit the Cancel button.
It will signal the cancellation to the svn client and it will throw the
SvnOperationCanceledException, the SvnClient gets disposed BUT an open file
handle remains on ".svn\tmp\svn-XYZ123" file.
If you try to delete it, Windows will complain that it is used by our test
app. :(

Let me know if you need any further assistance.

Best regards,
Uros


On Tue, Sep 8, 2020 at 12:51 AM Daniel Shahaf <d...@daniel.shahaf.name>
wrote:

> Uroš Jovanović wrote on Mon, 07 Sep 2020 19:25 +0200:
> > 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.
>
> Have you tried clearing the relevant pools?
>
> Could you help debugging this?  (E.g., write a reproduction recipe or
> a test case or track down where in the code the file gets opened.)
>
> Cheers,
>
> Daniel
>

<<attachment: SharpSvnTests.zip>>

Reply via email to