From: Emily Shaffer <emilyshaffer@google.com> To: git@vger.kernel.org Cc: Emily Shaffer <emilyshaffer@google.com> Subject: [PATCH v6 13/15] bugreport: add packed object summary Date: Wed, 5 Feb 2020 16:41:06 -0800 Message-ID: <20200206004108.261317-14-emilyshaffer@google.com> (raw) In-Reply-To: <20200206004108.261317-1-emilyshaffer@google.com> Alongside the loose object counts, it can be useful to show the number of packs and packed objects. This way we can check whether the repo has an appropriate ratio of packed to loose objects to help determine whether it's behaving correctly. Add a utility to easily traverse all packfiles in a given repository. Use it in packfile.c and remove a redundant call to prepare_packed_git(), which is already called in get_all_packs(). Signed-off-by: Emily Shaffer <emilyshaffer@google.com> --- Perhaps the macro should be in another patch? I didn't spend a lot of time looking for anybody who could conceivably be iterating packs; if I were to do so, I'd break this change out separately. I considered following the pattern in the rest of the file, where the foreach takes a callback and data pointer, but found it would be cumbersome to use with for_each_packed_object() - I'd have to add a new callback just to handle the pack, and bundle that function's callback data along with the callback pointer. It seemed like overkill. - Emily Documentation/git-bugreport.txt | 1 + bugreport.c | 30 ++++++++++++++++++++++++++++++ object-store.h | 6 ++++++ packfile.c | 3 +-- 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/Documentation/git-bugreport.txt b/Documentation/git-bugreport.txt index 7e1ed44cb4..309b34fc42 100644 --- a/Documentation/git-bugreport.txt +++ b/Documentation/git-bugreport.txt @@ -33,6 +33,7 @@ The following information is captured automatically: - Selected config values - A list of enabled hooks - The number of loose objects in the repository + - The number of packs and packed objects in the repository OPTIONS ------- diff --git a/bugreport.c b/bugreport.c index 9552e2922e..d554488f3e 100644 --- a/bugreport.c +++ b/bugreport.c @@ -177,6 +177,33 @@ static void get_loose_object_summary(struct strbuf *obj_info, int nongit) { total_count_questionable ? " (problem during count)" : ""); } +static void get_packed_object_summary(struct strbuf *obj_info, int nongit) +{ + struct packed_git *pack = NULL; + int pack_count = 0; + int object_count = 0; + + if (nongit) { + strbuf_addstr(obj_info, + "not run from a git repository - no objects to show\n"); + return; + } + + for_each_pack(the_repository, pack) { + pack_count++; + /* + * To accurately count how many objects are packed, look inside + * the packfile's index. + */ + open_pack_index(pack); + object_count += pack->num_objects; + } + + strbuf_addf(obj_info, "%d total packs (%d objects)\n", pack_count, + object_count); + +} + static const char * const bugreport_usage[] = { N_("git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"), NULL @@ -262,6 +289,9 @@ int cmd_main(int argc, const char **argv) get_header(&buffer, "Loose Object Counts"); get_loose_object_summary(&buffer, nongit_ok); + get_header(&buffer, "Packed Object Summary"); + get_packed_object_summary(&buffer, nongit_ok); + report = fopen_for_writing(report_path.buf); if (report == NULL) { diff --git a/object-store.h b/object-store.h index 55ee639350..518c73469d 100644 --- a/object-store.h +++ b/object-store.h @@ -6,6 +6,7 @@ #include "list.h" #include "sha1-array.h" #include "strbuf.h" +#include "packfile.h" struct object_directory { struct object_directory *next; @@ -403,4 +404,9 @@ int for_each_object_in_pack(struct packed_git *p, int for_each_packed_object(each_packed_object_fn, void *, enum for_each_object_flags flags); +#define for_each_pack(repo, pack) \ + for (pack = get_all_packs(repo);\ + pack; \ + pack = pack->next) + #endif /* OBJECT_STORE_H */ diff --git a/packfile.c b/packfile.c index 7e7c04e4d8..6873827fb5 100644 --- a/packfile.c +++ b/packfile.c @@ -2061,8 +2061,7 @@ int for_each_packed_object(each_packed_object_fn cb, void *data, int r = 0; int pack_errors = 0; - prepare_packed_git(the_repository); - for (p = get_all_packs(the_repository); p; p = p->next) { + for_each_pack(the_repository, p) { if ((flags & FOR_EACH_OBJECT_LOCAL_ONLY) && !p->pack_local) continue; if ((flags & FOR_EACH_OBJECT_PROMISOR_ONLY) && -- 2.25.0.341.g760bfbb309-goog
next prev parent reply index Thread overview: 273+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-13 0:42 [PATCH v4 00/15] add git-bugreport tool Emily Shaffer 2019-12-13 0:42 ` [PATCH v4 01/15] bugreport: add tool to generate debugging info Emily Shaffer 2019-12-13 0:42 ` [PATCH v4 02/15] help: move list_config_help to builtin/help Emily Shaffer 2019-12-13 20:51 ` Junio C Hamano 2019-12-16 21:36 ` Emily Shaffer 2019-12-16 22:19 ` Junio C Hamano 2019-12-16 22:34 ` Emily Shaffer 2019-12-13 0:43 ` [PATCH v4 03/15] bugreport: gather git version and build info Emily Shaffer 2019-12-13 21:06 ` Junio C Hamano 2019-12-20 1:46 ` Emily Shaffer 2019-12-17 18:45 ` Johannes Schindelin 2019-12-17 20:34 ` Junio C Hamano 2019-12-20 1:25 ` Emily Shaffer 2019-12-13 0:43 ` [PATCH v4 04/15] help: add shell-path to --build-options Emily Shaffer 2019-12-13 0:43 ` [PATCH v4 05/15] bugreport: add uname info Emily Shaffer 2019-12-13 21:12 ` Junio C Hamano 2020-01-10 2:05 ` Aaron Schrab 2019-12-13 0:43 ` [PATCH v4 06/15] bugreport: add glibc version Emily Shaffer 2019-12-13 21:18 ` Junio C Hamano 2019-12-16 22:39 ` Emily Shaffer 2019-12-13 0:43 ` [PATCH v4 07/15] bugreport: add curl version Emily Shaffer 2019-12-13 21:27 ` Junio C Hamano 2019-12-16 22:49 ` Emily Shaffer 2019-12-17 18:47 ` Johannes Schindelin 2019-12-13 0:43 ` [PATCH v4 08/15] bugreport: include user interactive shell Emily Shaffer 2019-12-13 21:38 ` Junio C Hamano 2019-12-13 0:43 ` [PATCH v4 09/15] bugreport: generate config safelist based on docs Emily Shaffer 2019-12-13 22:57 ` Junio C Hamano 2019-12-16 23:01 ` Emily Shaffer 2019-12-17 0:41 ` Emily Shaffer 2019-12-15 20:17 ` Johannes Schindelin 2019-12-16 22:52 ` Emily Shaffer 2019-12-17 18:38 ` Johannes Schindelin 2019-12-13 0:43 ` [PATCH v4 10/15] bugreport: add config values from safelist Emily Shaffer 2019-12-13 21:45 ` Junio C Hamano 2019-12-16 23:40 ` Emily Shaffer 2019-12-17 17:43 ` Junio C Hamano 2020-01-24 3:29 ` Emily Shaffer 2019-12-29 20:17 ` Johannes Schindelin 2019-12-13 0:43 ` [PATCH v4 11/15] bugreport: collect list of populated hooks Emily Shaffer 2019-12-13 21:47 ` Junio C Hamano 2019-12-16 23:51 ` Emily Shaffer 2019-12-13 0:43 ` [PATCH v4 12/15] bugreport: count loose objects Emily Shaffer 2019-12-13 21:51 ` Junio C Hamano 2019-12-16 23:54 ` Emily Shaffer 2019-12-13 0:43 ` [PATCH v4 13/15] bugreport: add packed object summary Emily Shaffer 2019-12-13 21:56 ` Junio C Hamano 2019-12-16 23:56 ` Emily Shaffer 2019-12-13 0:43 ` [PATCH v4 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer 2019-12-13 0:43 ` [PATCH v4 15/15] bugreport: summarize contents of alternates file Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 00/15] add git-bugreport tool emilyshaffer 2020-01-24 3:34 ` [PATCH v5 01/15] bugreport: add tool to generate debugging info emilyshaffer 2020-01-30 22:18 ` Martin Ågren 2020-02-04 22:00 ` Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 02/15] help: move list_config_help to builtin/help emilyshaffer 2020-01-30 22:19 ` Martin Ågren 2020-02-04 0:53 ` Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 03/15] bugreport: gather git version and build info emilyshaffer 2020-01-30 22:19 ` Martin Ågren 2020-02-04 22:21 ` Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 04/15] help: add shell-path to --build-options emilyshaffer 2020-01-30 22:21 ` Martin Ågren 2020-01-24 3:34 ` [PATCH v5 05/15] bugreport: add uname info emilyshaffer 2020-01-24 3:34 ` [PATCH v5 06/15] bugreport: add compiler info emilyshaffer 2020-01-30 22:21 ` Martin Ågren 2020-02-04 22:51 ` Emily Shaffer 2020-02-05 19:47 ` Martin Ågren 2020-01-24 3:34 ` [PATCH v5 07/15] bugreport: add curl version emilyshaffer 2020-01-30 22:27 ` Martin Ågren 2020-02-04 22:54 ` Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 08/15] bugreport: include user interactive shell emilyshaffer 2020-01-30 22:28 ` Martin Ågren 2020-02-04 23:16 ` Emily Shaffer 2020-02-05 20:06 ` Junio C Hamano 2020-02-05 20:14 ` Martin Ågren 2020-01-24 3:34 ` [PATCH v5 09/15] bugreport: generate config safelist based on docs emilyshaffer 2020-01-30 22:34 ` Martin Ågren 2020-02-05 0:44 ` Emily Shaffer 2020-02-05 19:53 ` Martin Ågren 2020-01-31 21:20 ` Martin Ågren 2020-02-05 0:30 ` Emily Shaffer 2020-02-05 0:52 ` Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 10/15] bugreport: add config values from safelist emilyshaffer 2020-01-30 22:36 ` Martin Ågren 2020-02-05 1:34 ` Emily Shaffer 2020-01-31 21:25 ` Martin Ågren 2020-02-05 2:31 ` Emily Shaffer 2020-02-05 20:12 ` Martin Ågren 2020-01-24 3:34 ` [PATCH v5 11/15] bugreport: collect list of populated hooks emilyshaffer 2020-02-04 18:44 ` Junio C Hamano 2020-02-05 2:48 ` Emily Shaffer 2020-02-05 3:00 ` Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 12/15] bugreport: count loose objects emilyshaffer 2020-02-04 18:48 ` Junio C Hamano 2020-02-05 2:50 ` Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 13/15] bugreport: add packed object summary emilyshaffer 2020-02-04 19:00 ` Junio C Hamano 2020-02-05 3:15 ` Emily Shaffer 2020-02-04 19:03 ` Junio C Hamano 2020-02-05 3:09 ` Emily Shaffer 2020-01-24 3:34 ` [PATCH v5 14/15] bugreport: list contents of $OBJDIR/info emilyshaffer 2020-01-24 3:34 ` [PATCH v5 15/15] bugreport: summarize contents of alternates file emilyshaffer 2020-01-24 3:38 ` [PATCH v5 00/15] add git-bugreport tool Emily Shaffer 2020-01-28 23:04 ` Jonathan Tan 2020-01-28 23:26 ` Emily Shaffer 2020-01-30 22:15 ` Martin Ågren 2020-02-04 0:07 ` Emily Shaffer 2020-02-06 0:40 ` [PATCH v6 " Emily Shaffer 2020-02-06 0:40 ` [PATCH v6 01/15] help: move list_config_help to builtin/help Emily Shaffer 2020-02-06 1:35 ` Danh Doan 2020-02-13 22:58 ` Emily Shaffer 2020-02-13 23:07 ` Eric Sunshine 2020-02-13 23:24 ` Junio C Hamano 2020-02-13 23:29 ` Eric Sunshine 2020-02-14 1:20 ` Emily Shaffer 2020-02-06 0:40 ` [PATCH v6 02/15] help: add shell-path to --build-options Emily Shaffer 2020-02-06 0:40 ` [PATCH v6 03/15] bugreport: add tool to generate debugging info Emily Shaffer 2020-02-07 14:18 ` SZEDER Gábor 2020-02-07 18:51 ` Junio C Hamano 2020-02-11 22:40 ` Emily Shaffer 2020-02-07 14:54 ` SZEDER Gábor 2020-02-12 18:06 ` Junio C Hamano 2020-02-12 22:36 ` Emily Shaffer 2020-02-06 0:40 ` [PATCH v6 04/15] bugreport: gather git version and build info Emily Shaffer 2020-02-06 0:40 ` [PATCH v6 05/15] bugreport: add uname info Emily Shaffer 2020-02-06 0:40 ` [PATCH v6 06/15] bugreport: add compiler info Emily Shaffer 2020-02-06 0:41 ` [PATCH v6 07/15] bugreport: add git-remote-https version Emily Shaffer 2020-02-06 0:41 ` [PATCH v6 08/15] bugreport: include user interactive shell Emily Shaffer 2020-02-06 0:41 ` [PATCH v6 09/15] bugreport: generate config safelist based on docs Emily Shaffer 2020-02-07 15:30 ` SZEDER Gábor 2020-02-13 23:14 ` Emily Shaffer 2020-02-06 0:41 ` [PATCH v6 10/15] bugreport: add config values from safelist Emily Shaffer 2020-02-07 14:47 ` SZEDER Gábor 2020-02-07 15:08 ` SZEDER Gábor 2020-02-07 16:24 ` Eric Sunshine 2020-02-07 16:51 ` Andreas Schwab 2020-02-13 22:02 ` Emily Shaffer 2020-02-06 0:41 ` [PATCH v6 11/15] bugreport: collect list of populated hooks Emily Shaffer 2020-02-06 0:41 ` [PATCH v6 12/15] bugreport: count loose objects Emily Shaffer 2020-02-06 0:41 ` Emily Shaffer [this message] 2020-02-06 0:41 ` [PATCH v6 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer 2020-02-06 0:41 ` [PATCH v6 15/15] bugreport: summarize contents of alternates file Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 00/15] add git-bugreport tool Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 01/15] help: move list_config_help to builtin/help Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 02/15] help: add shell-path to --build-options Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 03/15] bugreport: add tool to generate debugging info Emily Shaffer 2020-02-14 17:25 ` Junio C Hamano 2020-02-15 1:57 ` Emily Shaffer 2020-02-15 18:24 ` Junio C Hamano 2020-02-18 23:46 ` Emily Shaffer 2020-02-18 23:56 ` Emily Shaffer 2020-02-19 23:15 ` Emily Shaffer 2020-02-19 23:24 ` Junio C Hamano 2020-02-19 14:18 ` Johannes Schindelin 2020-02-19 16:55 ` Junio C Hamano 2020-02-19 21:52 ` Emily Shaffer 2020-02-19 22:09 ` Junio C Hamano 2020-02-19 23:06 ` Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 04/15] bugreport: gather git version and build info Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 05/15] bugreport: add uname info Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 06/15] bugreport: add compiler info Emily Shaffer 2020-02-19 14:23 ` Johannes Schindelin 2020-02-19 22:45 ` Emily Shaffer 2020-02-20 22:33 ` Johannes Schindelin 2020-02-20 23:33 ` Emily Shaffer 2020-02-21 15:22 ` Johannes Schindelin 2020-02-22 0:04 ` Emily Shaffer 2020-02-24 2:55 ` Junio C Hamano 2020-02-14 1:53 ` [PATCH v7 07/15] bugreport: add git-remote-https version Emily Shaffer 2020-02-19 14:28 ` Johannes Schindelin 2020-02-19 22:28 ` Emily Shaffer 2020-02-19 22:33 ` Junio C Hamano 2020-02-20 22:33 ` Johannes Schindelin 2020-02-14 1:53 ` [PATCH v7 08/15] bugreport: include user interactive shell Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 09/15] bugreport: generate config safelist based on docs Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 10/15] bugreport: add config values from safelist Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 11/15] bugreport: collect list of populated hooks Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 12/15] bugreport: count loose objects Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 13/15] bugreport: add packed object summary Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer 2020-02-14 17:04 ` Junio C Hamano 2020-02-18 23:59 ` Emily Shaffer 2020-02-14 1:53 ` [PATCH v7 15/15] bugreport: summarize contents of alternates file Emily Shaffer 2020-02-14 17:32 ` [PATCH v7 00/15] add git-bugreport tool Junio C Hamano 2020-02-14 22:00 ` Emily Shaffer 2020-02-14 22:30 ` Junio C Hamano 2020-02-20 1:58 ` [PATCH v8 " Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 01/15] help: move list_config_help to builtin/help Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 02/15] help: add shell-path to --build-options Emily Shaffer 2020-02-20 19:03 ` Junio C Hamano 2020-02-20 21:15 ` Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 03/15] bugreport: add tool to generate debugging info Emily Shaffer 2020-02-20 19:33 ` Junio C Hamano 2020-02-20 22:33 ` Emily Shaffer 2020-02-26 16:12 ` Johannes Schindelin 2020-02-20 1:58 ` [PATCH v8 04/15] bugreport: gather git version and build info Emily Shaffer 2020-02-20 20:07 ` Junio C Hamano 2020-02-20 23:03 ` Emily Shaffer 2020-02-20 23:18 ` Junio C Hamano 2020-02-20 1:58 ` [PATCH v8 05/15] bugreport: add uname info Emily Shaffer 2020-02-20 20:12 ` Junio C Hamano 2020-02-20 23:20 ` Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 06/15] bugreport: add compiler info Emily Shaffer 2020-02-20 2:49 ` Danh Doan 2020-02-20 23:23 ` Emily Shaffer 2020-02-20 20:23 ` Junio C Hamano 2020-02-21 0:26 ` Junio C Hamano 2020-02-20 1:58 ` [PATCH v8 07/15] bugreport: add git-remote-https version Emily Shaffer 2020-02-20 20:35 ` Junio C Hamano 2020-02-20 23:28 ` Emily Shaffer 2020-02-21 3:44 ` Junio C Hamano 2020-02-25 22:08 ` Emily Shaffer 2020-02-25 22:26 ` Junio C Hamano 2020-02-25 23:29 ` Emily Shaffer 2020-02-25 23:29 ` Junio C Hamano 2020-02-25 23:55 ` Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 08/15] bugreport: include user interactive shell Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 09/15] bugreport: generate config safelist based on docs Emily Shaffer 2020-02-20 20:40 ` Junio C Hamano 2020-02-26 16:13 ` Johannes Schindelin 2020-02-26 16:49 ` Junio C Hamano 2020-02-20 1:58 ` [PATCH v8 10/15] bugreport: add config values from safelist Emily Shaffer 2020-02-20 20:47 ` Junio C Hamano 2020-02-20 1:58 ` [PATCH v8 11/15] bugreport: collect list of populated hooks Emily Shaffer 2020-02-20 20:58 ` Junio C Hamano 2020-02-25 23:19 ` Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 12/15] bugreport: count loose objects Emily Shaffer 2020-02-20 21:04 ` Junio C Hamano 2020-02-25 23:22 ` Emily Shaffer 2020-02-25 23:26 ` Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 13/15] bugreport: add packed object summary Emily Shaffer 2020-02-20 22:04 ` Junio C Hamano 2020-02-25 23:58 ` Emily Shaffer 2020-02-20 1:58 ` [PATCH v8 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer 2020-02-20 22:18 ` Junio C Hamano 2020-02-20 1:58 ` [PATCH v8 15/15] bugreport: summarize contents of alternates file Emily Shaffer 2020-02-20 14:08 ` Johannes Schindelin 2020-02-20 22:22 ` Junio C Hamano 2020-03-02 23:03 ` [PATCH v9 0/5] add git-bugreport tool Emily Shaffer 2020-03-02 23:03 ` [PATCH v9 1/5] help: move list_config_help to builtin/help Emily Shaffer 2020-03-02 23:03 ` [PATCH v9 2/5] bugreport: add tool to generate debugging info Emily Shaffer 2020-03-03 14:18 ` Johannes Schindelin 2020-03-04 21:35 ` Johannes Schindelin 2020-03-05 23:34 ` Jeff Hostetler 2020-03-06 13:57 ` Johannes Schindelin 2020-03-06 18:25 ` Junio C Hamano 2020-03-06 18:08 ` Junio C Hamano 2020-03-06 18:58 ` Jeff Hostetler 2020-03-08 22:24 ` Johannes Schindelin 2020-03-09 14:59 ` Junio C Hamano 2020-03-09 19:17 ` Johannes Schindelin 2020-03-09 19:47 ` Junio C Hamano 2020-03-10 11:42 ` Johannes Schindelin 2020-03-10 18:37 ` Junio C Hamano 2020-03-10 22:08 ` Johannes Schindelin 2020-03-19 21:39 ` Emily Shaffer 2020-03-20 0:28 ` Junio C Hamano 2020-03-20 15:35 ` Johannes Schindelin 2020-03-23 18:52 ` Emily Shaffer 2020-03-20 15:42 ` Johannes Schindelin 2020-03-23 18:50 ` Emily Shaffer 2020-03-20 17:43 ` Junio C Hamano 2020-03-20 22:38 ` Johannes Schindelin 2020-03-20 22:47 ` Junio C Hamano 2020-03-21 10:53 ` Johannes Schindelin 2020-03-02 23:03 ` [PATCH v9 3/5] bugreport: gather git version and build info Emily Shaffer 2020-03-23 21:20 ` Junio C Hamano 2020-03-02 23:03 ` [PATCH v9 4/5] bugreport: add uname info Emily Shaffer 2020-03-02 23:04 ` [PATCH v9 5/5] bugreport: add compiler info Emily Shaffer 2020-03-03 11:46 ` Danh Doan 2020-03-03 14:07 ` Junio C Hamano 2020-03-04 21:39 ` Johannes Schindelin 2020-03-23 21:27 ` Emily Shaffer
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200206004108.261317-14-emilyshaffer@google.com \ --to=emilyshaffer@google.com \ --cc=git@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Mailing List Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/git/0 git/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 git git/ https://lore.kernel.org/git \ git@vger.kernel.org public-inbox-index git Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git