git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jul 25, 2014, 19:40 UTC
Message-ID
<20140725194023.GH12427@google.com>
In-Reply-To
<1406307521-10339-3-git-send-email-sahlberg@google.com>
Ronnie Sahlberg wrote:
Show 8 quoted lines
> --- 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
Previous: Ronnie SahlbergNext: Ronnie Sahlberg
Message 7 of 13 in “ref-transactions-rename”
  1. 0/5 ref-transactions-renameRonnie Sahlberg, Jul 25, 2014
  2. 1/5 refs.c: allow passing raw git_committer_info as email to _update_reflogRonnie Sahlberg, Jul 25, 2014
  3. Jonathan NiederJul 25, 2014
  4. Ronnie SahlbergJul 28, 2014
  5. Eric SunshineJul 28, 2014
  6. 2/5 refs.c: return error instead of dying when locking fails during transactionRonnie Sahlberg, Jul 25, 2014
  7. Jonathan NiederJul 25, 2014
  8. Ronnie SahlbergJul 28, 2014
  9. 3/5 refs.c: use packed refs when deleting refs during a transactionRonnie Sahlberg, Jul 25, 2014
  10. Jonathan NiederJul 25, 2014
  11. 4/5 refs.c: update rename_ref to use a transactionRonnie Sahlberg, Jul 25, 2014
  12. Jonathan NiederJul 25, 2014
  13. 5/5 refs.c: rollback the lockfile before we die() in repack_without_refsRonnie Sahlberg, Jul 25, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.