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

[PATCH 0/4] fsck: doc fixes & fetch.fsck.* implementation

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
May 24, 2018, 19:35 UTC
Message-ID
<20180524193516.28713-1-avarab@gmail.com>
In-Reply-To
<20180524190214.GA21354@sigill.intra.peff.net>
On Thu, May 24, 2018 at 9:02 PM, Jeff King <peff@peff.net> wrote:
Show 34 quoted lines
> On Thu, May 24, 2018 at 07:04:04PM +0200, Ævar Arnfjörð Bjarmason wrote:
>
>> That doesn't work, because that's for the server-side, but I need the
>> fetch.fsck.* that doesn't exist. This works (I'll send a better patch
>> with tests / docs etc. soon):
>
> Yeah, I think this is the right direction.
>
>> +static int fetch_pack_config_cb(const char *var, const char *value, void *cb)
>> +{
>> +     if (strcmp(var, "fetch.fsck.skiplist") == 0) {
>> +             const char *path;
>> +
>> +             if (git_config_pathname(&path, var, value))
>> +                     return 1;
>> +             strbuf_addf(&fsck_msg_types, "%cskiplist=%s",
>> +                     fsck_msg_types.len ? ',' : '=', path);
>> +             free((char *)path);
>> +             return 0;
>> +     }
>> +
>> +     if (skip_prefix(var, "fetch.fsck.", &var)) {
>> +             if (is_valid_msg_type(var, value))
>> +                     strbuf_addf(&fsck_msg_types, "%c%s=%s",
>> +                             fsck_msg_types.len ? ',' : '=', var, value);
>> +             else
>> +                     warning("Skipping unknown msg id '%s'", var);
>> +             return 0;
>> +     }
>
> This matches what's in receive-pack, though the way we stuff all of the
> options into a flat string is kind of nasty. I also wonder if we'd
> eventually run up against command-line limits if somebody had a
> complicated fsck config.

Yeah, but I'm leaving this for the future. I doubt that it's going to happen in practice, although if you have a huge skip-list...

> I wonder if we should simply be telling index-pack "please read fsck
> config from the prefix 'fetch.fsck'" instead.

I think this whole notion of reading the same config from two places sucks, and now with my patches it's three. But I can't think of a reasonable way to make it better without even more complexity, and maybe it's better to split it up anyway, i.e. the stuff you want to accept is different that fsck and fetch.

> I dunno, maybe I am just creating work. Certainly I don't think it
> should be a blocker for adding fetch.fsck support. But if you want to
> think about it while you are here or write a patch, I wouldn't complain. :)
Sorry, too late. I already wrote all of this :)
Ævar Arnfjörð Bjarmason (4):
  config doc: don't describe *.fetchObjects twice
  config doc: unify the description of fsck.* and receive.fsck.*
  config doc: elaborate on what transfer.fsckObjects does
  fetch: implement fetch.fsck.*
 Documentation/config.txt        | 113 ++++++++++++++++++++------------
 fetch-pack.c                    |  32 ++++++++-
 t/t5504-fetch-receive-strict.sh |  46 +++++++++++++
 3 files changed, 148 insertions(+), 43 deletions(-)
