- if (!stat(ce->name, &st)) {
- unsigned changed = cache_match_stat(ce, &st);
- if (changed && !quiet)
- fprintf(stderr, "checkout-cache: %s already exists\n", ce->name);
+ memcpy(path, base_dir, len);
+ strcpy(path + len, ce->name);
+
+ if (!stat(path, &st)) {
+ unsigned changed = cache_match_stat(ce, &st);
+ if (!changed)
+ return 0;
+ if (!force) {
+ if (!quiet)
+ fprintf(stderr, "checkout-cache: %s already exists\n", path);