diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-02-11 16:46:20 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-11 16:46:20 -0800 |
commit | e0197c9aae39b0f1ba6c21d1f6d0bae5de03a44d (patch) | |
tree | 8ce3be12cc0fba866845b18e977c264fbcf54792 /cache-tree.c | |
parent | 3960a951795819e6cd09422e15092b45cdd46f73 (diff) | |
parent | 9cb76b8cdc8ac62a77080595f6443613fd64bab3 (diff) | |
download | git-e0197c9aae39b0f1ba6c21d1f6d0bae5de03a44d.tar.gz |
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.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cache-tree.c b/cache-tree.c index 50b35264fd..bfc95d2dc9 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); |