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

Re: config.c fixes

From
Kristian Høgsberg <krh@redhat.com>
Date
Dec 14, 2007, 20:19 UTC
Message-ID
<1197663584.615.4.camel@hinata.boston.redhat.com>
In-Reply-To
<7v3au5rrjv.fsf@gitster.siamese.dyndns.org>
On Fri, 2007-12-14 at 11:43 -0800, Junio C Hamano wrote:
Show 14 quoted lines
> Kristian Høgsberg <krh@redhat.com> writes:
> 
> > While strace'ing builtin-clone I saw this horror:
> > I think the best solution is to just parse up the entire config file
> > up front and keep it in a data structure, make the changes and then
> > write it all out at the end.
> 
> Yeah, that was what I suggested a few times when other people have done
> config writing side, but without successfully getting past their skulls
> (it is not Linus's nor my code).  It's about time somebody started to
> clean up that mess.
> 
> The timing is a bit unfortunate, though.  I would have preferred to have
> a week or so to cook this in 'next' before merging it part of -rc0.

Right, what I was describing above was more of a long term thing. I sent two patches more suitable for 1.5.4 that fixes the double close and the 1-byte writes in a less intrusive way. Except as the Johanneses point out, I can't use the lock as a local variable, but must allocate so the atexit handler doesn't break. If it has to be allocated, the API should help/enforce that. I've sent out a couple of new patches that fixes this.

Kristian
Previous: Junio C Hamano
Message 3 of 3 in “config.c fixes”
  1. Kristian HøgsbergDec 14, 2007
  2. Junio C HamanoDec 14, 2007
  3. Kristian HøgsbergDec 14, 2007

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.