diff options
| author | Patrick Steinhardt <ps@pks.im> | 2026-03-13 07:45:20 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-03-13 08:54:15 -0700 |
| commit | 2bf8f36ddb308b084912f8265ad6fd60df34a036 (patch) | |
| tree | 95a19ab2fbfdec7295777e4ca417253771231850 /builtin/pack-objects.c | |
| parent | a1118c0a44606e0b71e515b05112ff38fef989c0 (diff) | |
| download | git-2bf8f36ddb308b084912f8265ad6fd60df34a036.tar.xz | |
csum-file: drop `hashfd_throughput()`
The `hashfd_throughput()` function is used by a single callsite in
git-pack-objects(1). In contrast to `hashfd()`, this function uses a
progress meter to measure throughput and a smaller buffer length so that
the progress meter can provide more granular metrics.
We're going to change that caller in the next commit to be a bit more
specific to packing objects. As such, `hashfd_throughput()` will be a
somewhat unfitting mechanism for any potential new callers.
Drop the function and replace it with a call to `hashfd_ext()`.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/pack-objects.c')
| -rw-r--r-- | builtin/pack-objects.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 5846b6a293..ba150a80ad 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -1331,11 +1331,22 @@ static void write_pack_file(void) unsigned char hash[GIT_MAX_RAWSZ]; char *pack_tmp_name = NULL; - if (pack_to_stdout) - f = hashfd_throughput(the_repository->hash_algo, 1, - "<stdout>", progress_state); - else + if (pack_to_stdout) { + /* + * Since we are expecting to report progress of the + * write into this hashfile, use a smaller buffer + * size so the progress indicators arrive at a more + * frequent rate. + */ + struct hashfd_options opts = { + .progress = progress_state, + .buffer_len = 8 * 1024, + }; + f = hashfd_ext(the_repository->hash_algo, 1, + "<stdout>", &opts); + } else { f = create_tmp_packfile(the_repository, &pack_tmp_name); + } offset = write_pack_header(f, nr_remaining); |
