Han Young <hanyang.tony@xxxxxxxxxxxxx> writes: > In the repo_refresh_and_write_index of read-cache.c, we return -1 to > indicate that writing the index to disk failed. > However, callers do not use this information. Commands such as stash print > "could not write index" > and then exit, which does not help to discover the exact problem. > > We can let repo_hold_locked_index print the error message if the locking > failed. > > Signed-off-by: Han Young <hanyang.tony@xxxxxxxxxxxxx> > --- > Changes since v1: > also check the "could not write index" error output > > read-cache.c | 2 +- > t/t3903-stash.sh | 18 ++++++------------ > 2 files changed, 7 insertions(+), 13 deletions(-) > > diff --git a/read-cache.c b/read-cache.c > index c0bb760ad..50e842bfa 100644 > --- a/read-cache.c > +++ b/read-cache.c > @@ -1456,7 +1456,7 @@ 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); Let's wrap this line to stay under 80-columns, i.e. fd = repo_hold_locked_index(repo, &lock_file, gentle ? 0 : LOCK_REPORT_ON_ERROR); No need to resend, as I've done so locally while applying.