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

[GSoC][PATCH v15 0/9] ref consistency check infra setup

From
shejialuo <shejialuo@gmail.com>
Date
Aug 5, 2024, 16:43 UTC
Message-ID
<ZrEBKjzbyxtMdCCx@ArchLinux>
In-Reply-To
<ZqulmWVBaeyP4blf@ArchLinux>
Hi All:
This version handles the following problems:
1. Patrick advices that I should not use `va_copy` in the changed
`report` function. Actually this is a mistake, this version avoids
redundant `ap` copy.
2. Patrick advices I should rebase [v14 05/11] into [v14 04/11]. I
follow this advice in this version.
3. Patrick advices that we should put [v14 06/11] before we introduce
ref-related operations. This version reorders the commit sequence. It's
a minor change.
4. Patrick suggests at current we should not add `git refs verify`
command into "git-fsck(1)". This is because we should disable this new
check by default for the users. Many users use "git-fsck(1)" in their daily
workflow. We should not be aggressive. However, if we provide this
mechanism in this series, we will again make more complexity. So this
version drop patch [v14 09/11]. Also because of dropping, change the
test file to use "git refs verify" command instead of "git fsck"
command.
5. Patrick suggests that we should use `ends_with` instead of
`strip_suffix`, fix.
There is another important problem this patch solves:

At v13, Junio has suggested that the `files_fsck_refs_fn` should be adapted to Patrick's change. Actually, I made a bad design before. I should always pass the `ref_store` structure. So I change it to

  -typedef int (*files_fsck_refs_fn)(struct fsck_options *o,
  -				  const char *gitdir,
  +typedef int (*files_fsck_refs_fn)(struct ref_store *ref_store,
  +				  struct fsck_options *o,
            const char *refs_check_dir,
            struct dir_iterator *iter);

`gitdir` could be got by using `ref_store` parameter. By using `ref_store` parameter, we provide extensibility here. If something else change, we merely need to change "files_fsck_refs_fn" prototype.

Because I drop one patch and rebase one patch. I provide the `interdiff` for reviewers to make the life easier.

Due to the deadline of the GSoC, I will speed up the review feedback process.

Thanks, Jialuo

shejialuo (9):
  fsck: rename "skiplist" to "skip_oids"
  fsck: rename objects-related fsck error functions
  fsck: make "fsck_error" callback generic
  fsck: add a unified interface for reporting fsck messages
  fsck: add refs report function
  refs: set up ref consistency check infrastructure
  builtin/refs: add verify subcommand
  files-backend: add unified interface for refs scanning
  fsck: add ref name check for files backend
 Documentation/fsck-msgids.txt |   6 ++
 Documentation/git-refs.txt    |  13 ++++
 builtin/fsck.c                |  17 +++--
 builtin/mktag.c               |   3 +-
 builtin/refs.c                |  34 +++++++++
 fsck.c                        | 127 +++++++++++++++++++++++++++-------
 fsck.h                        |  76 +++++++++++++++-----
 object-file.c                 |   9 ++-
 refs.c                        |   5 ++
 refs.h                        |   8 +++
 refs/debug.c                  |  11 +++
 refs/files-backend.c          | 116 ++++++++++++++++++++++++++++++-
 refs/packed-backend.c         |   8 +++
 refs/refs-internal.h          |   6 ++
 refs/reftable-backend.c       |   8 +++
 t/t0602-reffiles-fsck.sh      |  92 ++++++++++++++++++++++++
 16 files changed, 480 insertions(+), 59 deletions(-)
 create mode 100755 t/t0602-reffiles-fsck.sh
Interdiff against v14:
diff --git a/builtin/fsck.c b/builtin/fsck.c
index b6ac878270..766bbd014d 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -899,21 +899,6 @@ static int check_pack_rev_indexes(struct repository *r, int show_progress)
 	return res;
 }
 
