Merge branch 'jk/lock-ref-sha1-basic-return-errors'
Correct an API anomaly. * jk/lock-ref-sha1-basic-return-errors: lock_ref_sha1_basic: do not die on locking errors
This commit is contained in:
commit
3cdb0cb610
10
refs.c
10
refs.c
@ -2318,6 +2318,7 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,
|
||||
|
||||
lock->lock_fd = hold_lock_file_for_update(lock->lk, ref_file, lflags);
|
||||
if (lock->lock_fd < 0) {
|
||||
last_errno = errno;
|
||||
if (errno == ENOENT && --attempts_remaining > 0)
|
||||
/*
|
||||
* Maybe somebody just deleted one of the
|
||||
@ -2325,8 +2326,13 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,
|
||||
* again:
|
||||
*/
|
||||
goto retry;
|
||||
else
|
||||
unable_to_lock_die(ref_file, errno);
|
||||
else {
|
||||
struct strbuf err = STRBUF_INIT;
|
||||
unable_to_lock_message(ref_file, errno, &err);
|
||||
error("%s", err.buf);
|
||||
strbuf_reset(&err);
|
||||
goto error_return;
|
||||
}
|
||||
}
|
||||
return old_sha1 ? verify_lock(lock, old_sha1, mustexist) : lock;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user