diff options
author | Clemens Buchacher <drizzd@aon.at> | 2009-01-01 21:54:33 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-01-05 12:48:43 -0800 |
commit | 7b9e3ce0255002075809917e0384cba3a0d18589 (patch) | |
tree | 19ba55daca9cdb138afbf468059c3b6c268941c1 | |
parent | 837e5fe95d9d6e597b748d338e45cca231f558fa (diff) | |
download | git-7b9e3ce0255002075809917e0384cba3a0d18589.tar.gz git-7b9e3ce0255002075809917e0384cba3a0d18589.tar.xz |
unpack-trees: remove redundant path search in verify_absent
Since the only caller, verify_absent, relies on the fact that o->pos
points to the next index entry anyways, there is no need to recompute
its position.
Furthermore, if a nondirectory entry were found, this would return too
early, because there could still be an untracked directory in the way.
This is currently not a problem, because verify_absent is only called
if the index does not have this entry.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | unpack-trees.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/unpack-trees.c b/unpack-trees.c index 48e538ab7..556813eca 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -493,7 +493,7 @@ static int verify_clean_subdirectory(struct cache_entry *ce, const char *action, * anything in the existing directory there. */ int namelen; - int pos, i; + int i; struct dir_struct d; char *pathbuf; int cnt = 0; @@ -514,11 +514,7 @@ static int verify_clean_subdirectory(struct cache_entry *ce, const char *action, * in that directory. */ namelen = strlen(ce->name); - pos = index_name_pos(o->src_index, ce->name, namelen); - if (0 <= pos) - return 0; /* we have it as nondirectory */ - pos = -pos - 1; - for (i = pos; i < o->src_index->cache_nr; i++) { + for (i = o->pos; i < o->src_index->cache_nr; i++) { struct cache_entry *ce2 = o->src_index->cache[i]; int len = ce_namelen(ce2); if (len < namelen || |