From: Johannes Schindelin Date: Tue, 7 Oct 2008 16:08:21 +0000 (+0200) Subject: git rm: refresh index before up-to-date check X-Git-Tag: v1.6.0.3~32 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=cced48a808620d60e95a1e51254b135a46ddf719;p=git.git git rm: refresh index before up-to-date check Since "git rm" is supposed to be porcelain, we should convince it to be user friendly by refreshing the index itself. Signed-off-by: Johannes Schindelin Signed-off-by: Shawn O. Pearce --- diff --git a/builtin-rm.c b/builtin-rm.c index 50ae6d540..e06640cf8 100644 --- a/builtin-rm.c +++ b/builtin-rm.c @@ -137,6 +137,7 @@ 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); seen = NULL; diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh index 558c80edb..66aca99fd 100755 --- a/t/t3600-rm.sh +++ b/t/t3600-rm.sh @@ -219,14 +219,23 @@ test_expect_success 'Remove nonexistent file returns nonzero exit status' ' test_expect_success 'Call "rm" from outside the work tree' ' mkdir repo && - cd repo && - git init && - echo something > somefile && - git add somefile && - git commit -m "add a file" && - (cd .. && - git --git-dir=repo/.git --work-tree=repo rm somefile) && - test_must_fail git ls-files --error-unmatch somefile + (cd repo && + git init && + echo something > somefile && + git add somefile && + git commit -m "add a file" && + (cd .. && + git --git-dir=repo/.git --work-tree=repo rm somefile) && + test_must_fail git ls-files --error-unmatch somefile) +' + +test_expect_success 'refresh index before checking if it is up-to-date' ' + + git reset --hard && + test-chmtime -86400 frotz/nitfol && + git rm frotz/nitfol && + test ! -f frotz/nitfol + ' test_done