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

[GSoC][PATCH v10 00/10] ref consistency check infra setup

From
shejialuo <shejialuo@gmail.com>
Date
Jul 10, 2024, 14:43 UTC
Message-ID
<Zo6eJi8BePrQxTQV@ArchLinux>
In-Reply-To
<Zo0sQCBqyxX8dJ-f@ArchLinux>
Hi All:
This version handles the following problems:
1. Following the Justin's advice. Add a new commit to rename the
objects-related fsck error functions to make the series more clean.
2. Add a simple documentation for "fsck_refs_report".
3. The previous implementation of "fsck_refs_error_function" used
"static struct strbuf", as Eric said, it's a bad idea to use "static"
because of infrequent usage of "fsck_refs_error_function". And it will
make the code arder to "libify". I didn't consider this. So In this
version, use "struct strbuf" instead and add the corresponding
memory-free operation.
4. I should not add "verbose_refs" option in "fsck: add refs-related
error report function" commit. I add this option in "builtin/refs" to
make no confusion.
5. Enchance the commit message for "refs: set up ref consistency check
infrastructure" to mention that we have added placeholder functions.
6. Change the "oid_skiplist" from comments which are ignored by the
previous version.
Thanks for every reviwer.
CI: https://github.com/shejialuo/git/pull/8

Thanks, Jialuo

shejialuo (10):
  fsck: rename "skiplist" to "skip_oids"
  fsck: rename objects-related fsck error functions
  fsck: add a unified interface for reporting fsck messages
  fsck: add refs-related error report function
  refs: set up ref consistency check infrastructure
  builtin/refs: add verify subcommand and verbose_refs for
    "fsck_options"
  builtin/fsck: add `git-refs verify` child process
  files-backend: add unified interface for refs scanning
  fsck: add ref name check for files backend
  fsck: add ref content check for files backend
 Documentation/fsck-msgids.txt |  12 ++
 Documentation/git-refs.txt    |  13 ++
 builtin/fsck.c                |  32 ++++-
 builtin/mktag.c               |   1 +
 builtin/refs.c                |  44 ++++++
 fsck.c                        | 109 ++++++++++++---
 fsck.h                        |  66 ++++++---
 object-file.c                 |  11 +-
 refs.c                        |   7 +-
 refs.h                        |   8 ++
 refs/debug.c                  |  11 ++
 refs/files-backend.c          | 255 +++++++++++++++++++++++++++++++++-
 refs/packed-backend.c         |   8 ++
 refs/refs-internal.h          |  11 +-
 refs/reftable-backend.c       |   8 ++
 t/t0602-reffiles-fsck.sh      | 211 ++++++++++++++++++++++++++++
 16 files changed, 750 insertions(+), 57 deletions(-)
 create mode 100755 t/t0602-reffiles-fsck.sh
