From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
"Jeff King" <peff@peff.net>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Eric Sunshine" <sunshine@sunshineco.com>,
"Derrick Stolee" <stolee@gmail.com>
Subject: Re: [PATCH 2/6] commit-graph write: add more progress output
Date: Tue, 20 Nov 2018 17:58:00 +0100 [thread overview]
Message-ID: <20181120165800.GB30222@szeder.dev> (raw)
In-Reply-To: <20181120150443.12997-3-avarab@gmail.com>
On Tue, Nov 20, 2018 at 03:04:39PM +0000, Ævar Arnfjörð Bjarmason wrote:
> Add more progress output to the output already added in
> 7b0f229222 ("commit-graph write: add progress output", 2018-09-17).
>
> As noted in that commit most of the progress output isn't displayed on
> small repositories, but before this change we'd noticeably hang for
> 2-3 seconds at the end on medium sized repositories such as linux.git.
>
> Now we'll instead show output like this, and have no human-observable
> point at which we're not producing progress output:
>
> $ ~/g/git/git --exec-path=$HOME/g/git commit-graph write
> Finding commits for commit graph: 6418991, done.
> Computing commit graph generation numbers: 100% (797205/797205), done.
> Writing out commit graph chunks: 2399861, done.
>
> This "graph chunks" number is not meant to be meaningful to the user,
> but just to show that we're doing work and the command isn't
> hanging.
>
> On a much larger in-house repository I have we'll show (note how we
> also say "Annotating[...]"):
>
> $ ~/g/git/git --exec-path=$HOME/g/git commit-graph write
> Finding commits for commit graph: 48271163, done.
> Annotating commit graph: 21424536, done.
> Computing commit graph generation numbers: 100% (7141512/7141512), done.
> Writing out commit graph chunks: 21424913, done.
That's a lot of chunks, but according to the specs, there are only 3
or 4 chunks in a commit-graph file. More on this below.
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
> commit-graph.c | 47 ++++++++++++++++++++++++++++++++++++++---------
> 1 file changed, 38 insertions(+), 9 deletions(-)
>
> diff --git a/commit-graph.c b/commit-graph.c
> index e6d0d7722b..afce20dd4d 100644
> --- a/commit-graph.c
> +++ b/commit-graph.c
> @@ -433,7 +433,9 @@ struct tree *get_commit_tree_in_graph(struct repository *r, const struct commit
>
> static void write_graph_chunk_fanout(struct hashfile *f,
> struct commit **commits,
> - int nr_commits)
> + int nr_commits,
> + struct progress *progress,
> + uint64_t *progress_cnt)
> {
> int i, count = 0;
> struct commit **list = commits;
> @@ -445,6 +447,8 @@ static void write_graph_chunk_fanout(struct hashfile *f,
> */
> for (i = 0; i < 256; i++) {
> while (count < nr_commits) {
> + if (progress)
> + display_progress(progress, ++*progress_cnt);
The condition is unnecessary, display_progress() is prepared to deal
with a NULL progress pointer. The same applies to all such calls in
this patch.
> if ((*list)->object.oid.hash[0] != i)
> break;
> count++;
> @@ -456,12 +460,17 @@ static void write_graph_chunk_fanout(struct hashfile *f,
> }
>
> static void write_graph_chunk_oids(struct hashfile *f, int hash_len,
> - struct commit **commits, int nr_commits)
> + struct commit **commits, int nr_commits,
> + struct progress *progress,
> + uint64_t *progress_cnt)
> {
> struct commit **list = commits;
> int count;
> - for (count = 0; count < nr_commits; count++, list++)
> + for (count = 0; count < nr_commits; count++, list++) {
> + if (progress)
> + display_progress(progress, ++*progress_cnt);
> hashwrite(f, (*list)->object.oid.hash, (int)hash_len);
> + }
> }
>
> static const unsigned char *commit_to_sha1(size_t index, void *table)
> @@ -471,7 +480,9 @@ static const unsigned char *commit_to_sha1(size_t index, void *table)
> }
>
> static void write_graph_chunk_data(struct hashfile *f, int hash_len,
> - struct commit **commits, int nr_commits)
> + struct commit **commits, int nr_commits,
> + struct progress *progress,
> + uint64_t *progress_cnt)
> {
> struct commit **list = commits;
> struct commit **last = commits + nr_commits;
> @@ -482,6 +493,9 @@ static void write_graph_chunk_data(struct hashfile *f, int hash_len,
> int edge_value;
> uint32_t packedDate[2];
>
> + if (progress)
> + display_progress(progress, ++*progress_cnt);
> +
> parse_commit(*list);
> hashwrite(f, get_commit_tree_oid(*list)->hash, hash_len);
>
> @@ -542,7 +556,9 @@ static void write_graph_chunk_data(struct hashfile *f, int hash_len,
>
> static void write_graph_chunk_large_edges(struct hashfile *f,
> struct commit **commits,
> - int nr_commits)
> + int nr_commits,
> + struct progress *progress,
> + uint64_t *progress_cnt)
> {
> struct commit **list = commits;
> struct commit **last = commits + nr_commits;
> @@ -566,6 +582,9 @@ static void write_graph_chunk_large_edges(struct hashfile *f,
> nr_commits,
> commit_to_sha1);
>
> + if (progress)
> + display_progress(progress, ++*progress_cnt);
> +
> if (edge_value < 0)
> edge_value = GRAPH_PARENT_MISSING;
> else if (!parent->next)
> @@ -764,6 +783,7 @@ void write_commit_graph(const char *obj_dir,
> int num_extra_edges;
> struct commit_list *parent;
> struct progress *progress = NULL;
> + uint64_t progress_cnt;
>
> if (!commit_graph_compatible(the_repository))
> return;
> @@ -937,10 +957,19 @@ void write_commit_graph(const char *obj_dir,
> hashwrite(f, chunk_write, 12);
> }
>
> - write_graph_chunk_fanout(f, commits.list, commits.nr);
> - write_graph_chunk_oids(f, GRAPH_OID_LEN, commits.list, commits.nr);
> - write_graph_chunk_data(f, GRAPH_OID_LEN, commits.list, commits.nr);
> - write_graph_chunk_large_edges(f, commits.list, commits.nr);
> + if (report_progress)
> + progress = start_delayed_progress(
> + _("Writing out commit graph chunks"),
> + progress_cnt = 0);
First, this is an unusual place to set a variable.
Second, as mentioned above, there are only 3 or 4 chunks, therefore I
think this should only say "Writing out commit graph".
Finally, each of the write_graph_chunk_*() functions called below
iterate over all commits, so we know and thus can show the total in
advance.
So how about something like the patch below on top? Note that I had
to shift two display_progress() calls a couple of lines, because
otherwise the numbers didn't add up.
Just to get you thinking and to have something to try out, but I saw a
bit of weirdness while at it, and want to look into it, but now I've
got to go...
> + write_graph_chunk_fanout(f, commits.list, commits.nr, progress,
> + &progress_cnt);
> + write_graph_chunk_oids(f, GRAPH_OID_LEN, commits.list, commits.nr,
> + progress, &progress_cnt);
> + write_graph_chunk_data(f, GRAPH_OID_LEN, commits.list, commits.nr,
> + progress, &progress_cnt);
> + write_graph_chunk_large_edges(f, commits.list, commits.nr, progress,
> + &progress_cnt);
> + stop_progress(&progress);
>
> close_commit_graph(the_repository);
> finalize_hashfile(f, NULL, CSUM_HASH_IN_STREAM | CSUM_FSYNC);
diff --git a/commit-graph.c b/commit-graph.c
index 2e2eaa24ca..2f3417db32 100644
--- a/commit-graph.c
+++ b/commit-graph.c
@@ -447,10 +447,9 @@ static void write_graph_chunk_fanout(struct hashfile *f,
*/
for (i = 0; i < 256; i++) {
while (count < nr_commits) {
- if (progress)
- display_progress(progress, ++*progress_cnt);
if ((*list)->object.oid.hash[0] != i)
break;
+ display_progress(progress, ++*progress_cnt);
count++;
list++;
}
@@ -467,8 +466,7 @@ static void write_graph_chunk_oids(struct hashfile *f, int hash_len,
struct commit **list = commits;
int count;
for (count = 0; count < nr_commits; count++, list++) {
- if (progress)
- display_progress(progress, ++*progress_cnt);
+ display_progress(progress, ++*progress_cnt);
hashwrite(f, (*list)->object.oid.hash, (int)hash_len);
}
}
@@ -493,8 +491,7 @@ static void write_graph_chunk_data(struct hashfile *f, int hash_len,
int edge_value;
uint32_t packedDate[2];
- if (progress)
- display_progress(progress, ++*progress_cnt);
+ display_progress(progress, ++*progress_cnt);
parse_commit(*list);
hashwrite(f, get_commit_tree_oid(*list)->hash, hash_len);
@@ -570,6 +567,8 @@ static void write_graph_chunk_large_edges(struct hashfile *f,
parent = parent->next)
num_parents++;
+ display_progress(progress, ++*progress_cnt);
+
if (num_parents <= 2) {
list++;
continue;
@@ -582,9 +581,6 @@ static void write_graph_chunk_large_edges(struct hashfile *f,
nr_commits,
commit_to_sha1);
- if (progress)
- display_progress(progress, ++*progress_cnt);
-
if (edge_value < 0)
edge_value = GRAPH_PARENT_MISSING;
else if (!parent->next)
@@ -986,10 +982,11 @@ void write_commit_graph(const char *obj_dir,
hashwrite(f, chunk_write, 12);
}
- if (report_progress)
+ if (report_progress) {
progress = start_delayed_progress(
- _("Writing out commit graph chunks"),
- progress_cnt = 0);
+ _("Writing out commit graph"), 4 * commits.nr);
+ progress_cnt = 0;
+ }
write_graph_chunk_fanout(f, commits.list, commits.nr, progress,
&progress_cnt);
write_graph_chunk_oids(f, GRAPH_OID_LEN, commits.list, commits.nr,
next prev parent reply other threads:[~2018-11-20 16:58 UTC|newest]
Thread overview: 133+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-04 20:27 [PATCH 0/2] commit-graph: add progress output Ævar Arnfjörð Bjarmason
2018-09-04 20:27 ` [PATCH 1/2] commit-graph write: " Ævar Arnfjörð Bjarmason
2018-09-04 21:16 ` Eric Sunshine
2018-09-04 22:07 ` Junio C Hamano
2018-09-05 11:58 ` Derrick Stolee
2018-09-05 12:07 ` Ævar Arnfjörð Bjarmason
2018-09-05 21:46 ` Junio C Hamano
2018-09-05 22:12 ` Derrick Stolee
2018-09-07 15:11 ` Ævar Arnfjörð Bjarmason
2018-09-07 15:23 ` Ævar Arnfjörð Bjarmason
2018-09-07 17:15 ` Jeff King
2018-09-07 17:25 ` Derrick Stolee
2018-09-05 12:06 ` Derrick Stolee
2018-09-07 12:40 ` Ævar Arnfjörð Bjarmason
2018-09-07 13:12 ` Derrick Stolee
2018-09-04 20:27 ` [PATCH 2/2] commit-graph verify: " Ævar Arnfjörð Bjarmason
2018-09-04 22:10 ` Junio C Hamano
2018-09-05 12:07 ` [PATCH 0/2] commit-graph: " Derrick Stolee
2018-09-07 18:29 ` [PATCH v2 " Ævar Arnfjörð Bjarmason
2018-09-11 20:26 ` Junio C Hamano
2018-09-07 18:29 ` [PATCH v2 1/2] commit-graph write: " Ævar Arnfjörð Bjarmason
2018-09-21 20:01 ` Derrick Stolee
2018-09-21 21:43 ` Junio C Hamano
2018-09-21 21:57 ` Junio C Hamano
2018-09-07 18:29 ` [PATCH v2 2/2] commit-graph verify: " Ævar Arnfjörð Bjarmason
2018-09-16 6:55 ` Duy Nguyen
2018-09-17 15:33 ` [PATCH v3 0/2] commit-graph: " Ævar Arnfjörð Bjarmason
2018-09-17 15:33 ` [PATCH v3 1/2] commit-graph write: " Ævar Arnfjörð Bjarmason
2018-10-10 20:37 ` SZEDER Gábor
2018-10-10 21:56 ` Ævar Arnfjörð Bjarmason
2018-10-10 22:19 ` SZEDER Gábor
2018-10-10 22:37 ` Ævar Arnfjörð Bjarmason
2018-10-11 17:52 ` Ævar Arnfjörð Bjarmason
2018-10-15 16:05 ` SZEDER Gábor
2018-10-12 6:09 ` Junio C Hamano
2018-10-12 15:07 ` Ævar Arnfjörð Bjarmason
2018-10-12 15:12 ` Derrick Stolee
2018-10-15 16:54 ` SZEDER Gábor
2018-11-19 16:02 ` SZEDER Gábor
2018-11-19 20:23 ` [PATCH] commit-graph: split up close_reachable() " Ævar Arnfjörð Bjarmason
2018-11-19 20:38 ` Derrick Stolee
2018-11-19 22:57 ` SZEDER Gábor
2018-11-20 15:04 ` [PATCH 0/6] commit-graph write: progress output improvements Ævar Arnfjörð Bjarmason
2018-11-20 15:04 ` [PATCH 1/6] commit-graph write: rephrase confusing progress output Ævar Arnfjörð Bjarmason
2018-11-20 15:04 ` [PATCH 2/6] commit-graph write: add more " Ævar Arnfjörð Bjarmason
2018-11-20 16:58 ` SZEDER Gábor [this message]
2018-11-20 19:50 ` [PATCH v2 0/6] commit-graph write: progress output improvements Ævar Arnfjörð Bjarmason
2018-11-20 19:50 ` [PATCH v2 1/6] commit-graph write: rephrase confusing progress output Ævar Arnfjörð Bjarmason
2018-11-20 19:50 ` [PATCH v2 2/6] commit-graph write: add more " Ævar Arnfjörð Bjarmason
2018-11-20 23:38 ` SZEDER Gábor
2018-11-20 19:50 ` [PATCH v2 3/6] commit-graph write: show progress for object search Ævar Arnfjörð Bjarmason
2018-11-20 19:50 ` [PATCH v2 4/6] commit-graph write: add more describing progress output Ævar Arnfjörð Bjarmason
2018-11-20 19:50 ` [PATCH v2 5/6] commit-graph write: remove empty line for readability Ævar Arnfjörð Bjarmason
2018-11-20 19:50 ` [PATCH v2 6/6] commit-graph write: add even more progress output Ævar Arnfjörð Bjarmason
2018-11-21 1:23 ` SZEDER Gábor
2018-11-21 1:25 ` [PATCH 1/2] commit-graph: rename 'num_extra_edges' variable to 'num_large_edges' SZEDER Gábor
2018-11-21 3:29 ` Junio C Hamano
2018-11-21 11:32 ` Derrick Stolee
2019-01-18 17:05 ` [PATCH v2 0/2] commit-graph: minor cleanup and optimization SZEDER Gábor
2019-01-18 17:05 ` [PATCH v2 1/2] commit-graph: rename "large edges" to "extra edges" SZEDER Gábor
2019-01-18 17:05 ` [PATCH v2 2/2] commit-graph: don't call write_graph_chunk_large_edges() unnecessarily SZEDER Gábor
2019-01-19 9:32 ` Martin Ågren
2019-01-18 19:41 ` [PATCH v2 0/2] commit-graph: minor cleanup and optimization Junio C Hamano
2018-11-21 1:26 ` [PATCH 2/2] commit-graph: don't call write_graph_chunk_large_edges() unnecessarily SZEDER Gábor
2018-11-21 11:33 ` Derrick Stolee
2018-11-22 13:28 ` [PATCH v3 00/10] commit-graph write: progress output improvements Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 01/10] commit-graph: rename 'num_extra_edges' variable to 'num_large_edges' Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 0/9] commit-graph write: progress output improvements Ævar Arnfjörð Bjarmason
2019-01-19 1:26 ` Junio C Hamano
2019-01-19 20:21 ` [PATCH v6 00/10] " Ævar Arnfjörð Bjarmason
2019-01-22 18:30 ` Derrick Stolee
2019-01-23 17:52 ` Junio C Hamano
2019-01-22 19:37 ` Junio C Hamano
2019-01-19 20:21 ` [PATCH v6 01/10] commit-graph write: use pack order when finding commits Ævar Arnfjörð Bjarmason
2019-01-19 20:21 ` [PATCH v6 02/10] commit-graph: rename "large edges" to "extra edges" Ævar Arnfjörð Bjarmason
2019-01-19 20:21 ` [PATCH v6 03/10] commit-graph: don't call write_graph_chunk_large_edges() unnecessarily Ævar Arnfjörð Bjarmason
2019-01-23 17:51 ` [PATCH v6.1 03/10] commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily SZEDER Gábor
2019-01-19 20:21 ` [PATCH v6 04/10] commit-graph write: add "Writing out" progress output Ævar Arnfjörð Bjarmason
2019-01-19 20:21 ` [PATCH v6 05/10] commit-graph write: more descriptive "writing out" output Ævar Arnfjörð Bjarmason
2019-01-19 20:21 ` [PATCH v6 06/10] commit-graph write: show progress for object search Ævar Arnfjörð Bjarmason
2019-01-19 20:21 ` [PATCH v6 07/10] commit-graph write: add more descriptive progress output Ævar Arnfjörð Bjarmason
2019-01-19 20:21 ` [PATCH v6 08/10] commit-graph write: remove empty line for readability Ævar Arnfjörð Bjarmason
2019-01-19 20:21 ` [PATCH v6 09/10] commit-graph write: add itermediate progress Ævar Arnfjörð Bjarmason
2019-01-19 20:21 ` [PATCH v6 10/10] commit-graph write: emit a percentage for all progress Ævar Arnfjörð Bjarmason
2019-03-22 10:28 ` [PATCH] commit-graph: don't show progress percentages while expanding reachable commits SZEDER Gábor
2019-03-22 11:11 ` Ævar Arnfjörð Bjarmason
2019-03-22 11:18 ` SZEDER Gábor
2019-03-22 14:28 ` Ævar Arnfjörð Bjarmason
2019-03-22 14:36 ` Ævar Arnfjörð Bjarmason
2019-03-22 14:55 ` SZEDER Gábor
2019-03-22 15:11 ` Ævar Arnfjörð Bjarmason
2019-03-22 15:49 ` SZEDER Gábor
2019-03-22 16:52 ` SZEDER Gábor
2019-03-22 17:23 ` Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 1/9] commit-graph: rename 'num_extra_edges' variable to 'num_large_edges' Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 2/9] commit-graph: don't call write_graph_chunk_large_edges() unnecessarily Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 3/9] commit-graph write: add "Writing out" progress output Ævar Arnfjörð Bjarmason
2019-01-18 17:16 ` SZEDER Gábor
2019-01-16 13:29 ` [PATCH v5 4/9] commit-graph write: more descriptive "writing out" output Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 5/9] commit-graph write: show progress for object search Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 6/9] commit-graph write: add more descriptive progress output Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 7/9] commit-graph write: remove empty line for readability Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 8/9] commit-graph write: add itermediate progress Ævar Arnfjörð Bjarmason
2019-01-16 13:29 ` [PATCH v5 9/9] commit-graph write: emit a percentage for all progress Ævar Arnfjörð Bjarmason
2019-01-17 13:23 ` [PATCH] commit-graph write: use pack order when finding commits Ævar Arnfjörð Bjarmason
2019-01-17 15:09 ` Derrick Stolee
2019-01-17 16:35 ` Derrick Stolee
2018-11-22 15:39 ` [PATCH v4 02/10] commit-graph: don't call write_graph_chunk_large_edges() unnecessarily Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 03/10] commit-graph write: rephrase confusing progress output Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 04/10] commit-graph write: add "Writing out" " Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 05/10] commit-graph write: more descriptive "writing out" output Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 06/10] commit-graph write: show progress for object search Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 07/10] commit-graph write: add more descriptive progress output Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 08/10] commit-graph write: remove empty line for readability Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 09/10] commit-graph write: add itermediate progress Ævar Arnfjörð Bjarmason
2018-11-22 15:39 ` [PATCH v4 10/10] commit-graph write: emit a percentage for all progress Ævar Arnfjörð Bjarmason
2018-11-22 18:59 ` [PATCH v3 00/10] commit-graph write: progress output improvements Eric Sunshine
2018-11-22 13:28 ` [PATCH v3 01/10] commit-graph: rename 'num_extra_edges' variable to 'num_large_edges' Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 02/10] commit-graph: don't call write_graph_chunk_large_edges() unnecessarily Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 03/10] commit-graph write: rephrase confusing progress output Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 04/10] commit-graph write: add "Writing out" " Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 05/10] commit-graph write: more descriptive "writing out" output Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 06/10] commit-graph write: show progress for object search Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 07/10] commit-graph write: add more descriptive progress output Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 08/10] commit-graph write: remove empty line for readability Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 09/10] commit-graph write: add itermediate progress Ævar Arnfjörð Bjarmason
2018-11-22 13:28 ` [PATCH v3 10/10] commit-graph write: emit a percentage for all progress Ævar Arnfjörð Bjarmason
2018-11-20 15:04 ` [PATCH 3/6] commit-graph write: show progress for object search Ævar Arnfjörð Bjarmason
2018-11-20 15:04 ` [PATCH 4/6] commit-graph write: add more describing progress output Ævar Arnfjörð Bjarmason
2018-11-20 15:04 ` [PATCH 5/6] commit-graph write: remove empty line for readability Ævar Arnfjörð Bjarmason
2018-11-20 15:04 ` [PATCH 6/6] commit-graph write: add even more progress output Ævar Arnfjörð Bjarmason
2018-09-17 15:33 ` [PATCH v3 2/2] commit-graph verify: add " Ævar Arnfjörð Bjarmason
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=20181120165800.GB30222@szeder.dev \
--to=szeder.dev@gmail.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=stolee@gmail.com \
--cc=sunshine@sunshineco.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).