Make "checkout-cache" silently skip up-to-date files.
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 12 Apr 2005 21:17:28 +0000 (14:17 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 12 Apr 2005 21:17:28 +0000 (14:17 -0700)
It used to always overwrite them if forced. Now it just
realizes that they are already ok, and don't need to be
touched.

checkout-cache.c

index 73a1a8d..6ed8b69 100644 (file)
@@ -96,12 +96,14 @@ static int write_entry(struct cache_entry *ce)
 
 static int checkout_entry(struct cache_entry *ce)
 {
-       if (!force) {
-               struct stat st;
+       struct stat st;
 
-               if (!stat(ce->name, &st)) {
-                       unsigned changed = cache_match_stat(ce, &st);
-                       if (changed && !quiet)
+       if (!stat(ce->name, &st)) {
+               unsigned changed = cache_match_stat(ce, &st);
+               if (!changed)
+                       return 0;
+               if (!force) {
+                       if (!quiet)
                                fprintf(stderr, "checkout-cache: %s already exists\n", ce->name);
                        return 0;
                }