Subject: Re: [PATCH 2/5] refs.c: return error instead of dying when locking fails during transaction

From: Jonathan Nieder <[email-masked]>
Date: Fri, 25 Jul 2014 12:40:23 -0700

Ronnie Sahlberg wrote:

> --- a/refs.c
> +++ b/refs.c
> @@ -2214,7 +2214,7 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,
>  			 */
>  			goto retry;
>  		else
> -			unable_to_lock_index_die(ref_file, errno);
> +			goto error_return;

Should probably save last_errno so error_return can pass that
information back.

Can the caller recover from this error?  Does it have enough information
to produce the same helpful message as unable_to_lock_index_die?

If this could be done without regressing behavior (e.g., by passing
back error information as a message instead of through errno) then I
think it would make sense.

Jonathan