Merge branch 'nd/status-partial-refresh'
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Jan 2010 04:28:50 +0000 (20:28 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 21 Jan 2010 04:28:50 +0000 (20:28 -0800)
* nd/status-partial-refresh:
rm: only refresh entries that we may touch
status: only touch path we may need to check

builtin-commit.c
builtin-rm.c
wt-status.c
index fedcda09d02134a1434098016c3b9829d1185c46..55676fd874466c70445e81c69cf397cd01380aaf 100644 (file)
@@ -1047,7 +1047,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)
                s.pathspec = get_pathspec(prefix, argv);
 
        read_cache();
-       refresh_cache(REFRESH_QUIET|REFRESH_UNMERGED);
+       refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, s.pathspec, NULL, NULL);
        s.is_initial = get_sha1(s.reference, sha1) ? 1 : 0;
        s.in_merge = in_merge;
        wt_status_collect(&s);
index 57975dbcfd7c0dbcba03b88a1bf403f1ec5f528c..f3772c84de0a1f1a18123e55ae6e6983739f590b 100644 (file)
@@ -169,9 +169,10 @@ int cmd_rm(int argc, const char **argv, const char *prefix)
 
        if (read_cache() < 0)
                die("index file corrupt");
-       refresh_cache(REFRESH_QUIET);
 
        pathspec = get_pathspec(prefix, argv);
+       refresh_index(&the_index, REFRESH_QUIET, pathspec, NULL, NULL);
+
        seen = NULL;
        for (i = 0; pathspec[i] ; i++)
                /* nothing */;
index 5d569880163cccec91fdf1e9d50e03a6b5314d58..65feb29f2ee87b85a21907c5087cfcdd6c3be756 100644 (file)
@@ -343,7 +343,7 @@ static void wt_status_collect_untracked(struct wt_status *s)
                        DIR_SHOW_OTHER_DIRECTORIES | DIR_HIDE_EMPTY_DIRECTORIES;
        setup_standard_excludes(&dir);
 
-       fill_directory(&dir, NULL);
+       fill_directory(&dir, s->pathspec);
        for (i = 0; i < dir.nr; i++) {
                struct dir_entry *ent = dir.entries[i];
                if (!cache_name_is_other(ent->name, ent->len))