Re: [PATCH v4 2/2] git-svn: allow git-svn fetching to work using serf
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jul 18, 2013, 19:29 UTC
- Message-ID
- <20130718192943.GT14690@google.com>
- In-Reply-To
- <ac83ba2812aee248275a0760bb39a00@f74d39fa044aa309eaea14b9f57fe79>
(cc-ing Eric Wong, who maintains git-svn and knows both it and the libsvn perl bindings much better than I do) Kyle J. McKay wrote:
> David Rothenberger <daveroth@acm.org> has determined the cause to > be that ra_serf does not drive the delta editor in a depth-first > manner [...]. Instead, the calls come in this order:
Thanks.
Sorry to nitpick, but the problem is not depth-first versus breadth-first versus random. Blaming the traversal order makes this completely confusing. The actual problem is that the driver asks us to keep multiple files open at a time.
The approach taken in this patch would be racy if the driver calls us multiple times concurrently (since temp_acquire can fail). I believe it doesn't but haven't checked.
The approach is generally good. I wanted to propose some clearer documentation for temp_is_locked() but didn't end up finding a moment for it, so... meh. I'll be happy to help get the details right if someone else finds time for that (hint, hint).
Hope that helps, Jonathan