Re: [ISSUE] Cancelling svn checkout leaves an open file handle
From: Nathan Hartman <hartman.nathan_at_gmail.com>
Date: Wed, 9 Sep 2020 00:44:22 -0400
On Tue, Sep 8, 2020 at 6:08 AM Uroš Jovanović <urosh3d_at_gmail.com> wrote:
Moving this to the dev@ list...
Potentially long-running APIs such as 'checkout' allow the client to
It sounds to me like one of those places sees a cancel request and
Last night I tried to find such a place by reading code.
The 'checkout' command sets up a working copy (if necessary) and then
The 'update' logic is quite involved as it handles all sorts of
My thoughts for an automated approach, provided there is a way for a
1. Check out a working copy of a repository, giving a cancel_func 'A'
2. Loop n times, the loop counter being a global variable 'x':
2.1: Delete the working copy.
2.2: Check out a working copy of the same repository, giving a
2.3: Test whether there are open file handles. If there are, we
3. If x >= n, quit; we didn't find the problem.
4. Delete the working copy.
5. Check out a working copy of the same repository, giving a different
Notes and caveats:
1. This could run for days (or years).
2. Then again, if it can be exposed pretty reliably by a user hitting
3. I think a huge repository isn't needed. The Greek Tree used by the
4. This relies on the logic being executed identically for each
5. No idea how this could be turned into a regression test.
6. If there's a better way, I'd love to hear it!
Nathan
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.