[PATCH v3 1/1] t1450: use 'mv -f' when overwriting a read-only file
- From
tboegi@web.de <tboegi@web.de>
- Date
- Oct 25, 2026, 18:06 UTC
- Message-ID
- <20261025180618.16899-1-tboegi@web.de>
- In-Reply-To
- <atmvASAoaCIpc_ca@pks.im>
From: Torsten Bögershausen <tboegi@web.de>
Test case 38 in t/t1450-fsck.sh ("rev-list --verify-objects with truncated loose blob") replaces a loose blob with a truncated version using `mv obj.tmp "$obj"`.
Because Git creates loose objects as read-only files, this step attempts to overwrite a read-only file. When running the test, older versions of macOS `mv(1)` (prior to 12.3) will prompt the user for confirmation (somewhat shortened):
override r--r--r-- user/staff for .git/objects/fc/a75a5be3823dc0560da5? (y/n [n]) not overwritten fca75a5be3823dc0560da57ade678f212aeb33f6
As the answer is not 'y', the file is not overwritten and the test case fails.
Use `mv -f` to force the overwrite and avoid the interactive prompt.
Helped-By: Tuomas Ahola <taahol@utu.fi>
Helped-By: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
---
v3: Use a much shorter commit message, as suggested from Junio.
Mention that MacOs 12.3 has fixed this.t/t1450-fsck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh index 16cc5d5dcb..335dcbf0af 100755 --- a/t/t1450-fsck.sh +++ b/t/t1450-fsck.sh @@ -548,7 +548,7 @@ test_expect_success 'rev-list --verify-objects with truncated loose blob' ' # Truncate the loose blob such that its header can still be # parsed, but reading the object data fails mid-stream. test_copy_bytes 64 <"$obj" >obj.tmp && - mv obj.tmp "$obj" && + mv -f obj.tmp "$obj" && test_must_fail git rev-list --verify-objects "$blob" 2>err && test_grep "hash mismatch" err
-- 2.53.0.154.g7c02d39fc2