Range-diff against v9:
 1:  e044f933de =  1:  e044f933de fsck: rename "skiplist" to "skip_oids"
 -:  ---------- >  2:  73a7c53a23 fsck: rename objects-related fsck error functions
 2:  daaf3d0ffe !  3:  df4837e960 fsck: add a unified interface for reporting fsck messages
    @@ Commit message
     
      ## builtin/fsck.c ##
     @@ builtin/fsck.c: static int objerror(struct object *obj, const char *err)
    - 	return -1;
    - }
    - 
    --static int fsck_error_func(struct fsck_options *o UNUSED,
    --			   const struct object_id *oid,
    --			   enum object_type object_type,
    --			   enum fsck_msg_type msg_type,
    --			   enum fsck_msg_id msg_id UNUSED,
    --			   const char *message)
    -+static int fsck_objects_error_func(struct fsck_options *o UNUSED,
    -+				   const struct object_id *oid,
    -+				   enum object_type object_type,
    + static int fsck_objects_error_func(struct fsck_options *o UNUSED,
    + 				   const struct object_id *oid,
    + 				   enum object_type object_type,
     +				   const char *checked_ref_name UNUSED,
    -+				   enum fsck_msg_type msg_type,
    -+				   enum fsck_msg_id msg_id UNUSED,
    -+				   const char *message)
    - {
    - 	switch (msg_type) {
    - 	case FSCK_WARN:
    -@@ builtin/fsck.c: int cmd_fsck(int argc, const char **argv, const char *prefix)
    - 
    - 	fsck_walk_options.walk = mark_object;
    - 	fsck_obj_options.walk = mark_used;
    --	fsck_obj_options.error_func = fsck_error_func;
    -+	fsck_obj_options.error_func = fsck_objects_error_func;
    - 	if (check_strict)
    - 		fsck_obj_options.strict = 1;
    - 
    + 				   enum fsck_msg_type msg_type,
    + 				   enum fsck_msg_id msg_id UNUSED,
    + 				   const char *message)
     
      ## builtin/mktag.c ##
     @@ builtin/mktag.c: static struct fsck_options fsck_options = FSCK_OPTIONS_STRICT;
    @@ fsck.c: static int report(struct fsck_options *options,
      {
      	if (!options->object_names)
     @@ fsck.c: int fsck_buffer(const struct object_id *oid, enum object_type type,
    - 		      type);
    - }
    - 
    --int fsck_error_function(struct fsck_options *o,
    --			const struct object_id *oid,
    --			enum object_type object_type UNUSED,
    --			enum fsck_msg_type msg_type,
    --			enum fsck_msg_id msg_id UNUSED,
    --			const char *message)
    -+int fsck_objects_error_function(struct fsck_options *o,
    -+				const struct object_id *oid,
    -+				enum object_type object_type UNUSED,
    + int fsck_objects_error_function(struct fsck_options *o,
    + 				const struct object_id *oid,
    + 				enum object_type object_type UNUSED,
     +				const char *checked_ref_name UNUSED,
    -+				enum fsck_msg_type msg_type,
    -+				enum fsck_msg_id msg_id UNUSED,
    -+				const char *message)
    - {
    - 	if (msg_type == FSCK_WARN) {
    - 		warning("object %s: %s", fsck_describe_object(o, oid), message);
    + 				enum fsck_msg_type msg_type,
    + 				enum fsck_msg_id msg_id UNUSED,
    + 				const char *message)
     @@ fsck.c: int git_fsck_config(const char *var, const char *value,
    -  * Custom error callbacks that are used in more than one place.
    -  */
    - 
    --int fsck_error_cb_print_missing_gitmodules(struct fsck_options *o,
    --					   const struct object_id *oid,
    --					   enum object_type object_type,
    --					   enum fsck_msg_type msg_type,
    --					   enum fsck_msg_id msg_id,
    --					   const char *message)
    -+int fsck_objects_error_cb_print_missing_gitmodules(struct fsck_options *o,
    -+						   const struct object_id *oid,
    -+						   enum object_type object_type,
    + int fsck_objects_error_cb_print_missing_gitmodules(struct fsck_options *o,
    + 						   const struct object_id *oid,
    + 						   enum object_type object_type,
     +						   const char *checked_ref_name,
    -+						   enum fsck_msg_type msg_type,
    -+						   enum fsck_msg_id msg_id,
    -+						   const char *message)
    - {
    - 	if (msg_id == FSCK_MSG_GITMODULES_MISSING) {
    + 						   enum fsck_msg_type msg_type,
    + 						   enum fsck_msg_id msg_id,
    + 						   const char *message)
    +@@ fsck.c: int fsck_objects_error_cb_print_missing_gitmodules(struct fsck_options *o,
      		puts(oid_to_hex(oid));
      		return 0;
      	}
    --	return fsck_error_function(o, oid, object_type, msg_type, msg_id, message);
    +-	return fsck_objects_error_function(o, oid, object_type,
     +	return fsck_objects_error_function(o, oid, object_type, checked_ref_name,
    -+					   msg_type, msg_id, message);
    + 					   msg_type, msg_id, message);
      }
     
      ## fsck.h ##
    @@ fsck.h: int is_valid_msg_type(const char *msg_id, const char *msg_type);
      			  enum fsck_msg_type msg_type, enum fsck_msg_id msg_id,
      			  const char *message);
      
    --int fsck_error_function(struct fsck_options *o,
    --			const struct object_id *oid, enum object_type object_type,
    --			enum fsck_msg_type msg_type, enum fsck_msg_id msg_id,
    --			const char *message);
    --int fsck_error_cb_print_missing_gitmodules(struct fsck_options *o,
    --					   const struct object_id *oid,
    --					   enum object_type object_type,
    --					   enum fsck_msg_type msg_type,
    --					   enum fsck_msg_id msg_id,
    --					   const char *message);
    -+int fsck_objects_error_function(struct fsck_options *o,
    -+				const struct object_id *oid, enum object_type object_type,
    + int fsck_objects_error_function(struct fsck_options *o,
    + 				const struct object_id *oid, enum object_type object_type,
     +				const char *checked_ref_name,
    -+				enum fsck_msg_type msg_type, enum fsck_msg_id msg_id,
    -+				const char *message);
    -+int fsck_objects_error_cb_print_missing_gitmodules(struct fsck_options *o,
    -+						   const struct object_id *oid,
    -+						   enum object_type object_type,
    + 				enum fsck_msg_type msg_type, enum fsck_msg_id msg_id,
    + 				const char *message);
    + int fsck_objects_error_cb_print_missing_gitmodules(struct fsck_options *o,
    + 						   const struct object_id *oid,
    + 						   enum object_type object_type,
     +						   const char *checked_ref_name,
    -+						   enum fsck_msg_type msg_type,
    -+						   enum fsck_msg_id msg_id,
    -+						   const char *message);
    - 
    - struct fsck_options {
    - 	fsck_walk_func walk;
    -@@ fsck.h: struct fsck_options {
    - 	.gitmodules_done = OIDSET_INIT, \
    - 	.gitattributes_found = OIDSET_INIT, \
    - 	.gitattributes_done = OIDSET_INIT, \
    --	.error_func = fsck_error_function \
    -+	.error_func = fsck_objects_error_function \
    - }
    - #define FSCK_OPTIONS_STRICT { \
    - 	.strict = 1, \
    -@@ fsck.h: struct fsck_options {
    - 	.gitmodules_done = OIDSET_INIT, \
    - 	.gitattributes_found = OIDSET_INIT, \
    - 	.gitattributes_done = OIDSET_INIT, \
    --	.error_func = fsck_error_function, \
    -+	.error_func = fsck_objects_error_function, \
    - }
    - #define FSCK_OPTIONS_MISSING_GITMODULES { \
    - 	.strict = 1, \
    -@@ fsck.h: struct fsck_options {
    - 	.gitmodules_done = OIDSET_INIT, \
    - 	.gitattributes_found = OIDSET_INIT, \
    - 	.gitattributes_done = OIDSET_INIT, \
    --	.error_func = fsck_error_cb_print_missing_gitmodules, \
    -+	.error_func = fsck_objects_error_cb_print_missing_gitmodules, \
    - }
    - 
    - /* descend in all linked child objects
    + 						   enum fsck_msg_type msg_type,
    + 						   enum fsck_msg_id msg_id,
    + 						   const char *message);
     @@ fsck.h: int fsck_tag_standalone(const struct object_id *oid, const char *buffer,
       */
      int fsck_finish(struct fsck_options *options);
      
    ++/*
    ++ * Report an error or warning for refs.
    ++ */
     +__attribute__((format (printf, 5, 6)))
     +int fsck_refs_report(struct fsck_options *options,
     +		     const struct object_id *oid,
 3:  40da85ae30 !  4:  c8eb01c987 fsck: add refs-related options and error report function
    @@ Metadata
     Author: shejialuo <shejialuo@gmail.com>
     
      ## Commit message ##
    -    fsck: add refs-related options and error report function
    +    fsck: add refs-related error report function
     
         Add refs-related options to the "fsck_options", create refs-specific
         "error_func" callback "fsck_refs_error_function".
    @@ fsck.c: int fsck_objects_error_function(struct fsck_options *o,
     +			     enum fsck_msg_id msg_id UNUSED,
     +			     const char *message)
     +{
    -+	static struct strbuf sb = STRBUF_INIT;
    ++	struct strbuf sb = STRBUF_INIT;
    ++	int ret = 0;
     +
    -+	strbuf_reset(&sb);
     +	strbuf_addstr(&sb, checked_ref_name);
     +	if (oid)
     +		strbuf_addf(&sb, " -> (%s)", oid_to_hex(oid));
     +
    -+	if (msg_type == FSCK_WARN) {
    ++	if (msg_type == FSCK_WARN)
     +		warning("%s: %s", sb.buf, message);
    -+		return 0;
    -+	}
    -+	error("%s: %s", sb.buf, message);
    -+	return 1;
    ++	else
    ++		ret = error("%s: %s", sb.buf, message);
    ++
    ++	strbuf_release(&sb);
    ++	return ret;
     +}
     +
      static int fsck_blobs(struct oidset *blobs_found, struct oidset *blobs_done,
    @@ fsck.h: int fsck_objects_error_cb_print_missing_gitmodules(struct fsck_options *
      
      struct fsck_options {
      	fsck_walk_func walk;
    - 	fsck_error error_func;
    - 	unsigned strict:1;
    -+	unsigned verbose_refs:1;
    - 	enum fsck_msg_type *msg_type;
    - 	struct oidset skip_oids;
    - 	struct oidset gitmodules_found;
     @@ fsck.h: struct fsck_options {
      	.gitattributes_done = OIDSET_INIT, \
      	.error_func = fsck_objects_error_cb_print_missing_gitmodules, \
 4:  a38ea1b117 !  5:  e4085df496 refs: set up ref consistency check infrastructure
    @@ Commit message
         grouped into any above five categories. Explicitly add blank line to
         make it different from others.
     
    +    Last, implement placeholder functions for each ref backends.
    +
         Mentored-by: Patrick Steinhardt <ps@pks.im>
         Mentored-by: Karthik Nayak <karthik.188@gmail.com>
         Signed-off-by: shejialuo <shejialuo@gmail.com>
 5:  8320f56e0b !  6:  497f224bed builtin/refs: add verify subcommand
    @@ Metadata
     Author: shejialuo <shejialuo@gmail.com>
     
      ## Commit message ##
    -    builtin/refs: add verify subcommand
    +    builtin/refs: add verify subcommand and verbose_refs for "fsck_options"
     
         Introduce a new subcommand "verify" in git-refs(1) to allow the user to
    -    check the reference database consistency.
    +    check the reference database consistency and also this subcommand will
    +    be used as the entry point of checking refs for "git-fsck(1)". Last, add
    +    "verbose_refs" field into "fsck_options" to indicate whether we should
    +    print verbose messages when checking refs consistency.
     
         Mentored-by: Patrick Steinhardt <ps@pks.im>
         Mentored-by: Karthik Nayak <karthik.188@gmail.com>
    @@ builtin/refs.c: static int cmd_refs_migrate(int argc, const char **argv, const c
     +		OPT_BOOL(0, "strict", &strict, N_("enable strict checking")),
     +		OPT_END(),
     +	};
    -+	int ret = 0;
    ++	int ret;
     +
     +	argc = parse_options(argc, argv, prefix, options, verify_usage, 0);
     +	if (argc)
    @@ builtin/refs.c: static int cmd_refs_migrate(int argc, const char **argv, const c
     +	ret = refs_fsck(get_main_ref_store(the_repository), &fsck_refs_options);
     +
     +	/*
    -+	 * Explicitly free the allocated array and "oid_skiplist"
    ++	 * Explicitly free the allocated array and "skip_oids" set
     +	 */
     +	free(fsck_refs_options.msg_type);
     +	oidset_clear(&fsck_refs_options.skip_oids);
    @@ builtin/refs.c: static int cmd_refs_migrate(int argc, const char **argv, const c
      		OPT_END(),
      	};
      
    +
    + ## fsck.h ##
    +@@ fsck.h: struct fsck_options {
    + 	fsck_walk_func walk;
    + 	fsck_error error_func;
    + 	unsigned strict:1;
    ++	unsigned verbose_refs:1;
    + 	enum fsck_msg_type *msg_type;
    + 	struct oidset skip_oids;
    + 	struct oidset gitmodules_found;
 6:  6614a06ef5 =  7:  86a14c7b43 builtin/fsck: add `git-refs verify` child process
 7:  928cc96396 =  8:  daedb80b47 files-backend: add unified interface for refs scanning
 8:  4d50d4932f =  9:  c36d588e4f fsck: add ref name check for files backend
 9:  7edb810819 = 10:  521e0d9ca3 fsck: add ref content check for files backend
-- 
2.45.2
Previous: shejialuoNext: shejialuo
Message 140 of 282 in “ref consistency check infra setup”
  1. shejialuoMay 30, 2024
  2. [GSoC][PATCH 1/2] refs: setup ref consistency check infrastructureshejialuo, May 30, 2024
  3. Junio C HamanoMay 31, 2024
  4. shejialuoMay 31, 2024
  5. Patrick SteinhardtJun 3, 2024
  6. Karthik NayakJun 3, 2024
  7. Eric SunshineJun 3, 2024
  8. [GSoC][PATCH 2/2] refs: add name and content check for file backendshejialuo, May 30, 2024
  9. Junio C HamanoMay 31, 2024
  10. shejialuoMay 31, 2024
  11. Eric SunshineMay 31, 2024
  12. Patrick SteinhardtJun 3, 2024
  13. [GSoC][PATCH v2 0/7] ref consistency check infra setupshejialuo, Jun 12, 2024
  14. [GSoC][PATCH v2 1/7] fsck: add refs check interfaces to interface with fsck error levelsshejialuo, Jun 12, 2024
  15. [GSoC][PATCH v2 2/7] refs: set up ref consistency check infrastructureshejialuo, Jun 12, 2024
  16. Karthik NayakJun 15, 2024
  17. [GSoC][PATCH v2 3/7] builtin/refs: add verify subcommandshejialuo, Jun 12, 2024
  18. Karthik NayakJun 15, 2024
  19. [GSoC][PATCH v2 4/7] builtin/fsck: add `git-refs verify` child processshejialuo, Jun 12, 2024
  20. Karthik NayakJun 15, 2024
  21. [GSoC][PATCH v2 5/7] files-backend: add unified interface for refs scanningshejialuo, Jun 12, 2024
  22. Karthik NayakJun 15, 2024
  23. shejialuoJun 18, 2024
  24. [GSoC][PATCH v2 6/7] fsck: add ref name check for files backendshejialuo, Jun 12, 2024
  25. [GSoC][PATCH v2 7/7] fsck: add ref content check for files backendshejialuo, Jun 12, 2024
  26. Junio C HamanoJun 13, 2024
  27. shejialuoJun 14, 2024
  28. Junio C HamanoJun 14, 2024
  29. jialuo sheJun 14, 2024
  30. Junio C HamanoJun 14, 2024
  31. shejialuoJun 12, 2024
  32. [GSoC][PATCH v3 0/7] ref consistency check infra setupshejialuo, Jun 18, 2024
  33. Junio C HamanoJun 18, 2024
  34. jialuo sheJun 18, 2024
  35. [GSoC][PATCH v3 1/7] fsck: add refs check interfaces to interface with fsck error levelsshejialuo, Jun 18, 2024
  36. Karthik NayakJun 18, 2024
  37. shejialuoJun 18, 2024
  38. Junio C HamanoJun 18, 2024
  39. jialuo sheJun 18, 2024
  40. shejialuoJun 19, 2024
  41. 2/7 refs: set up ref consistency check infrastructureshejialuo, Jun 18, 2024
  42. 3/7 builtin/refs: add verify subcommandshejialuo, Jun 18, 2024
  43. Karthik NayakJun 18, 2024
  44. shejialuoJun 18, 2024
  45. 4/7 builtin/fsck: add `git-refs verify` child processshejialuo, Jun 18, 2024
  46. 5/7 files-backend: add unified interface for refs scanningshejialuo, Jun 18, 2024
  47. 6/7 fsck: add ref name check for files backendshejialuo, Jun 18, 2024
  48. 7/7 fsck: add ref content check for files backendshejialuo, Jun 18, 2024
  49. [GSoC][PATCH v4 0/7] ref consistency check infra setupshejialuo, Jun 19, 2024
  50. [GSoC][PATCH v4 1/7] fsck: add refs check interfaces to interact with fsck error levelsshejialuo, Jun 19, 2024
  51. Junio C HamanoJun 20, 2024
  52. shejialuoJun 21, 2024
  53. [GSoC][PATCH v4 2/7] refs: set up ref consistency check infrastructureshejialuo, Jun 19, 2024
  54. [GSoC][PATCH v4 3/7] builtin/refs: add verify subcommandshejialuo, Jun 19, 2024
  55. [GSoC][PATCH v4 4/7] builtin/fsck: add `git-refs verify` child processshejialuo, Jun 19, 2024
  56. [GSoC][PATCH v4 5/7] files-backend: add unified interface for refs scanningshejialuo, Jun 19, 2024
  57. [GSoC][PATCH v4 6/7] fsck: add ref name check for files backendshejialuo, Jun 19, 2024
  58. [GSoC][PATCH v4 7/7] fsck: add ref content check for files backendshejialuo, Jun 19, 2024
  59. [GSoC][PATCH v5 00/12] ref consistency check infra setupshejialuo, Jun 27, 2024
  60. [GSoC][PATCH v5 01/12] fsck: rename "fsck_options" to "fsck_objects_options"shejialuo, Jun 27, 2024
  61. Junio C HamanoJun 27, 2024
  62. shejialuoJun 28, 2024
  63. [GSoC][PATCH v5 02/12] fsck: use "fsck_configs" to set up configsshejialuo, Jun 27, 2024
  64. Junio C HamanoJun 27, 2024
  65. shejialuoJun 28, 2024
  66. [GSoC][PATCH v5 03/12] fsck: abstract common options for reusingshejialuo, Jun 27, 2024
  67. [GSoC][PATCH v5 04/12] fsck: add "fsck_refs_options" structshejialuo, Jun 27, 2024
  68. [GSoC][PATCH v5 05/12] fsck: add a unified interface for reporting fsck messagesshejialuo, Jun 27, 2024
  69. [GSoC][PATCH v5 06/12] fsck: add "fsck_refs_options" initialization macrosshejialuo, Jun 27, 2024
  70. [GSoC][PATCH v5 07/12] refs: set up ref consistency check infrastructureshejialuo, Jun 27, 2024
  71. [GSoC][PATCH v5 08/12] builtin/refs: add verify subcommandshejialuo, Jun 27, 2024
  72. [GSoC][PATCH v5 09/12] builtin/fsck: add `git-refs verify` child processshejialuo, Jun 27, 2024
  73. [GSoC][PATCH v5 10/12] files-backend: add unified interface for refs scanningshejialuo, Jun 27, 2024
  74. [GSoC][PATCH v5 11/12] fsck: add ref name check for files backendshejialuo, Jun 27, 2024
  75. [GSoC][PATCH v5 12/12] fsck: add ref content check for files backendshejialuo, Jun 27, 2024
  76. [GSoC][PATCH v6 00/11] ref consistency check infra setupshejialuo, Jul 1, 2024
  77. 01/11 fsck: add "fsck_objects_options" to hold objects-related optionsshejialuo, Jul 1, 2024
  78. [GSoC][PATCH v6 02/11] fsck: rename "skiplist" to "oid_skiplist"shejialuo, Jul 1, 2024
  79. [GSoC][PATCH v6 03/11] fsck: add "fsck_refs_options" into "fsck_options"shejialuo, Jul 1, 2024
  80. [GSoC][PATCH v6 04/11] fsck: add a unified interface for reporting fsck messagesshejialuo, Jul 1, 2024
  81. [GSoC][PATCH v6 05/11] fsck: add "fsck_refs_options" initialization macrosshejialuo, Jul 1, 2024
  82. [GSoC][PATCH v6 06/11] refs: set up ref consistency check infrastructureshejialuo, Jul 1, 2024
  83. [GSoC][PATCH v6 07/11] builtin/refs: add verify subcommandshejialuo, Jul 1, 2024
  84. [GSoC][PATCH v6 08/11] builtin/fsck: add `git-refs verify` child processshejialuo, Jul 1, 2024
  85. [GSoC][PATCH v6 09/11] files-backend: add unified interface for refs scanningshejialuo, Jul 1, 2024
  86. [GSoC][PATCH v6 10/11] fsck: add ref name check for files backendshejialuo, Jul 1, 2024
  87. [GSoC][PATCH v6 11/11] fsck: add ref content check for files backendshejialuo, Jul 1, 2024
  88. Karthik NayakJul 2, 2024
  89. shejialuoJul 2, 2024
  90. Junio C HamanoJul 2, 2024
  91. [GSoC][PATCH v7 0/9] ref consistency check infra setupshejialuo, Jul 3, 2024
  92. [GSoC][PATCH v7 1/9] fsck: rename "skiplist" to "oid_skiplist"shejialuo, Jul 3, 2024
  93. Justin ToblerJul 5, 2024
  94. shejialuoJul 8, 2024
  95. [GSoC][PATCH v7 2/9] fsck: add a unified interface for reporting fsck messagesshejialuo, Jul 3, 2024
  96. Justin ToblerJul 5, 2024
  97. shejialuoJul 8, 2024
  98. [GSoC][PATCH v7 3/9] fsck: add refs-related options and error report functionshejialuo, Jul 3, 2024
  99. [GSoC][PATCH v7 4/9] refs: set up ref consistency check infrastructureshejialuo, Jul 3, 2024
  100. [GSoC][PATCH v7 5/9] builtin/refs: add verify subcommandshejialuo, Jul 3, 2024
  101. [GSoC][PATCH v7 6/9] builtin/fsck: add `git-refs verify` child processshejialuo, Jul 3, 2024
  102. [GSoC][PATCH v7 7/9] files-backend: add unified interface for refs scanningshejialuo, Jul 3, 2024
  103. [GSoC][PATCH v7 8/9] fsck: add ref name check for files backendshejialuo, Jul 3, 2024
  104. [GSoC][PATCH v7 9/9] fsck: add ref content check for files backendshejialuo, Jul 3, 2024
  105. [GSoC][PATCH v8 0/9] ref consistency check infra setupshejialuo, Jul 8, 2024
  106. [GSoC][PATCH v8 1/9] fsck: rename "skiplist" to "oid_skiplist"shejialuo, Jul 8, 2024
  107. [GSoC][PATCH v8 2/9] fsck: add a unified interface for reporting fsck messagesshejialuo, Jul 8, 2024
  108. Karthik NayakJul 8, 2024
  109. shejialuoJul 8, 2024
  110. Karthik NayakJul 8, 2024
  111. [GSoC][PATCH v8 3/9] fsck: add refs-related options and error report functionshejialuo, Jul 8, 2024
  112. Karthik NayakJul 8, 2024
  113. shejialuoJul 8, 2024
  114. [GSoC][PATCH v8 4/9] refs: set up ref consistency check infrastructureshejialuo, Jul 8, 2024
  115. [GSoC][PATCH v8 5/9] builtin/refs: add verify subcommandshejialuo, Jul 8, 2024
  116. [GSoC][PATCH v8 6/9] builtin/fsck: add `git-refs verify` child processshejialuo, Jul 8, 2024
  117. [GSoC][PATCH v8 7/9] files-backend: add unified interface for refs scanningshejialuo, Jul 8, 2024
  118. [GSoC][PATCH v8 8/9] fsck: add ref name check for files backendshejialuo, Jul 8, 2024
  119. [GSoC][PATCH v8 9/9] fsck: add ref content check for files backendshejialuo, Jul 8, 2024
  120. [GSoC][PATCH v9 0/9] ref consistency check infra setupshejialuo, Jul 9, 2024
  121. [GSoC][PATCH v9 1/9] fsck: rename "skiplist" to "skip_oids"shejialuo, Jul 9, 2024
  122. [GSoC][PATCH v9 2/9] fsck: add a unified interface for reporting fsck messagesshejialuo, Jul 9, 2024
  123. Justin ToblerJul 9, 2024
  124. shejialuoJul 10, 2024
  125. [GSoC][PATCH v9 3/9] fsck: add refs-related options and error report functionshejialuo, Jul 9, 2024
  126. Justin ToblerJul 9, 2024
  127. Eric SunshineJul 9, 2024
  128. shejialuoJul 10, 2024
  129. shejialuoJul 10, 2024
  130. [GSoC][PATCH v9 4/9] refs: set up ref consistency check infrastructureshejialuo, Jul 9, 2024
  131. Justin ToblerJul 9, 2024
  132. shejialuoJul 10, 2024
  133. [GSoC][PATCH v9 5/9] builtin/refs: add verify subcommandshejialuo, Jul 9, 2024
  134. Justin ToblerJul 9, 2024
  135. shejialuoJul 10, 2024
  136. [GSoC][PATCH v9 6/9] builtin/fsck: add `git-refs verify` child processshejialuo, Jul 9, 2024
  137. [GSoC][PATCH v9 7/9] files-backend: add unified interface for refs scanningshejialuo, Jul 9, 2024
  138. [GSoC][PATCH v9 8/9] fsck: add ref name check for files backendshejialuo, Jul 9, 2024
  139. [GSoC][PATCH v9 9/9] fsck: add ref content check for files backendshejialuo, Jul 9, 2024
  140. [GSoC][PATCH v10 00/10] ref consistency check infra setupshejialuo, Jul 10, 2024
  141. [GSoC][PATCH v10 01/10] fsck: rename "skiplist" to "skip_oids"shejialuo, Jul 10, 2024
  142. [GSoC][PATCH v10 02/10] fsck: rename objects-related fsck error functionsshejialuo, Jul 10, 2024
  143. [GSoC][PATCH v10 03/10] fsck: add a unified interface for reporting fsck messagesshejialuo, Jul 10, 2024
  144. Junio C HamanoJul 10, 2024
  145. shejialuoJul 11, 2024
  146. [GSoC][PATCH v10 04/10] fsck: add refs-related error report functionshejialuo, Jul 10, 2024
  147. [GSoC][PATCH v10 05/10] refs: set up ref consistency check infrastructureshejialuo, Jul 10, 2024
  148. [GSoC][PATCH v10 06/10] builtin/refs: add verify subcommand and verbose_refs for "fsck_options"shejialuo, Jul 10, 2024
  149. Junio C HamanoJul 10, 2024
  150. shejialuoJul 11, 2024
  151. [GSoC][PATCH v10 07/10] builtin/fsck: add `git-refs verify` child processshejialuo, Jul 10, 2024
  152. [GSoC][PATCH v10 08/10] files-backend: add unified interface for refs scanningshejialuo, Jul 10, 2024
  153. [GSoC][PATCH v10 09/10] fsck: add ref name check for files backendshejialuo, Jul 10, 2024
  154. [GSoC][PATCH v10 10/10] fsck: add ref content check for files backendshejialuo, Jul 10, 2024
  155. [GSoC][PATCH v11 00/10] ref consistency check infra setupshejialuo, Jul 14, 2024
  156. [GSoC][PATCH v11 01/10] fsck: rename "skiplist" to "skip_oids"shejialuo, Jul 14, 2024
  157. [GSoC][PATCH v11 02/10] fsck: add a unified interface for reporting fsck messagesshejialuo, Jul 14, 2024
  158. Karthik NayakJul 18, 2024
  159. shejialuoJul 20, 2024
  160. [GSoC][PATCH v11 03/10] fsck: rename objects-related fsck error functionsshejialuo, Jul 14, 2024
  161. [GSoC][PATCH v11 04/10] fsck: add refs-related error report functionshejialuo, Jul 14, 2024
  162. [GSoC][PATCH v11 05/10] refs: set up ref consistency check infrastructureshejialuo, Jul 14, 2024
  163. [GSoC][PATCH v11 06/10] git refs: add verify subcommandshejialuo, Jul 14, 2024
  164. [GSoC][PATCH v11 07/10] builtin/fsck: add `git-refs verify` child processshejialuo, Jul 14, 2024
  165. [GSoC][PATCH v11 08/10] files-backend: add unified interface for refs scanningshejialuo, Jul 14, 2024
  166. [GSoC][PATCH v11 09/10] fsck: add ref name check for files backendshejialuo, Jul 14, 2024
  167. [GSoC][PATCH v11 10/10] fsck: add ref content check for files backendshejialuo, Jul 14, 2024
  168. Karthik NayakJul 18, 2024
  169. Junio C HamanoJul 18, 2024
  170. Karthik NayakJul 19, 2024
  171. shejialuoJul 20, 2024
  172. shejialuoJul 20, 2024
  173. [GSoC][PATCH v12 00/10] ref consistency check infra setupshejialuo, Jul 20, 2024
  174. [GSoC][PATCH v12 01/10] fsck: rename "skiplist" to "skip_oids"shejialuo, Jul 20, 2024
  175. [GSoC][PATCH v12 02/10] fsck: add a unified interface for reporting fsck messagesshejialuo, Jul 20, 2024
  176. Karthik NayakJul 23, 2024
  177. [GSoC][PATCH v12 03/10] fsck: rename objects-related fsck error functionsshejialuo, Jul 20, 2024
  178. [GSoC][PATCH v12 04/10] fsck: add refs-related error report functionshejialuo, Jul 20, 2024
  179. [GSoC][PATCH v12 05/10] refs: set up ref consistency check infrastructureshejialuo, Jul 20, 2024
  180. [GSoC][PATCH v12 06/10] git refs: add verify subcommandshejialuo, Jul 20, 2024
  181. [GSoC][PATCH v12 07/10] builtin/fsck: add `git-refs verify` child processshejialuo, Jul 20, 2024
  182. [GSoC][PATCH v12 08/10] files-backend: add unified interface for refs scanningshejialuo, Jul 20, 2024
  183. [GSoC][PATCH v12 09/10] fsck: add ref name check for files backendshejialuo, Jul 20, 2024
  184. [GSoC][PATCH v12 10/10] fsck: add ref content check for files backendshejialuo, Jul 20, 2024
  185. [GSoC][PATCH v13 00/10] ref consistency check infra setupshejialuo, Jul 29, 2024
  186. [GSoC][PATCH v13 01/10] fsck: rename "skiplist" to "skip_oids"shejialuo, Jul 29, 2024
  187. [GSoC][PATCH v13 02/10] fsck: add a unified interface for reporting fsck messagesshejialuo, Jul 29, 2024
  188. Patrick SteinhardtJul 30, 2024
  189. shejialuoJul 30, 2024
  190. [GSoC][PATCH v13 03/10] fsck: rename objects-related fsck error functionsshejialuo, Jul 29, 2024
  191. Patrick SteinhardtJul 30, 2024
  192. shejialuoJul 30, 2024
  193. [GSoC][PATCH v13 04/10] fsck: add refs-related error report functionshejialuo, Jul 29, 2024
  194. Patrick SteinhardtJul 30, 2024
  195. shejialuoJul 30, 2024
  196. [GSoC][PATCH v13 05/10] refs: set up ref consistency check infrastructureshejialuo, Jul 29, 2024
  197. Patrick SteinhardtJul 30, 2024
  198. shejialuoJul 30, 2024
  199. [GSoC][PATCH v13 06/10] git refs: add verify subcommandshejialuo, Jul 29, 2024
  200. Patrick SteinhardtJul 30, 2024
  201. shejialuoJul 30, 2024
  202. Eric SunshineJul 30, 2024
  203. [GSoC][PATCH v13 07/10] builtin/fsck: add `git-refs verify` child processshejialuo, Jul 29, 2024
  204. [GSoC][PATCH v13 08/10] files-backend: add unified interface for refs scanningshejialuo, Jul 29, 2024
  205. Patrick SteinhardtJul 30, 2024
  206. shejialuoJul 30, 2024
  207. [GSoC][PATCH v13 09/10] fsck: add ref name check for files backendshejialuo, Jul 29, 2024
  208. Patrick SteinhardtJul 30, 2024
  209. shejialuoJul 30, 2024
  210. [GSoC][PATCH v13 10/10] fsck: add ref content check for files backendshejialuo, Jul 29, 2024
  211. Patrick SteinhardtJul 30, 2024
  212. shejialuoJul 30, 2024
  213. Junio C HamanoJul 30, 2024
  214. shejialuoJul 31, 2024
  215. Patrick SteinhardtJul 30, 2024
  216. shejialuoJul 30, 2024
  217. [GSoC][PATCH v14 00/11] ref consistency check infra setupshejialuo, Aug 1, 2024
  218. [GSoC][PATCH v14 01/11] fsck: rename "skiplist" to "skip_oids"shejialuo, Aug 1, 2024
  219. [GSoC][PATCH v14 02/11] fsck: make "fsck_error" callback genericshejialuo, Aug 1, 2024
  220. [GSoC][PATCH v14 03/11] fsck: add a unified interface for reporting fsck messagesshejialuo, Aug 1, 2024
  221. Patrick SteinhardtAug 5, 2024
  222. shejialuoAug 5, 2024
  223. [GSoC][PATCH v14 04/11] fsck: add refs report functionshejialuo, Aug 1, 2024
  224. Patrick SteinhardtAug 5, 2024
  225. [GSoC][PATCH v14 05/11] fsck: add refs-related error callbackshejialuo, Aug 1, 2024
  226. Patrick SteinhardtAug 5, 2024
  227. [GSoC][PATCH v14 06/11] fsck: rename objects-related fsck error functionsshejialuo, Aug 1, 2024
  228. Patrick SteinhardtAug 5, 2024
  229. [GSoC][PATCH v14 07/11] refs: set up ref consistency check infrastructureshejialuo, Aug 1, 2024
  230. [GSoC][PATCH v14 08/11] builtin/refs: add verify subcommandshejialuo, Aug 1, 2024
  231. [GSoC][PATCH v14 09/11] builtin/fsck: add `git-refs verify` child processshejialuo, Aug 1, 2024
  232. Patrick SteinhardtAug 5, 2024
  233. shejialuoAug 5, 2024
  234. Junio C HamanoAug 5, 2024
  235. shejialuoAug 5, 2024
  236. Junio C HamanoAug 5, 2024
  237. shejialuoAug 6, 2024
  238. Patrick SteinhardtAug 6, 2024
  239. Junio C HamanoAug 6, 2024
  240. Patrick SteinhardtAug 7, 2024
  241. Patrick SteinhardtAug 6, 2024
  242. [GSoC][PATCH v14 10/11] files-backend: add unified interface for refs scanningshejialuo, Aug 1, 2024
  243. Patrick SteinhardtAug 5, 2024
  244. [GSoC][PATCH v14 11/11] fsck: add ref name check for files backendshejialuo, Aug 1, 2024
  245. Patrick SteinhardtAug 5, 2024
  246. Patrick SteinhardtAug 5, 2024
  247. [GSoC][PATCH v15 0/9] ref consistency check infra setupshejialuo, Aug 5, 2024
  248. [GSoC][PATCH v15 1/9] fsck: rename "skiplist" to "skip_oids"shejialuo, Aug 5, 2024
  249. [GSoC][PATCH v15 2/9] fsck: rename objects-related fsck error functionsshejialuo, Aug 5, 2024
  250. [GSoC][PATCH v15 3/9] fsck: make "fsck_error" callback genericshejialuo, Aug 5, 2024
  251. Karthik NayakAug 7, 2024
  252. [GSoC][PATCH v15 4/9] fsck: add a unified interface for reporting fsck messagesshejialuo, Aug 5, 2024
  253. Karthik NayakAug 7, 2024
  254. [GSoC][PATCH v15 5/9] fsck: add refs report functionshejialuo, Aug 5, 2024
  255. Patrick SteinhardtAug 6, 2024
  256. [GSoC][PATCH v15 6/9] refs: set up ref consistency check infrastructureshejialuo, Aug 5, 2024
  257. [GSoC][PATCH v15 7/9] builtin/refs: add verify subcommandshejialuo, Aug 5, 2024
  258. Patrick SteinhardtAug 6, 2024
  259. Junio C HamanoAug 6, 2024
  260. Patrick SteinhardtAug 7, 2024
  261. shejialuoAug 7, 2024
  262. Karthik NayakAug 8, 2024
  263. Junio C HamanoAug 7, 2024
  264. [GSoC][PATCH v15 8/9] files-backend: add unified interface for refs scanningshejialuo, Aug 5, 2024
  265. Patrick SteinhardtAug 6, 2024
  266. [GSoC][PATCH v15 9/9] fsck: add ref name check for files backendshejialuo, Aug 5, 2024
  267. Patrick SteinhardtAug 6, 2024
  268. Karthik NayakAug 7, 2024
  269. [GSoC][PATCH v16 0/9] ref consistency check infra setupshejialuo, Aug 8, 2024
  270. [GSoC][PATCH v16 1/9] fsck: rename "skiplist" to "skip_oids"shejialuo, Aug 8, 2024
  271. [GSoC][PATCH v16 2/9] fsck: rename objects-related fsck error functionsshejialuo, Aug 8, 2024
  272. [GSoC][PATCH v16 3/9] fsck: make "fsck_error" callback genericshejialuo, Aug 8, 2024
  273. [GSoC][PATCH v16 4/9] fsck: add a unified interface for reporting fsck messagesshejialuo, Aug 8, 2024
  274. [GSoC][PATCH v16 5/9] fsck: add refs report functionshejialuo, Aug 8, 2024
  275. [GSoC][PATCH v16 6/9] refs: set up ref consistency check infrastructureshejialuo, Aug 8, 2024
  276. [GSoC][PATCH v16 7/9] builtin/refs: add verify subcommandshejialuo, Aug 8, 2024
  277. 1/2 refs.c: remove redundant translation markersTeng Long, Oct 4, 2024
  278. shejialuoOct 6, 2024
  279. [GSoC][PATCH v16 8/9] files-backend: add unified interface for refs scanningshejialuo, Aug 8, 2024
  280. [GSoC][PATCH v16 9/9] fsck: add ref name check for files backendshejialuo, Aug 8, 2024
  281. Patrick SteinhardtAug 8, 2024
  282. Junio C HamanoAug 8, 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.