git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

Previous: Kyle J. McKayNext: Kyle J. McKay
Message 4 of 8 in “allow git-svn fetching to work using serf”
  1. 0/2 allow git-svn fetching to work using serfKyle J. McKay, Jul 18, 2013
  2. 1/2 Git.pm: add new temp_is_locked functionKyle J. McKay, Jul 18, 2013
  3. 2/2 git-svn: allow git-svn fetching to work using serfKyle J. McKay, Jul 18, 2013
  4. Jonathan NiederJul 18, 2013
  5. Kyle J. McKayJul 18, 2013
  6. Eric WongJul 18, 2013
  7. Junio C HamanoJul 18, 2013
  8. Kyle J. McKayJul 19, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.