summaryrefslogtreecommitdiff
path: root/cache-tree.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-02-12 00:46:20 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-02-12 00:46:20 (GMT)
commite0197c9aae39b0f1ba6c21d1f6d0bae5de03a44d (patch)
tree8ce3be12cc0fba866845b18e977c264fbcf54792 /cache-tree.c
parent3960a951795819e6cd09422e15092b45cdd46f73 (diff)
parent9cb76b8cdc8ac62a77080595f6443613fd64bab3 (diff)
downloadgit-e0197c9aae39b0f1ba6c21d1f6d0bae5de03a44d.zip
git-e0197c9aae39b0f1ba6c21d1f6d0bae5de03a44d.tar.gz
git-e0197c9aae39b0f1ba6c21d1f6d0bae5de03a44d.tar.bz2
Merge branch 'lt/in-core-index'
* lt/in-core-index: lazy index hashing Create pathname-based hash-table lookup into index read-cache.c: introduce is_racy_timestamp() helper read-cache.c: fix a couple more CE_REMOVE conversion Also use unpack_trees() in do_diff_cache() Make run_diff_index() use unpack_trees(), not read_tree() Avoid running lstat(2) on the same cache entry. index: be careful when handling long names Make on-disk index representation separate from in-core one
Diffstat (limited to 'cache-tree.c')
-rw-r--r--cache-tree.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/cache-tree.c b/cache-tree.c
index 50b3526..bfc95d2 100644
--- a/cache-tree.c
+++ b/cache-tree.c
@@ -320,13 +320,13 @@ static int update_one(struct cache_tree *it,
}
else {
sha1 = ce->sha1;
- mode = ntohl(ce->ce_mode);
+ mode = ce->ce_mode;
entlen = pathlen - baselen;
}
if (mode != S_IFGITLINK && !missing_ok && !has_sha1_file(sha1))
return error("invalid object %s", sha1_to_hex(sha1));
- if (!ce->ce_mode)
+ if (ce->ce_flags & CE_REMOVE)
continue; /* entry being removed */
strbuf_grow(&buffer, entlen + 100);