summaryrefslogtreecommitdiff
path: root/cache-tree.h
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2012-12-16 04:15:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-12-16 07:04:22 (GMT)
commit3cf773e4264ecc6e9f603a24aeb72cc68b372f96 (patch)
tree57b0419f8c3b6e607da7092711dfd5fde9fbe3fe /cache-tree.h
parent386cc8b031611497186a8c89be0f980a54786525 (diff)
downloadgit-3cf773e4264ecc6e9f603a24aeb72cc68b372f96.zip
git-3cf773e4264ecc6e9f603a24aeb72cc68b372f96.tar.gz
git-3cf773e4264ecc6e9f603a24aeb72cc68b372f96.tar.bz2
cache-tree: fix writing cache-tree when CE_REMOVE is present
entry_count is used in update_one() for two purposes: 1. to skip through the number of processed entries in in-memory index 2. to record the number of entries this cache-tree covers on disk Unfortunately when CE_REMOVE is present these numbers are not the same because CE_REMOVE entries are automatically removed before writing to disk but entry_count is not adjusted and still counts CE_REMOVE entries. Separate the two use cases into two different variables. #1 is taken care by the new field count in struct cache_tree_sub and entry_count is prepared for #2. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache-tree.h')
-rw-r--r--cache-tree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cache-tree.h b/cache-tree.h
index d8cb2e9..55d0f59 100644
--- a/cache-tree.h
+++ b/cache-tree.h
@@ -7,6 +7,7 @@
struct cache_tree;
struct cache_tree_sub {
struct cache_tree *cache_tree;
+ int count; /* internally used by update_one() */
int namelen;
int used;
char name[FLEX_ARRAY];