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);
|
lock->lock_fd = hold_lock_file_for_update(lock->lk, ref_file, lflags);
|
||||||
if (lock->lock_fd < 0) {
|
if (lock->lock_fd < 0) {
|
||||||
|
last_errno = errno;
|
||||||
if (errno == ENOENT && --attempts_remaining > 0)
|
if (errno == ENOENT && --attempts_remaining > 0)
|
||||||
/*
|
/*
|
||||||
* Maybe somebody just deleted one of the
|
* Maybe somebody just deleted one of the
|
||||||
@ -2325,8 +2326,13 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,
|
|||||||
* again:
|
* again:
|
||||||
*/
|
*/
|
||||||
goto retry;
|
goto retry;
|
||||||
else
|
else {
|
||||||
unable_to_lock_die(ref_file, errno);
|
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;
|
return old_sha1 ? verify_lock(lock, old_sha1, mustexist) : lock;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user