diff --git a/unpack-trees.c b/unpack-trees.c
index 470fa02e0886462f44fd0e188da6e8c65ab6fac0..3e448d8974eb6d738fec2c35cc5a9ffbc8764411 100644 (file)
--- a/unpack-trees.c
+++ b/unpack-trees.c
}
progress = start_progress_delay("Checking out files",
- total, 50, 2);
+ total, 50, 1);
cnt = 0;
}
if (!lstat(ce->name, &st)) {
int cnt;
+ int dtype = ce_to_dtype(ce);
- if (o->dir && excluded(o->dir, ce->name))
+ if (o->dir && excluded(o->dir, ce->name, &dtype))
/*
* ce->name is explicitly excluded, so it is Ok to
* overwrite it.
* a match.
*/
if (same(old, merge)) {
- memcpy(merge, old, offsetof(struct cache_entry, name));
+ copy_cache_entry(merge, old);
} else {
if (verify_uptodate(old, o))
return -1;