commit: make it work with status.short
[gitweb.git] / builtin / add.c
index c55615be4c7626bcf8ac1ab8463ac1775cc9235d..f45d9d4865534f6f8faeb3b2c64da0721452921f 100644 (file)
@@ -553,12 +553,12 @@ int cmd_add(int argc, const char **argv, const char *prefix)
                refresh(verbose, pathspec);
                goto finish;
        }
+       if (implicit_dot && prefix)
+               refresh_cache(REFRESH_QUIET);
 
        if (pathspec) {
                int i;
-               struct path_exclude_check check;
 
-               path_exclude_check_init(&check, &dir);
                if (!seen)
                        seen = find_pathspecs_matching_against_index(pathspec);
                for (i = 0; pathspec[i]; i++) {
@@ -566,7 +566,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
                            && !file_exists(pathspec[i])) {
                                if (ignore_missing) {
                                        int dtype = DT_UNKNOWN;
-                                       if (is_path_excluded(&check, pathspec[i], -1, &dtype))
+                                       if (is_excluded(&dir, pathspec[i], &dtype))
                                                dir_add_ignored(&dir, pathspec[i], strlen(pathspec[i]));
                                } else
                                        die(_("pathspec '%s' did not match any files"),
@@ -574,7 +574,6 @@ int cmd_add(int argc, const char **argv, const char *prefix)
                        }
                }
                free(seen);
-               path_exclude_check_clear(&check);
        }
 
        plug_bulk_checkin();