-static void fsck_refs(void)
-{
-	struct child_process refs_verify = CHILD_PROCESS_INIT;
-	child_process_init(&refs_verify);
-	refs_verify.git_cmd = 1;
-	strvec_pushl(&refs_verify.args, "refs", "verify", NULL);
-	if (verbose)
-		strvec_push(&refs_verify.args, "--verbose");
-	if (check_strict)
-		strvec_push(&refs_verify.args, "--strict");
-
-	if (run_command(&refs_verify))
-		errors_found |= ERROR_REFS;
-}
-
 static char const * const fsck_usage[] = {
 	N_("git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]\n"
 	   "         [--[no-]full] [--strict] [--verbose] [--lost-found]\n"
@@ -1083,8 +1068,6 @@ int cmd_fsck(int argc, const char **argv, const char *prefix)
 
 	check_connectivity();
 
-	fsck_refs();
-
 	if (the_repository->settings.core_commit_graph) {
 		struct child_process commit_graph_verify = CHILD_PROCESS_INIT;
 
diff --git a/fsck.c b/fsck.c
index d5e7c88eab..7eb5cdefdd 100644
--- a/fsck.c
+++ b/fsck.c
@@ -235,7 +235,6 @@ static int fsck_vreport(struct fsck_options *options,
 			void *fsck_report,
 			enum fsck_msg_id msg_id, const char *fmt, va_list ap)
 {
-	va_list ap_copy;
 	struct strbuf sb = STRBUF_INIT;
 	enum fsck_msg_type msg_type = fsck_msg_type(msg_id, options);
 	int result;
@@ -251,12 +250,10 @@ static int fsck_vreport(struct fsck_options *options,
 	prepare_msg_ids();
 	strbuf_addf(&sb, "%s: ", msg_id_info[msg_id].camelcased);
 
-	va_copy(ap_copy, ap);
-	strbuf_vaddf(&sb, fmt, ap_copy);
+	strbuf_vaddf(&sb, fmt, ap);
 	result = options->error_func(options, fsck_report,
 				     msg_type, msg_id, sb.buf);
 	strbuf_release(&sb);
-	va_end(ap);
 
 	return result;
 }
@@ -1391,5 +1388,6 @@ int fsck_objects_error_cb_print_missing_gitmodules(struct fsck_options *o,
 		puts(oid_to_hex(report->oid));
 		return 0;
 	}
-	return fsck_objects_error_function(o, fsck_report, msg_type,msg_id, message);
+	return fsck_objects_error_function(o, fsck_report,
+					   msg_type, msg_id, message);
 }
diff --git a/refs/files-backend.c b/refs/files-backend.c
index 1186b6cbb1..6e6b47251d 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -3414,26 +3414,25 @@ static int files_ref_store_remove_on_disk(struct ref_store *ref_store,
  * the whole directory. This function is used as the callback for each
  * regular file or symlink in the directory.
  */
-typedef int (*files_fsck_refs_fn)(struct fsck_options *o,
-				  const char *gitdir,
+typedef int (*files_fsck_refs_fn)(struct ref_store *ref_store,
+				  struct fsck_options *o,
 				  const char *refs_check_dir,
 				  struct dir_iterator *iter);
 
-static int files_fsck_refs_name(struct fsck_options *o,
-				const char *gitdir UNUSED,
+static int files_fsck_refs_name(struct ref_store *ref_store UNUSED,
+				struct fsck_options *o,
 				const char *refs_check_dir,
 				struct dir_iterator *iter)
 {
 	struct strbuf sb = STRBUF_INIT;
-	size_t len = 0;
 	int ret = 0;
 
 	/*
 	 * Ignore the files ending with ".lock" as they may be lock files
 	 * However, do not allow bare ".lock" files.
 	 */
-	if (strip_suffix(iter->basename, ".lock", &len) && (len != 0))
-		goto clean;
+	if (iter->basename[0] != '.' && ends_with(iter->basename, ".lock"))
+		goto cleanup;
 
 	if (check_refname_format(iter->basename, REFNAME_ALLOW_ONELEVEL)) {
 		struct fsck_ref_report report = { .path = NULL };
@@ -3445,7 +3444,7 @@ static int files_fsck_refs_name(struct fsck_options *o,
 				      "invalid refname format");
 	}
 
-clean:
+cleanup:
 	strbuf_release(&sb);
 	return ret;
 }
@@ -3455,13 +3454,12 @@ static int files_fsck_refs_dir(struct ref_store *ref_store,
 			       const char *refs_check_dir,
 			       files_fsck_refs_fn *fsck_refs_fn)
 {
-	const char *gitdir = ref_store->gitdir;
 	struct strbuf sb = STRBUF_INIT;
 	struct dir_iterator *iter;
 	int iter_status;
 	int ret = 0;
 
-	strbuf_addf(&sb, "%s/%s", gitdir, refs_check_dir);
+	strbuf_addf(&sb, "%s/%s", ref_store->gitdir, refs_check_dir);
 
 	iter = dir_iterator_begin(sb.buf, 0);
 	if (!iter) {
@@ -3478,7 +3476,7 @@ static int files_fsck_refs_dir(struct ref_store *ref_store,
 				fprintf_ln(stderr, "Checking %s/%s",
 					   refs_check_dir, iter->relative_path);
 			for (size_t i = 0; fsck_refs_fn[i]; i++) {
-				if (fsck_refs_fn[i](o, gitdir, refs_check_dir, iter))
+				if (fsck_refs_fn[i](ref_store, o, refs_check_dir, iter))
 					ret = -1;
 			}
 		} else {
@@ -3507,7 +3505,7 @@ static int files_fsck_refs(struct ref_store *ref_store,
 	};
 
 	if (o->verbose)
-		fprintf_ln(stderr, "Checking references consistency");
+		fprintf_ln(stderr, _("Checking references consistency"));
 	return files_fsck_refs_dir(ref_store, o,  "refs", fsck_refs_fn);
 
 }
diff --git a/t/t0602-reffiles-fsck.sh b/t/t0602-reffiles-fsck.sh
index 2be28427ab..71a4d1a5ae 100755
--- a/t/t0602-reffiles-fsck.sh
+++ b/t/t0602-reffiles-fsck.sh
@@ -26,7 +26,7 @@ test_expect_success 'ref name should be checked' '
 	git tag multi_hierarchy/tag-2 &&
 
 	cp $branch_dir_prefix/branch-1 $branch_dir_prefix/.branch-1 &&
-	test_must_fail git fsck 2>err &&
+	test_must_fail git refs verify 2>err &&
 	cat >expect <<-EOF &&
 	error: refs/heads/.branch-1: badRefName: invalid refname format
 	EOF
@@ -34,7 +34,7 @@ test_expect_success 'ref name should be checked' '
 	test_cmp expect err &&
 
 	cp $branch_dir_prefix/branch-1 $branch_dir_prefix/@ &&
-	test_must_fail git fsck 2>err &&
+	test_must_fail git refs verify 2>err &&
 	cat >expect <<-EOF &&
 	error: refs/heads/@: badRefName: invalid refname format
 	EOF
@@ -42,7 +42,7 @@ test_expect_success 'ref name should be checked' '
 	test_cmp expect err &&
 
 	cp $tag_dir_prefix/multi_hierarchy/tag-2 $tag_dir_prefix/multi_hierarchy/@ &&
-	test_must_fail git fsck 2>err &&
+	test_must_fail git refs verify 2>err &&
 	cat >expect <<-EOF &&
 	error: refs/tags/multi_hierarchy/@: badRefName: invalid refname format
 	EOF
@@ -50,12 +50,12 @@ test_expect_success 'ref name should be checked' '
 	test_cmp expect err &&
 
 	cp $tag_dir_prefix/tag-1 $tag_dir_prefix/tag-1.lock &&
-	git fsck 2>err &&
+	git refs verify 2>err &&
 	rm $tag_dir_prefix/tag-1.lock &&
 	test_must_be_empty err &&
 
 	cp $tag_dir_prefix/tag-1 $tag_dir_prefix/.lock &&
-	test_must_fail git fsck 2>err &&
+	test_must_fail git refs verify 2>err &&
 	cat >expect <<-EOF &&
 	error: refs/tags/.lock: badRefName: invalid refname format
 	EOF
@@ -76,18 +76,16 @@ test_expect_success 'ref name check should be adapted into fsck messages' '
 	git checkout -b branch-2 &&
 	git tag tag-2 &&
 
-
 	cp $branch_dir_prefix/branch-1 $branch_dir_prefix/.branch-1 &&
-	git -c fsck.badRefName=warn fsck 2>err &&
+	git -c fsck.badRefName=warn refs verify 2>err &&
 	cat >expect <<-EOF &&
 	warning: refs/heads/.branch-1: badRefName: invalid refname format
 	EOF
 	rm $branch_dir_prefix/.branch-1 &&
 	test_cmp expect err &&
 
-
 	cp $branch_dir_prefix/branch-1 $branch_dir_prefix/@ &&
-	git -c fsck.badRefName=ignore fsck 2>err &&
+	git -c fsck.badRefName=ignore refs verify 2>err &&
 	test_must_be_empty err
 '
 
-- 
2.46.0
Previous: Patrick SteinhardtNext: shejialuo
Message 247 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.