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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <pclouds@xxxxxxxxx>
> Signed-off-by: Thomas Gummerer <t.gummerer@xxxxxxxxx>
> ---
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]