-- 
2.17.0.290.gded63e768a
Previous: Jeff KingNext: Ævar Arnfjörð Bjarmason
Message 5 of 69 in “BUG: No way to set fsck.<msg-id> when cloning”
  1. Ævar Arnfjörð BjarmasonMay 24, 2018
  2. Kevin DaudtMay 24, 2018
  3. Ævar Arnfjörð BjarmasonMay 24, 2018
  4. Jeff KingMay 24, 2018
  5. 0/4 fsck: doc fixes & fetch.fsck.* implementationÆvar Arnfjörð Bjarmason, May 24, 2018
  6. 1/4 config doc: don't describe *.fetchObjects twiceÆvar Arnfjörð Bjarmason, May 24, 2018
  7. Junio C HamanoMay 25, 2018
  8. 3/4 config doc: elaborate on what transfer.fsckObjects doesÆvar Arnfjörð Bjarmason, May 24, 2018
  9. Eric SunshineMay 24, 2018
  10. Junio C HamanoMay 25, 2018
  11. Ævar Arnfjörð BjarmasonMay 31, 2018
  12. 2/4 config doc: unify the description of fsck.* and receive.fsck.*Ævar Arnfjörð Bjarmason, May 24, 2018
  13. Eric SunshineMay 24, 2018
  14. Ævar Arnfjörð BjarmasonMay 24, 2018
  15. Eric SunshineMay 24, 2018
  16. Junio C HamanoMay 25, 2018
  17. 4/4 fetch: implement fetch.fsck.*Ævar Arnfjörð Bjarmason, May 24, 2018
  18. Junio C HamanoMay 25, 2018
  19. 0/5 fsck: doc fixes & fetch.fsck.* implementationÆvar Arnfjörð Bjarmason, May 25, 2018
  20. 1/5 config doc: don't describe *.fetchObjects twiceÆvar Arnfjörð Bjarmason, May 25, 2018
  21. Eric SunshineMay 25, 2018
  22. 2/5 config doc: unify the description of fsck.* and receive.fsck.*Ævar Arnfjörð Bjarmason, May 25, 2018
  23. Eric SunshineMay 25, 2018
  24. Junio C HamanoMay 28, 2018
  25. Ævar Arnfjörð BjarmasonMay 28, 2018
  26. Junio C HamanoMay 30, 2018
  27. Junio C HamanoMay 30, 2018
  28. Ævar Arnfjörð BjarmasonMay 31, 2018
  29. Junio C HamanoJun 1, 2018
  30. 4/5 config doc: mention future aspirations for transfer.fsckObjectsÆvar Arnfjörð Bjarmason, May 25, 2018
  31. Christian CouderMay 25, 2018
  32. 5/5 fetch: implement fetch.fsck.*Ævar Arnfjörð Bjarmason, May 25, 2018
  33. Junio C HamanoMay 30, 2018
  34. Ævar Arnfjörð BjarmasonMay 31, 2018
  35. 3/5 config doc: elaborate on what transfer.fsckObjects doesÆvar Arnfjörð Bjarmason, May 25, 2018
  36. Eric SunshineMay 25, 2018
  37. 00/10 fsck: doc fixes & fetch.fsck.* implementationÆvar Arnfjörð Bjarmason, Jul 27, 2018
  38. SZEDER GáborJul 30, 2018
  39. 01/10 receive.fsck.<msg-id> tests: remove dead codeÆvar Arnfjörð Bjarmason, Jul 27, 2018
  40. Junio C HamanoJul 27, 2018
  41. Ævar Arnfjörð BjarmasonJul 27, 2018
  42. Junio C HamanoJul 27, 2018
  43. 02/10 config doc: don't describe *.fetchObjects twiceÆvar Arnfjörð Bjarmason, Jul 27, 2018
  44. Junio C HamanoJul 27, 2018
  45. 03/10 config doc: unify the description of fsck.* and receive.fsck.*Ævar Arnfjörð Bjarmason, Jul 27, 2018
  46. Junio C HamanoJul 27, 2018
  47. 04/10 config doc: elaborate on what transfer.fsckObjects doesÆvar Arnfjörð Bjarmason, Jul 27, 2018
  48. Junio C HamanoJul 27, 2018
  49. 05/10 config doc: elaborate on fetch.fsckObjects securityÆvar Arnfjörð Bjarmason, Jul 27, 2018
  50. Junio C HamanoJul 27, 2018
  51. Ævar Arnfjörð BjarmasonJul 28, 2018
  52. 06/10 transfer.fsckObjects tests: untangle confusing setupÆvar Arnfjörð Bjarmason, Jul 27, 2018
  53. 07/10 fetch: implement fetch.fsck.*Ævar Arnfjörð Bjarmason, Jul 27, 2018
  54. Junio C HamanoJul 27, 2018
  55. Junio C HamanoJul 27, 2018
  56. Duy NguyenJul 30, 2018
  57. Ævar Arnfjörð BjarmasonJul 30, 2018
  58. 08/10 fsck: test & document {fetch,receive}.fsck.* config fallbackÆvar Arnfjörð Bjarmason, Jul 27, 2018
  59. Junio C HamanoJul 27, 2018
  60. 09/10 fsck: add stress tests for fsck.skipListÆvar Arnfjörð Bjarmason, Jul 27, 2018
  61. 10/10 fsck: test and document unknown fsck.<msg-id> valuesÆvar Arnfjörð Bjarmason, Jul 27, 2018
  62. Ævar Arnfjörð BjarmasonJul 27, 2018
  63. Junio C HamanoJul 27, 2018
  64. Ævar Arnfjörð BjarmasonJul 28, 2018
  65. Junio C HamanoJul 30, 2018
  66. Junio C HamanoMay 28, 2018
  67. Jeff KingMay 24, 2018
  68. Thomas BraunMay 24, 2018
  69. Ævar Arnfjörð BjarmasonMay 25, 2018

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.