From: Chuck Lever <cel@citi.umich.edu>
To: gitzilla@gmail.com
Cc: git@vger.kernel.org
Subject: Re: [PATCH 00/22] cache cursors: an introduction
Date: Mon, 12 Sep 2005 12:37:42 -0400 [thread overview]
Message-ID: <4325AED6.8050401@citi.umich.edu> (raw)
In-Reply-To: <4325A0D9.2000806@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1931 bytes --]
A Large Angry SCM wrote:
> Since you are proposing an API, some basic documentation about how to
> use the API would be nice. Comments in cache.h seems the best place, for
> now.
actually it might be best to have a list discussion first. if i can
answer questions and provide a few explanations here, the list archive
might be a reasonable resting place for documentation.
the API is fairly simple and is documented via the function names.
there isn't a whole lot of function-level documentation in the git code
base that i have seen, so i erred on the side of less is more.
the first patch "introduce-cache-cursors provides most of the interface,
and the subsequent patches demonstrate how to use it by changing parts
of the git C code base to use the interface instead.
the main pieces are:
+ struct cache_cursor
which describes a position in the cache.
+ init_cc
which sets the given cursor to the top of the cache.
+ cc_to_ce
which extracts the cache entry that a cursor refers to.
+ next_cc, prev_cc, cache_eof
which allow cursor movement.
+ next_name
which skips to the next unique name in the cache.
+ walk_cache
which calls a function for each entry in the cache, in order. the given
function is responsible for moving the cursor to the next position
before returning.
+ cache_find_name
which returns a cache cursor pointing to the found entry or to the entry
which can be used as an insertion point if nothing matches.
+ cache_find_entry
which is a wrapper around cache_find_name that returns an entry instead
of a position.
> The sentence "This patch series is against the "proposed updates"
> branch, as of a couple of days ago." should have also included a commit
> ID. That way we would know where/when the patches would apply cleanly
> for testing and dissection.
i'm a dork.
6ae3d6e6d0f87cfa75b4bf213a485ff687defce8
i will include the base ref in my future postings.
[-- Attachment #2: cel.vcf --]
[-- Type: text/x-vcard, Size: 439 bytes --]
begin:vcard
fn:Chuck Lever
n:Lever;Charles
org:Network Appliance, Incorporated;Linux NFS Client Development
adr:535 West William Street, Suite 3100;;Center for Information Technology Integration;Ann Arbor;MI;48103-4943;USA
email;internet:cel@citi.umich.edu
title:Member of Technical Staff
tel;work:+1 734 763 4415
tel;fax:+1 734 763 4434
tel;home:+1 734 668 1089
x-mozilla-html:FALSE
url:http://www.monkey.org/~cel/
version:2.1
end:vcard
next prev parent reply other threads:[~2005-09-12 16:37 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-12 14:55 [PATCH 00/22] cache cursors: an introduction Chuck Lever
2005-09-12 14:55 ` [PATCH 01/22] introduce facility to walk through the active cache Chuck Lever
2005-09-12 14:55 ` [PATCH 02/22] use cache iterator in checkout-index.c Chuck Lever
2005-09-12 14:55 ` [PATCH 03/22] teach diff.c about cache iterators Chuck Lever
2005-09-12 14:55 ` [PATCH 04/22] teach diff-index.c " Chuck Lever
2005-09-12 14:55 ` [PATCH 05/22] teach diff-files.c " Chuck Lever
2005-09-12 14:55 ` [PATCH 06/22] teach diff-stages.c " Chuck Lever
2005-09-12 14:55 ` [PATCH 07/22] teach fsck-objects.c to use " Chuck Lever
2005-09-12 14:56 ` [PATCH 08/22] teach ls-files.c " Chuck Lever
2005-09-12 14:56 ` [PATCH 09/22] teach read-tree.c " Chuck Lever
2005-09-12 14:56 ` [PATCH 10/22] teach update-index.c about cache cursors Chuck Lever
2005-09-12 14:56 ` [PATCH 11/22] teach write-tree.c to use cache iterators Chuck Lever
2005-09-12 14:56 ` [PATCH 12/22] simplify write_cache() calling sequence Chuck Lever
2005-09-12 14:56 ` [PATCH 13/22] move purge_cache() to read-cache.c Chuck Lever
2005-09-12 14:56 ` [PATCH 14/22] move read_cache_unmerged into read-cache.c Chuck Lever
2005-09-12 14:56 ` [PATCH 15/22] replace cache_name_pos Chuck Lever
2005-09-12 14:56 ` [PATCH 16/22] teach apply.c to use cache_find_name() Chuck Lever
2005-09-12 14:56 ` [PATCH 17/22] teach checkout-index.c " Chuck Lever
2005-09-12 14:56 ` [PATCH 18/22] teach diff.c " Chuck Lever
2005-09-12 14:56 ` [PATCH 19/22] teach ls-files.c " Chuck Lever
2005-09-12 14:56 ` [PATCH 20/22] teach merge-index.c " Chuck Lever
2005-09-12 14:56 ` [PATCH 21/22] teach the merge algorithm about cache iterators Chuck Lever
2005-09-12 20:43 ` Daniel Barkalow
2005-09-13 0:02 ` Chuck Lever
2005-09-14 15:36 ` Chuck Lever
2005-09-14 16:41 ` Daniel Barkalow
2005-09-14 17:50 ` Junio C Hamano
2005-09-14 19:49 ` Chuck Lever
2005-09-14 20:40 ` Daniel Barkalow
2005-09-14 22:28 ` Chuck Lever
2005-09-14 22:50 ` Linus Torvalds
2005-09-14 23:23 ` Daniel Barkalow
2005-09-15 14:01 ` Chuck Lever
2005-09-12 14:56 ` [PATCH 22/22] teach read-cache.c to use cache_find_name() Chuck Lever
2005-09-12 15:38 ` [PATCH 00/22] cache cursors: an introduction A Large Angry SCM
2005-09-12 16:37 ` Chuck Lever [this message]
2005-09-12 20:26 ` Daniel Barkalow
2005-09-12 20:47 ` Junio C Hamano
2005-09-13 19:06 ` Tim Ottinger
2005-09-13 19:46 ` Junio C Hamano
2005-09-13 20:06 ` Tim Ottinger
2005-09-14 8:28 ` Catalin Marinas
2005-09-14 14:49 ` Chuck Lever
2005-09-12 19:53 ` Junio C Hamano
2005-09-12 20:22 ` Daniel Barkalow
2005-09-12 20:30 ` Junio C Hamano
2005-09-12 23:59 ` Chuck Lever
2005-09-13 0:14 ` Junio C Hamano
2005-09-13 0:17 ` Linus Torvalds
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=4325AED6.8050401@citi.umich.edu \
--to=cel@citi.umich.edu \
--cc=git@vger.kernel.org \
--cc=gitzilla@gmail.com \
/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).