From: Jon Seymour Date: Tue, 10 May 2005 23:20:42 GMT Subject: Re: Core and Not-So Core Message-ID: <2cfc403205051016205d722f23@mail.gmail.com> In-Reply-To: <20050510230844.GG26384@pasky.ji.cz> On 5/11/05, Petr Baudis wrote: > Dear diary, on Wed, May 11, 2005 at 01:05:55AM CEST, I got a letter > where Jon Seymour told me that... > > > > I guess I agree it is somewhat nonsensical if one considers the > > current git toolset as a collection of programs - the exercise now > > might simply reduce to classifying git tools as > > index-using/non-index-using and nothing more. However, it might be > > worth keeping in mind when/if the "libification" of git happens so > > that there is a clean separation of layers in the API between the > > repository API and index/cache/workspace API. > > In that case the repository API's input/output is data structure > equivalent to the index, and workspace API's input/output is the index > too. That is what it really is - and it is kept on the disk only since > the commands are invoked separately so it needs to keep the state around > somewhere. > Not sure I agree... The repository API would contain functionality equivalent to cat-file, ls-tree, most of fsck-cache, rev-list, rev-tree, diff-tree, most of the transport code - things that don't involve use of the index. The workspace API would contain read-tree, write-tree, commit-tree, etc - things that do involve use of the the index. jon.