diff options
author | Ghanshyam Thakkar <shyamthakkar001@gmail.com> | 2024-04-03 20:14:52 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-04-03 23:55:22 +0200 |
commit | 7de13cfef3042478223012841e07cd91d7234d22 (patch) | |
tree | 6f5b7eafcbe609c1b2cd4c15f47c4972c6b20fc9 /t/t2200-add-update.sh | |
parent | builtin/commit: error out when passing untracked path with -i (diff) | |
download | git-7de13cfef3042478223012841e07cd91d7234d22.tar.xz git-7de13cfef3042478223012841e07cd91d7234d22.zip |
builtin/add: error out when passing untracked path with -u
When passing untracked path with -u option, it silently succeeds.
There is no error message and the exit code is zero. This is
inconsistent with other instances of git commands where the expected
argument is a known path. In those other instances, we error out when
the path is not known.
Fix this by passing a character array to add_files_to_cache() to
collect the pathspec matching information and report the error if a
pathspec does not match any cache entry. Also add a testcase to cover
this scenario.
Signed-off-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to '')
-rwxr-xr-x | t/t2200-add-update.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/t/t2200-add-update.sh b/t/t2200-add-update.sh index c01492f33f..df235ac306 100755 --- a/t/t2200-add-update.sh +++ b/t/t2200-add-update.sh @@ -65,6 +65,16 @@ test_expect_success 'update did not touch untracked files' ' test_must_be_empty out ' +test_expect_success 'error out when passing untracked path' ' + git reset --hard && + echo content >>baz && + echo content >>top && + test_must_fail git add -u baz top 2>err && + test_grep -e "error: pathspec .baz. did not match any file(s) known to git" err && + git diff --cached --name-only >actual && + test_must_be_empty actual +' + test_expect_success 'cache tree has not been corrupted' ' git ls-files -s | |