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

Re: [PATCH] fetch: skip formatting updated refs with `--quiet`

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 25, 2021, 17:51 UTC
Message-ID
<xmqqv93tif9g.fsf@gitster.g>
In-Reply-To
<40c385048a023dbd447c5f0b4c95ff32485e1e23.1629906005.git.ps@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 10 quoted lines
> When fetching, Git will by default print a list of all updated refs in a
> nicely formatted table. In order to come up with this table, Git needs
> to iterate refs twice: first to determine the maximum column width, and
> a second time to actually format these changed refs.
>
> While this table will not be printed in case the user passes `--quiet`,
> we still go out of our way and do all these steps. In fact, we even do
> more work compared to not passing `--quiet`: without the flag, we will
> skip all references in the column width computation which have not been
> updated, but if it is set we will now compute widths for all refs.
Interesting.  This line
	/* uptodate lines are only shown on high verbosity level */
	if (!verbosity && oideq(&ref->peer_ref->old_oid, &ref->old_oid))
		return;

at the beginning of the adjust_refcol_width() function indeed does not skip if verbosity is negative, so the comment is wrong---it is not only computed on high verbosity level. Why doesn't this patch include a change like this then?

	if (verbosity <= 0 || oideq(&ref->peer_ref->old_oid, &ref->old_oid))
		return;
Another thing I notice is this part from store_updated_refs():
			if (note.len) {
				if (verbosity >= 0 && !shown_url) {
					fprintf(stderr, _("From %.*s\n"),
							url_len, url);
					shown_url = 1;
				}
				if (verbosity >= 0)
					fprintf(stderr, " %s\n", note.buf);
			}
We no longer need to check for verbosity, right?
Other than these two, I like the approach a lot.
Previous: Ævar Arnfjörð BjarmasonNext: Patrick Steinhardt
Message 3 of 7 in “fetch: skip formatting updated refs with `--quiet`”
  1. fetch: skip formatting updated refs with `--quiet`Patrick Steinhardt, Aug 25, 2021
  2. Ævar Arnfjörð BjarmasonAug 25, 2021
  3. Junio C HamanoAug 25, 2021
  4. Patrick SteinhardtAug 25, 2021
  5. Junio C HamanoAug 25, 2021
  6. fetch: skip formatting updated refs with `--quiet`Patrick Steinhardt, Aug 30, 2021
  7. Junio C HamanoAug 30, 2021

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.