[PATCH] Do not run useless show-diff on unmerged paths repeatedly.
[gitweb.git] / show-diff.c
index 1f903af0279a545c1c679892a8a94a53d3dc162d..0af2f1051e4886277af3d55257d0dfd5bd2ca2e6 100644 (file)
@@ -167,6 +167,19 @@ int main(int argc, char **argv)
                    ! matches_pathspec(ce, argv+1, argc-1))
                        continue;
 
+               if (ce_stage(ce)) {
+                       if (machine_readable)
+                               printf("U %s%c", ce->name, 0);
+                       else
+                               printf("%s: Unmerged\n",
+                                      ce->name);
+                       while (i < entries &&
+                              !strcmp(ce->name, active_cache[i]->name))
+                               i++;
+                       i--; /* compensate for loop control increments */
+                       continue;
+               }
                if (stat(ce->name, &st) < 0) {
                        if (errno == ENOENT && silent_on_nonexisting_files)
                                continue;