[PATCH v3 08/24] add documentation for the index api

2013-08-18 Thread Thomas Gummerer
Add documentation for the index reading api.  This also includes
documentation for the new api functions introduced in the next patch.

Helped-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com
Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
---
 Documentation/technical/api-in-core-index.txt | 54 +--
 1 file changed, 50 insertions(+), 4 deletions(-)

diff --git a/Documentation/technical/api-in-core-index.txt 
b/Documentation/technical/api-in-core-index.txt
index adbdbf5..9b8c37c 100644
--- a/Documentation/technical/api-in-core-index.txt
+++ b/Documentation/technical/api-in-core-index.txt
@@ -1,14 +1,60 @@
 in-core index API
 =
 
+Reading API
+---
+
+`cache`::
+
+   An array of cache entries.  This is used to access the cache
+   entries directly.  Use `index_name_pos` to search for the
+   index of a specific cache entry.
+
+`read_index_filtered`::
+
+   Read a part of the index, filtered by the pathspec given in
+   the opts.  The function may load more than necessary, so the
+   caller still responsible to apply filters appropriately.  The
+   filtering is only done for performance reasons, as it's
+   possible to only read part of the index when the on-disk
+   format is index-v5.
+
+   To iterate only over the entries that match the pathspec, use
+   the for_each_index_entry function.
+
+`read_index`::
+
+   Read the whole index file from disk.
+
+`index_name_pos`::
+
+   Find a cache_entry with name in the index.  Returns pos if an
+   entry is matched exactly and -1-pos if an entry is matched
+   partially.
+   e.g.
+   index:
+   file1
+   file2
+   path/file1
+   zzz
+
+   index_name_pos(path/file1, 10) returns 2, while
+   index_name_pos(path, 4) returns -3
+
+`for_each_index_entry`::
+
+   Iterates over all cache_entries in the index filtered by
+   filter_opts in the index_state.  For each cache entry fn is
+   executed with cb_data as callback data.  From within the loop
+   do `return 0` to continue, or `return 1` to break the loop.
+
+TODO
+
 Talk about read-cache.c and cache-tree.c, things like:
 
-* cache - the_index macros
-* read_index()
 * write_index()
 * ie_match_stat() and ie_modified(); how they are different and when to
   use which.
-* index_name_pos()
 * remove_index_entry_at()
 * remove_file_from_index()
 * add_file_to_index()
@@ -18,4 +64,4 @@ Talk about read-cache.c and cache-tree.c, things like:
 * cache_tree_invalidate_path()
 * cache_tree_update()
 
-(JC, Linus)
+(JC, Linus, Thomas Gummerer)
-- 
1.8.3.4.1231.g9fbf354.dirty

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 08/24] add documentation for the index api

2013-08-18 Thread Eric Sunshine
On Aug 18, 2013, at 3:41 PM, Thomas Gummerer wrote:
 Add documentation for the index reading api.  This also includes
 documentation for the new api functions introduced in the next patch.
 
 Helped-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com
 Signed-off-by: Thomas Gummerer t.gumme...@gmail.com
 ---
 Documentation/technical/api-in-core-index.txt | 54 +--
 1 file changed, 50 insertions(+), 4 deletions(-)
 
 diff --git a/Documentation/technical/api-in-core-index.txt 
 b/Documentation/technical/api-in-core-index.txt
 index adbdbf5..9b8c37c 100644
 --- a/Documentation/technical/api-in-core-index.txt
 +++ b/Documentation/technical/api-in-core-index.txt
 @@ -1,14 +1,60 @@
 in-core index API
 =
 
 +Reading API
 +---
 +
 +`cache`::
 +
 + An array of cache entries.  This is used to access the cache
 + entries directly.  Use `index_name_pos` to search for the
 + index of a specific cache entry.
 +
 +`read_index_filtered`::
 +
 + Read a part of the index, filtered by the pathspec given in
 + the opts.  The function may load more than necessary, so the
 + caller still responsible to apply filters appropriately.  The

Grammatical nit: ...the caller is still responsible for applying…

 + filtering is only done for performance reasons, as it's
 + possible to only read part of the index when the on-disk
 + format is index-v5.
 +
 + To iterate only over the entries that match the pathspec, use
 + the for_each_index_entry function.
 +
 +`read_index`::
 +
 + Read the whole index file from disk.
 +
 +`index_name_pos`::
 +
 + Find a cache_entry with name in the index.  Returns pos if an
 + entry is matched exactly and -1-pos if an entry is matched
 + partially.
 + e.g.
 + index:
 + file1
 + file2
 + path/file1
 + zzz
 +
 + index_name_pos(path/file1, 10) returns 2, while
 + index_name_pos(path, 4) returns -3

A couple of these entries won't format correctly. You may want to squash in 
something like this (sans whitespace damage):

--8--
diff --git a/Documentation/technical/api-in-core-index.txt 
b/Documentation/technical/api-in-core-index.txt
index 9b8c37c..d2518c8 100644
--- a/Documentation/technical/api-in-core-index.txt
+++ b/Documentation/technical/api-in-core-index.txt
@@ -18,9 +18,9 @@ Reading API
filtering is only done for performance reasons, as it's
possible to only read part of the index when the on-disk
format is index-v5.
-
-   To iterate only over the entries that match the pathspec, use
-   the for_each_index_entry function.
++
+To iterate only over the entries that match the pathspec, use
+the for_each_index_entry function.
 
 `read_index`::
 
@@ -30,16 +30,18 @@ Reading API
 
Find a cache_entry with name in the index.  Returns pos if an
entry is matched exactly and -1-pos if an entry is matched
-   partially.
-   e.g.
-   index:
+   partially. e.g.
++
+
+index:
file1
file2
path/file1
zzz
-
-   index_name_pos(path/file1, 10) returns 2, while
-   index_name_pos(path, 4) returns -3
+
++
+`index_name_pos(path/file1, 10)` returns 2, while
+`index_name_pos(path, 4)` returns -3
 
 `for_each_index_entry`::
 
-- 
1.8.4.rc3.500.gc3113b0
--8--

 +
 +`for_each_index_entry`::
 +
 + Iterates over all cache_entries in the index filtered by
 + filter_opts in the index_state.  For each cache entry fn is
 + executed with cb_data as callback data.  From within the loop
 + do `return 0` to continue, or `return 1` to break the loop.
 +
 +TODO
 +
 Talk about read-cache.c and cache-tree.c, things like:
 
 -* cache - the_index macros
 -* read_index()
 * write_index()
 * ie_match_stat() and ie_modified(); how they are different and when to
   use which.
 -* index_name_pos()
 * remove_index_entry_at()
 * remove_file_from_index()
 * add_file_to_index()
 @@ -18,4 +64,4 @@ Talk about read-cache.c and cache-tree.c, things like:
 * cache_tree_invalidate_path()
 * cache_tree_update()
 
 -(JC, Linus)
 +(JC, Linus, Thomas Gummerer)
 -- 
 1.8.3.4.1231.g9fbf354.dirty
 

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html