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

Re: [PATCH 2/3] diff_flush_patch_id: stop returning error result

From
Jeff King <peff@peff.net>
Date
Sep 9, 2016, 19:37 UTC
Message-ID
<20160909193756.okvgzjiqcr5jo6hf@sigill.intra.peff.net>
In-Reply-To
<alpine.DEB.2.20.1609091455180.129229@virtualbox>
On Fri, Sep 09, 2016 at 02:58:25PM +0200, Johannes Schindelin wrote:
Show 27 quoted lines
> > Yes, I agree that this is the opposite direction of libification. And I
> > agree that the current message is not very helpful.
> > 
> > But I am not sure that returning the error up the stack will actually
> > help somebody move forward. The reason these are all die() calls in the
> > rest of the diff code is that they are generally indicative of
> > unrecoverable repository corruption. So any advice does not really
> > depend on what operation you are performing; it is always "stop what you
> > are doing immediately, run fsck, and try to get the broken objects from
> > somebody else".
> > 
> > So IMHO, on balance this is not hurting anything.
> 
> Well, you make such a situation even worse than it already is.
> 
> It would be one thing to change the code to actually say "stop what you
> are doing immediately, run `git fsck` and try to get the broken objects
> from somewhere else", *before* saying how to proceed after that.
> 
> But that is not what your patch does.
> 
> What your patch does is to remove *even the possibility* of saying how to
> proceed after getting the repository corruption fixed. And instead of
> saying how the corruption could be fixed, it outputs a terse "cannot read
> files to diff".
> 
> I do not think that is a wise direction.

First, do not blame me for the terse "cannot read files to diff". That is the current message. And my patch does not make changing that message any more difficult. You are welcome to change it in its error() form. You are welcome to change it in the resulting die().

The quality of that message is totally orthogonal to what the patch is doing.

The _only_ thing it is losing is the ability to for the caller to then additionally say "once you have finished uncorrupting the repository, you can resume your operation with ...".

My point is that this is not useful advice. No callers give it, and I don't foresee other callers giving it. My argument above was basically that it is such an exceptional condition it is not worth worrying about.

-Peff
Previous: Johannes SchindelinNext: Jeff King
Message 19 of 35 in “more patch-id speedups”
  1. 0/2 more patch-id speedupsJeff King, Sep 7, 2016
  2. 1/2 patch-ids: turn off rename detectionJeff King, Sep 7, 2016
  3. Johannes SchindelinSep 7, 2016
  4. 2/2 patch-ids: skip merge commitsJeff King, Sep 7, 2016
  5. Johannes SchindelinSep 7, 2016
  6. Jeff KingSep 7, 2016
  7. Jeff KingSep 7, 2016
  8. Johannes SchindelinSep 7, 2016
  9. Jeff KingSep 7, 2016
  10. 0/3 patch-id for mergesJeff King, Sep 7, 2016
  11. 1/3 patch-ids: turn off rename detectionJeff King, Sep 7, 2016
  12. Jacob KellerSep 7, 2016
  13. 2/3 diff_flush_patch_id: stop returning error resultJeff King, Sep 7, 2016
  14. Ramsay JonesSep 8, 2016
  15. Jeff KingSep 8, 2016
  16. Johannes SchindelinSep 9, 2016
  17. Jeff KingSep 9, 2016
  18. Johannes SchindelinSep 9, 2016
  19. Jeff KingSep 9, 2016
  20. 3/3 patch-ids: use commit sha1 as patch-id for merge commitsJeff King, Sep 7, 2016
  21. Jacob KellerSep 7, 2016
  22. Jeff KingSep 7, 2016
  23. Josh TriplettSep 7, 2016
  24. Jeff KingSep 8, 2016
  25. 0/2 patch-id for mergesJeff King, Sep 9, 2016
  26. 1/2 patch-ids: turn off rename detectionJeff King, Sep 9, 2016
  27. 2/2 patch-ids: define patch-id of merge commits as "null"Jeff King, Sep 9, 2016
  28. Jeff KingSep 9, 2016
  29. Junio C HamanoSep 9, 2016
  30. Junio C HamanoSep 9, 2016
  31. Jeff KingSep 12, 2016
  32. Junio C HamanoSep 12, 2016
  33. Jeff KingSep 12, 2016
  34. Junio C HamanoSep 12, 2016
  35. Johannes SchindelinSep 25, 2016

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.