aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-07-14 11:19:26 -0700
committerJunio C Hamano <gitster@pobox.com>2025-07-14 11:19:26 -0700
commit69ea767bc34a128faf098c978c5ce7389d70feb6 (patch)
tree92e310d4501c8bf0d2acff31556bbd61a6014d7e
parent38349d1160272bc685548b7a86b1d7c8ee536bad (diff)
parent9455397a5cfcef186fab3321b3fbe29fd3ef78c7 (diff)
downloadgit-69ea767bc34a128faf098c978c5ce7389d70feb6.tar.gz
Merge branch 'hy/read-cache-lock-error-fix'
A failure to open the index file for writing due to conflicting access did not state what went wrong, which has been corrected. * hy/read-cache-lock-error-fix: read-cache: report lock error when refreshing index
-rw-r--r--read-cache.c3
-rwxr-xr-xt/t3903-stash.sh18
2 files changed, 8 insertions, 13 deletions
diff --git a/read-cache.c b/read-cache.c
index c0bb760ad4..c44efc8932 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -1456,7 +1456,8 @@ int repo_refresh_and_write_index(struct repository *repo,
struct lock_file lock_file = LOCK_INIT;
int fd, ret = 0;
- fd = repo_hold_locked_index(repo, &lock_file, 0);
+ fd = repo_hold_locked_index(repo, &lock_file,
+ gentle ? 0 : LOCK_REPORT_ON_ERROR);
if (!gentle && fd < 0)
return -1;
if (refresh_index(repo->index, refresh_flags, pathspec, seen, header_msg))
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index c58ccb136c..0bb4648e36 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -1672,11 +1672,9 @@ test_expect_success 'stash create reports a locked index' '
echo change >A.file &&
touch .git/index.lock &&
- cat >expect <<-EOF &&
- error: could not write index
- EOF
test_must_fail git stash create 2>err &&
- test_cmp expect err
+ test_grep "error: could not write index" err &&
+ test_grep "error: Unable to create '.*index.lock'" err
)
'
@@ -1689,11 +1687,9 @@ test_expect_success 'stash push reports a locked index' '
echo change >A.file &&
touch .git/index.lock &&
- cat >expect <<-EOF &&
- error: could not write index
- EOF
test_must_fail git stash push 2>err &&
- test_cmp expect err
+ test_grep "error: could not write index" err &&
+ test_grep "error: Unable to create '.*index.lock'" err
)
'
@@ -1707,11 +1703,9 @@ test_expect_success 'stash apply reports a locked index' '
git stash push &&
touch .git/index.lock &&
- cat >expect <<-EOF &&
- error: could not write index
- EOF
test_must_fail git stash apply 2>err &&
- test_cmp expect err
+ test_grep "error: could not write index" err &&
+ test_grep "error: Unable to create '.*index.lock'" err
)
'