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

Re: [PATCH 07/13] prune_remote(): use delete_refs()

From
Jeff King <peff@peff.net>
Date
Jun 9, 2015, 11:53 UTC
Message-ID
<20150609115343.GA2777@peff.net>
In-Reply-To
<5576C4E5.4080107@alum.mit.edu>
On Tue, Jun 09, 2015 at 12:50:13PM +0200, Michael Haggerty wrote:
Show 21 quoted lines
> The new code (in delete_refs()) allows delete_ref() to emit its error,
> but then follows it up with
> 
>     error(_("could not remove reference %s"), refname)
> 
> The "could not remove reference" error originally came from a similar
> message in remove_branches() (from builtin/remote.c).
> 
> I *think* this is an improvement, because the error from delete_ref()
> (which usually comes from ref_transaction_commit()) can be pretty
> low-level, like
> 
>     Cannot lock ref '%s': unable to resolve reference %s: %s
> 
> where the last "%s" is the original strerror.
> 
> I would be happy to change the behavior if somebody has a concrete wish.
> At the same time I don't think we need to sweat the details too much,
> because these errors should only ever be seen in the case of a broken
> repository or a race between two processes; i.e., only in pretty rare
> and anomalous situations.

Thanks for the explanation. I agree it probably doesn't matter much either way.

-Peff
Previous: Michael HaggertyNext: Michael Haggerty
Message 22 of 30 in “Improve "refs" module encapsulation”
  1. 00/13 Improve "refs" module encapsulationMichael Haggerty, Jun 8, 2015
  2. 01/13 delete_ref(): move declaration to refs.hMichael Haggerty, Jun 8, 2015
  3. Stefan BellerJun 8, 2015
  4. Michael HaggertyJun 9, 2015
  5. Stefan BellerJun 9, 2015
  6. Michael HaggertyJun 13, 2015
  7. 02/13 remove_branches(): remove temporaryMichael Haggerty, Jun 8, 2015
  8. Stefan BellerJun 8, 2015
  9. 03/13 delete_ref(): handle special case more explicitlyMichael Haggerty, Jun 8, 2015
  10. Stefan BellerJun 8, 2015
  11. Michael HaggertyJun 9, 2015
  12. 04/13 delete_refs(): new function for the refs APIMichael Haggerty, Jun 8, 2015
  13. 05/13 delete_refs(): improve error messageMichael Haggerty, Jun 8, 2015
  14. Junio C HamanoJun 9, 2015
  15. 06/13 delete_refs(): convert error message to lower caseMichael Haggerty, Jun 8, 2015
  16. Stefan BellerJun 8, 2015
  17. Michael HaggertyJun 9, 2015
  18. 07/13 prune_remote(): use delete_refs()Michael Haggerty, Jun 8, 2015
  19. Stefan BellerJun 8, 2015
  20. Jeff KingJun 8, 2015
  21. Michael HaggertyJun 9, 2015
  22. Jeff KingJun 9, 2015
  23. 08/13 repack_without_refs(): make function privateMichael Haggerty, Jun 8, 2015
  24. 09/13 initial_ref_transaction_commit(): function for initial ref creationMichael Haggerty, Jun 8, 2015
  25. 10/13 refs: remove some functions from the module's public interfaceMichael Haggerty, Jun 8, 2015
  26. 11/13 initial_ref_transaction_commit(): check for duplicate refsMichael Haggerty, Jun 8, 2015
  27. 12/13 initial_ref_transaction_commit(): check for ref D/F conflictsMichael Haggerty, Jun 8, 2015
  28. 13/13 refs: move the remaining ref module declarations to refs.hMichael Haggerty, Jun 8, 2015
  29. Stefan BellerJun 8, 2015
  30. Junio C HamanoJun 9, 2015

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.