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

Re: [PATCH v2 1/2] index-pack: test and document --strict=<msg>

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 26, 2024, 18:03 UTC
Message-ID
<xmqq1qa4nf9i.fsf@gitster.g>
In-Reply-To
<b3b3e8bd0bf2c83b57debef81edc39970beaf05b.1706289180.git.gitgitgadget@gmail.com>
"John Cai via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 31 quoted lines
> From: John Cai <johncai86@gmail.com>
>
> 5d477a334a (fsck (receive-pack): allow demoting errors to warnings,
> 2015-06-22) allowed a list of fsck msg to downgrade to be passed to
> --strict. However this is a hidden argument that was not documented nor
> tested. Though it is true that most users would not call this option
> directly, (nor use index-pack for that matter) it is still useful to
> document and test this feature.
>
> Signed-off-by: John Cai <johncai86@gmail.com>
> ---
>  Documentation/git-index-pack.txt |  9 +++++++--
>  builtin/index-pack.c             |  2 +-
>  t/t5300-pack-object.sh           | 22 ++++++++++++++++++++++
>  3 files changed, 30 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt
> index 6486620c3d8..f7a98bbf9c8 100644
> --- a/Documentation/git-index-pack.txt
> +++ b/Documentation/git-index-pack.txt
> @@ -79,8 +79,13 @@ OPTIONS
>  	to force the version for the generated pack index, and to force
>  	64-bit index entries on objects located above the given offset.
>  
> ---strict::
> -	Die, if the pack contains broken objects or links.
> +--strict[=<msg-id>=<severity>...]::
> +	Die, if the pack contains broken objects or links. If `<msg-ids>` is passed,
> +	it should be a comma-separated list of `<msg-id>=<severity>` elements where
> +	`<msg-id>` and `<severity>` are used to change the severity of some possible
> +	issues, e.g., `--strict="missingEmail=ignore,badTagName=error"`. See the entry
There no longer is <msg-ids>, so I'll tweak the text perhaps like so:
	An optional value that is a comma-separated list of '<msg-id>=<severity>'
	can be passed to change the severity of some possible issues, ...

while queueing. Will probably do the same for the --fsck-objects side in the next patch.

Other than that, thanks for a pleasant read.
Show 51 quoted lines
> +	for the `fsck.<msg-id>` configuration options in `linkgit:git-fsck[1] for
> +	more information on the possible values of `<msg-id>` and `<severity>`.
>  
>  --progress-title::
>  	For internal use only.
> diff --git a/builtin/index-pack.c b/builtin/index-pack.c
> index 1ea87e01f29..1e53ca23775 100644
> --- a/builtin/index-pack.c
> +++ b/builtin/index-pack.c
> @@ -24,7 +24,7 @@
>  #include "setup.h"
>  
>  static const char index_pack_usage[] =
> -"git index-pack [-v] [-o <index-file>] [--keep | --keep=<msg>] [--[no-]rev-index] [--verify] [--strict] (<pack-file> | --stdin [--fix-thin] [<pack-file>])";
> +"git index-pack [-v] [-o <index-file>] [--keep | --keep=<msg>] [--[no-]rev-index] [--verify] [--strict[=<msg-ids>]] (<pack-file> | --stdin [--fix-thin] [<pack-file>])";
>  
>  struct object_entry {
>  	struct pack_idx_entry idx;
> diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh
> index d402ec18b79..496fffa0f8a 100755
> --- a/t/t5300-pack-object.sh
> +++ b/t/t5300-pack-object.sh
> @@ -441,6 +441,28 @@ test_expect_success 'index-pack with --strict' '
>  	)
>  '
>  
> +test_expect_success 'index-pack with --strict downgrading fsck msgs' '
> +	test_when_finished rm -rf strict &&
> +	git init strict &&
> +	(
> +		cd strict &&
> +		test_commit first hello &&
> +		cat >commit <<-EOF &&
> +		tree $(git rev-parse HEAD^{tree})
> +		parent $(git rev-parse HEAD)
> +		author A U Thor
> +		committer A U Thor
> +
> +		commit: this is a commit with bad emails
> +
> +		EOF
> +		git hash-object --literally -t commit -w --stdin <commit >commit_list &&
> +		PACK=$(git pack-objects test <commit_list) &&
> +		test_must_fail git index-pack --strict "test-$PACK.pack" &&
> +		git index-pack --strict="missingEmail=ignore" "test-$PACK.pack"
> +	)
> +'
> +
>  test_expect_success 'honor pack.packSizeLimit' '
>  	git config pack.packSizeLimit 3m &&
>  	packname_10=$(git pack-objects test-10 <obj-list) &&
Previous: John Cai via GitGitGadgetNext: John Cai via GitGitGadget
Message 8 of 29 in “index-pack: fsck honor checks”
  1. 0/2 index-pack: fsck honor checksJohn Cai via GitGitGadget, Jan 25, 2024
  2. 1/2 index-pack: test and document --strict=<msg>John Cai via GitGitGadget, Jan 25, 2024
  3. Junio C HamanoJan 25, 2024
  4. 2/2 index-pack: --fsck-objects to take an optional argument for fsck msgsJohn Cai via GitGitGadget, Jan 25, 2024
  5. Junio C HamanoJan 25, 2024
  6. 0/2 index-pack: fsck honor checksJohn Cai via GitGitGadget, Jan 26, 2024
  7. 1/2 index-pack: test and document --strict=<msg>John Cai via GitGitGadget, Jan 26, 2024
  8. Junio C HamanoJan 26, 2024
  9. 2/2 index-pack: --fsck-objects to take an optional argument for fsck msgsJohn Cai via GitGitGadget, Jan 26, 2024
  10. Junio C HamanoJan 26, 2024
  11. John CaiJan 26, 2024
  12. 0/2 index-pack: fsck honor checksJohn Cai via GitGitGadget, Jan 26, 2024
  13. 1/2 index-pack: test and document --strict=<msg-id>=<severity>...John Cai via GitGitGadget, Jan 26, 2024
  14. 2/2 index-pack: --fsck-objects to take an optional argument for fsck msgsJohn Cai via GitGitGadget, Jan 26, 2024
  15. Junio C HamanoJan 26, 2024
  16. John CaiJan 26, 2024
  17. Patrick SteinhardtJan 29, 2024
  18. Junio C HamanoJan 29, 2024
  19. Jonathan TanJan 26, 2024
  20. John CaiJan 27, 2024
  21. Jonathan TanJan 31, 2024
  22. John CaiFeb 1, 2024
  23. Junio C HamanoFeb 1, 2024
  24. 0/2 index-pack: fsck honor checksJohn Cai via GitGitGadget, Feb 1, 2024
  25. 1/2 index-pack: test and document --strict=<msg-id>=<severity>...John Cai via GitGitGadget, Feb 1, 2024
  26. 2/2 index-pack: --fsck-objects to take an optional argument for fsck msgsJohn Cai via GitGitGadget, Feb 1, 2024
  27. SZEDER GáborMar 8, 2024
  28. John CaiMar 9, 2024
  29. Christian CouderFeb 2, 2024

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.