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

Re: [PATCH 0/2] allow git-svn fetching to work using serf

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jul 7, 2013, 17:53 UTC
Message-ID
<20130707175316.GB9975@google.com>
In-Reply-To
<51D8E40F.2020008@acm.org>

(cc-ing users@ as requested by danielsh) David Rothenberger wrote:

> On 7/6/2013 5:28 PM, Jonathan Nieder wrote:
Show 9 quoted lines
>> Is there a simple explanation of why violating the depth-first
>> constraint would lead to multiple blob (i.e., file, not directory)
>> deltas being opened in a row without an intervening close?
>
> I believe serf is doing the following for a number of files in parallel:
>  1. open_file
>  2. apply_textdelta
>  3. change_file_prop, change_file_prop, ...
>  4. close_file

Ah, that makes more sense. It is not about traversal order but about processing multiple non-directory files in parallel, and step (3) potentially involving a large number of property changes means that it can make sense not to take a lock.

Perhaps the reference documentation could warn about this?

On the git-svn side, it looks like we have enough information to make a more complete commit message or in-code comment so the reason for multiple git_blob tempfiles is not forgotten. Thanks for your patient explanations.

Jonathan
Previous: David Rothenberger
Message 9 of 9 in “allow git-svn fetching to work using serf”
  1. 0/2 allow git-svn fetching to work using serfKyle McKay, Jul 6, 2013
  2. David RothenbergerJul 6, 2013
  3. Jonathan NiederJul 7, 2013
  4. Kyle McKayJul 7, 2013
  5. Jonathan NiederJul 7, 2013
  6. Kyle McKayJul 7, 2013
  7. Jonathan NiederJul 7, 2013
  8. David RothenbergerJul 7, 2013
  9. Jonathan NiederJul 7, 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.