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

Re: using git directory cache code in darcs?

From
PJPaul Jackson <pj@sgi.com>
Date
Apr 18, 2005, 04:36 UTC
Message-ID
<20050417213632.1f099ff9.pj@sgi.com>
In-Reply-To
<Pine.LNX.4.58.0504172005450.7211@ppc970.osdl.org>
> Not until all the data structures are really really stable.

Fine by me to wait, though perhaps not for the same reason, and perhaps not as long.

A libgit.so can deal with data structure changes just as well as a set of command line utilities. So long as everything funnels through one place, you can change by changing that one place.

However I am willing to agree that its not libgit time yet, for two reasons:

 1) everyone who has two clues on the subject is too busy and
    too productive on more pressing git issues, and
 2) in addition to internal data structures being not yet stable,
    I suspect that the operations (git commands, options and
    behaviour) are also not stable.

The first step of a good libgit is not coding to the internal data structures, but rather designing the interface (the operations, arguments, data types, and behaviour).

So, until people have time, and the interface ops are settled down, its too early to design libgit. Or at least too early to publish a design and seek concensus. If I had the time the first thing I'd be doing right now would be designing libgit on the side, anticipating the day when it was time to publish a draft and engage the community discussion that leads to an adequate concensus.

===

By the way, a good libgit design, in my view, would isolate the data structures written to files below .git from the data structures presented at the library API, to some extent. Changes in the file structures must be handled without disrupting the library API.

If a libgit API didn't isolate the library caller from details of the structures in files below .git, then yes you'd want really really stable data structures, impossibly stable in fact. That way leads to hacks and workarounds in the future, because the data structures are never perfectly stable.

-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@engr.sgi.com> 1.650.933.1373, 1.925.600.0401
Previous: Linus TorvaldsNext: Mike Taht
Message 13 of 14 in “using git directory cache code in darcs?”
  1. David RoundyApr 16, 2005
  2. Ingo MolnarApr 16, 2005
  3. Junio C HamanoApr 16, 2005
  4. Linus TorvaldsApr 16, 2005
  5. David RoundyApr 17, 2005
  6. Linus TorvaldsApr 17, 2005
  7. Mike TahtApr 17, 2005
  8. Nomad ArtonApr 17, 2005
  9. Junio C HamanoApr 17, 2005
  10. Paul JacksonApr 18, 2005
  11. Paul JacksonApr 18, 2005
  12. Linus TorvaldsApr 18, 2005
  13. Paul JacksonApr 18, 2005
  14. git optionsMike Taht, Apr 18, 2005

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.