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

[PATCH v2 0/2] index-pack: fsck honor checks

From
John Cai via GitGitGadget <gitgitgadget@gmail.com>
Date
Jan 26, 2024, 17:12 UTC
Message-ID
<pull.1658.v2.git.git.1706289180.gitgitgadget@gmail.com>
In-Reply-To
<pull.1658.git.git.1706215884.gitgitgadget@gmail.com>

git-index-pack has a --strict mode that can take an optional argument to provide a list of fsck issues to change their severity. --fsck-objects does not have such a utility, which would be useful if one would like to be more lenient or strict on data integrity in a repository.

Like --strict, Allow --fsck-objects to also take a list of fsck msgs to change the severity.

Change since V1:
 * edited commit messages
 * clarified formatting in documentation for --strict= and --fsck-objects=
John Cai (2):
  index-pack: test and document --strict=<msg>
  index-pack: --fsck-objects to take an optional argument for fsck msgs
 Documentation/git-index-pack.txt | 19 +++++++++++----
 builtin/index-pack.c             |  5 ++--
 t/t5300-pack-object.sh           | 41 ++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+), 6 deletions(-)
base-commit: 186b115d3062e6230ee296d1ddaa0c4b72a464b5
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1658%2Fjohn-cai%2Fjc%2Findex-pack-fsck-honor-checks-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1658/john-cai/jc/index-pack-fsck-honor-checks-v2
Pull-Request: https://github.com/git/git/pull/1658
Range-diff vs v1:
 1:  9b353aff73d ! 1:  b3b3e8bd0bf index-pack: test and document --strict=<msg>
     @@ Commit message
          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 true that most users would not call this option
     -    direction, (nor use index-pack for that matter) it is still useful to
     +    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: OPTIONS
       
      ---strict::
      -	Die, if the pack contains broken objects or links.
     -+--strict[=<msg-ids>]::
     ++--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, eg: `--strict="missingEmail=ignore,badTagName=error"`. See the entry
     ++	issues, e.g., `--strict="missingEmail=ignore,badTagName=error"`. See the entry
      +	for the `fsck.<msg-id>` configuration options in `linkgit:git-fsck[1] for
      +	more information on the possible values of `<msg-id>` and `<severity>`.
       
     @@ t/t5300-pack-object.sh: test_expect_success 'index-pack with --strict' '
      +		author A U Thor
      +		committer A U Thor
      +
     -+		commit: this is a commit wit bad emails
     ++		commit: this is a commit with bad emails
      +
      +		EOF
      +		git hash-object --literally -t commit -w --stdin <commit >commit_list &&
 2:  074e0c7ab92 ! 2:  cce63c6465f index-pack: --fsck-objects to take an optional argument for fsck msgs
     @@ Metadata
       ## Commit message ##
          index-pack: --fsck-objects to take an optional argument for fsck msgs
      
     -    git-index-pack has a --strict mode that can take an optional argument to
     -    provide a list of fsck issues to change their severity. --fsck-objects
     -    does not have such a utility, which would be useful if one would like to
     -    be more lenient or strict on data integrity in a repository.
     +    git-index-pack has a --strict option that can take an optional argument
     +    to provide a list of fsck issues to change their severity.
     +    --fsck-objects does not have such a utility, which would be useful if
     +    one would like to be more lenient or strict on data integrity in a
     +    repository.
      
     -    Like --strict, Allow --fsck-objects to also take a list of fsck msgs to
     +    Like --strict, allow --fsck-objects to also take a list of fsck msgs to
          change the severity.
      
     -    This commit also removes the "For internal use only" note for
     -    --fsck-objects, and documents the option. This won't often be used by
     -    the normal end user, but it turns out it is useful for Git forges like
     -    GitLab.
     +    Remove the "For internal use only" note for --fsck-objects, and document
     +    the option. This won't often be used by the normal end user, but it
     +    turns out it is useful for Git forges like GitLab.
      
          Signed-off-by: John Cai <johncai86@gmail.com>
      
     @@ Documentation/git-index-pack.txt: default and "Indexing objects" when `--stdin`
       
      ---fsck-objects::
      -	For internal use only.
     -+--fsck-objects[=<msg-ids>]::
     -+	Instructs index-pack to check for broken objects instead of broken
     -+	links. If `<msg-ids>` is passed, it should be  a comma-separated list of
     -+	`<msg-id>=<severity>` where `<msg-id>` and `<severity>` are used to
     -+	change the severity of `fsck` errors, eg: `--strict="missingEmail=ignore,badTagName=ignore"`.
     -+	See the entry for the `fsck.<msg-id>` configuration options in
     -+	`linkgit:git-fsck[1] for more information on the possible values of
     -+	`<msg-id>` and `<severity>`.
     ++--fsck-objects[=<msg-ids>=<severity>...]::
     ++	Instructs index-pack to check for broken objects, but unlike `--strict`,
     ++	does not choke on broken links. If `<msg-ids>` is passed, it should be
     ++	a comma-separated list of `<msg-id>=<severity>` where `<msg-id>` and
     ++	`<severity>` are used to change the severity of `fsck` errors e.g.,
     ++	`--strict="missingEmail=ignore,badTagName=ignore"`. See the entry for
     ++	the `fsck.<msg-id>` configuration options in `linkgit:git-fsck[1] for
     ++	more information on the possible values of `<msg-id>` and `<severity>`.
       +
       Die if the pack contains broken objects. If the pack contains a tree
       pointing to a .gitmodules blob that does not exist, prints the hash of
-- 
gitgitgadget
Previous: Junio C HamanoNext: John Cai via GitGitGadget
Message 6 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.