git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Jackson <pj@sgi.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: droundy@abridgegame.org, git@vger.kernel.org, darcs-devel@darcs.net
Subject: Re: using git directory cache code in darcs?
Date: Sun, 17 Apr 2005 21:36:32 -0700	[thread overview]
Message-ID: <20050417213632.1f099ff9.pj@sgi.com> (raw)
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

  reply	other threads:[~2005-04-18  4:34 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-16 13:22 using git directory cache code in darcs? David Roundy
2005-04-16 13:31 ` Ingo Molnar
2005-04-16 14:28 ` Junio C Hamano
2005-04-16 22:43 ` Linus Torvalds
2005-04-17 12:17   ` David Roundy
2005-04-17 16:24     ` Linus Torvalds
2005-04-17 16:49       ` Mike Taht
2005-04-17 22:37       ` Nomad Arton
2005-04-17 23:23         ` Junio C Hamano
2005-04-18  2:00           ` Paul Jackson
2005-04-18  2:56       ` Paul Jackson
2005-04-18  3:06         ` Linus Torvalds
2005-04-18  4:36           ` Paul Jackson [this message]
2005-04-18  9:23             ` git options Mike Taht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050417213632.1f099ff9.pj@sgi.com \
    --to=pj@sgi.com \
    --cc=darcs-devel@darcs.net \
    --cc=droundy@abridgegame.org \
    --cc=git@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).