From: Junio C Hamano Date: Thu, 25 Jul 2019 20:59:24 +0000 (-0700) Subject: Merge branch 'jc/denoise-rm-to-resolve' X-Git-Tag: v2.23.0-rc0~10 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/5e9d9787d278331385dbfcf962b32dc4e8d3eb5e?hp=f3d508f40e3d85fdbe1dafe8f33782766c88dbdd Merge branch 'jc/denoise-rm-to-resolve' "git rm" to resolve a conflicted path leaked an internal message "needs merge" before actually removing the path, which was confusing. This has been corrected. * jc/denoise-rm-to-resolve: rm: resolving by removal is not a warning-worthy event --- diff --git a/builtin/rm.c b/builtin/rm.c index 2eacda42b4..19ce95a901 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -273,7 +273,7 @@ int cmd_rm(int argc, const char **argv, const char *prefix) parse_pathspec(&pathspec, 0, PATHSPEC_PREFER_CWD, prefix, argv); - refresh_index(&the_index, REFRESH_QUIET, &pathspec, NULL, NULL); + refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, &pathspec, NULL, NULL); seen = xcalloc(pathspec.nr, 1); diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh index 85ae7dc1e4..66282a720e 100755 --- a/t/t3600-rm.sh +++ b/t/t3600-rm.sh @@ -252,6 +252,19 @@ test_expect_success 'choking "git rm" should not let it die with cruft' ' test_path_is_missing .git/index.lock ' +test_expect_success 'Resolving by removal is not a warning-worthy event' ' + git reset -q --hard && + test_when_finished "rm -f .git/index.lock msg && git reset -q --hard" && + blob=$(echo blob | git hash-object -w --stdin) && + for stage in 1 2 3 + do + echo "100644 $blob $stage blob" + done | git update-index --index-info && + git rm blob >msg 2>&1 && + test_i18ngrep ! "needs merge" msg && + test_must_fail git ls-files -s --error-unmatch blob +' + test_expect_success 'rm removes subdirectories recursively' ' mkdir -p dir/subdir/subsubdir && echo content >dir/subdir/subsubdir/file &&