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

Re: [PATCH v2 5/5] fetch: implement fetch.fsck.*

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
May 31, 2018, 07:23 UTC
Message-ID
<87efhs9tlw.fsf@evledraar.gmail.com>
In-Reply-To
<xmqqin75ere0.fsf@gitster-ct.c.googlers.com>
On Wed, May 30 2018, Junio C Hamano wrote:
Show 37 quoted lines
> Earlier I mumbled "this 4-patch series generally looks good but I
> need to re-read the implementation step"; I meant this 5-patch
> series and here is my impression after re-reading the implementation
> step.
>
> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
>
>> diff --git a/Documentation/config.txt b/Documentation/config.txt
>> index f97f21c022..f69cd31ad0 100644
>> --- a/Documentation/config.txt
>> +++ b/Documentation/config.txt
>> @@ -1426,6 +1426,16 @@ fetch.fsckObjects::
>> ...
>
> Nicely written.
>
>> diff --git a/fetch-pack.c b/fetch-pack.c
>> index 490c38f833..9e4282788e 100644
>> --- a/fetch-pack.c
>> +++ b/fetch-pack.c
>> @@ -19,6 +19,7 @@
>>  #include "sha1-array.h"
>>  #include "oidset.h"
>>  #include "packfile.h"
>> +#include "fsck.h"
>>
>>  static int transfer_unpack_limit = -1;
>>  static int fetch_unpack_limit = -1;
>> @@ -33,6 +34,7 @@ static int agent_supported;
>>  static int server_supports_filtering;
>>  static struct lock_file shallow_lock;
>>  static const char *alternate_shallow_file;
>> +static struct strbuf fsck_msg_types = STRBUF_INIT;
>
> s/msg_types[]/exclude[]/ or something, as this is not just about "we
> tolerate known and future instances of 0-padded mode in trees", but
> also "we know this and that object is bad so do not complain" as well.

I copied the fsck_msg_types variable as-is from builtin/receive-pack.c which Johannes added in 5d477a334a ("fsck (receive-pack): allow demoting errors to warnings", 2015-06-22).

That's not a justification for doing the same here, but does your critique also extend to that variable name, so I could fix it there while I'm at it?

Show 27 quoted lines
> Other than that, the implementation looks good.
>
>> diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh
>> index 49d3621a92..b7f5222c2b 100755
>> --- a/t/t5504-fetch-receive-strict.sh
>> +++ b/t/t5504-fetch-receive-strict.sh
>> @@ -135,6 +135,20 @@ test_expect_success 'push with receive.fsck.skipList' '
>>  	git push --porcelain dst bogus
>>  '
>>
>> +test_expect_success 'fetch with fetch.fsck.skipList' '
>> +	commit="$(git hash-object -t commit -w --stdin <bogus-commit)" &&
>> +	refspec=refs/heads/bogus:refs/heads/bogus &&
>> +	git push . $commit:refs/heads/bogus &&
>> +	rm -rf dst &&
>> +	git init dst &&
>> +	git --git-dir=dst/.git config fetch.fsckObjects true &&
>> +	test_must_fail git --git-dir=dst/.git fetch "file://$(pwd)" $refspec &&
>> +	git --git-dir=dst/.git config fetch.fsck.skipList dst/.git/SKIP &&
>> +	echo $commit >dst/.git/SKIP &&
>> +	git --git-dir=dst/.git fetch "file://$(pwd)" $refspec
>> +'
>
> If the test does not change meaning when file://$(pwd) is replaced
> with "." (or ".." or whatever if other tests below moves cwd
> around), I'd think it is preferrable.  Seeing $(pwd) always makes me
> nervous about Windows.
Thanks. Will fix.
Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 34 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.