diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-01-14 22:02:21 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-15 20:40:25 -0800 |
commit | 688cd6d2b9335f2ac20d02996215a0e6da1779b5 (patch) | |
tree | 74e37b0dfe1491b2e96df33d8bcf4718a9c87dc2 /builtin-commit.c | |
parent | 1f73566af5bec28cd8489c6139a9ede95817349c (diff) | |
download | git-688cd6d2b9335f2ac20d02996215a0e6da1779b5.tar.gz |
status: only touch path we may need to check
This patch gets rid of whole-tree cache refresh and untracked file
search. Instead only specified path will be looked at.
Again some numbers on gentoo-x86, ~80k files:
Unmodified Git:
$ time git st eclass/
nothing to commit (working directory clean)
real 0m3.211s
user 0m1.977s
sys 0m1.135s
Modified Git:
$ time ~/w/git/git st eclass/
nothing to commit (working directory clean)
real 0m1.587s
user 0m1.426s
sys 0m0.111s
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-commit.c')
-rw-r--r-- | builtin-commit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin-commit.c b/builtin-commit.c index 592b10396d..d5d8eb68cc 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -1023,7 +1023,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); |