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

Re: [PATCH v3 0/4] Improve push performance with lots of refs

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 23, 2014, 18:40 UTC
Message-ID
<xmqqd27a2oqx.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1419336082-283091-1-git-send-email-sandals@crustytoothpaste.net>
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 7 quoted lines
> The only change from v2 is the addition of a fourth patch, which fixes
> t5500.  It's necessary because the test wants packs for fetches to
> shallow clones to be minimal.
>
> I'm not especially thrilled with having to provide a --shallow command
> line argument, but the alternative is to buffer a potentially large
> amount of data in order to determine whether the remote side is shallow.

You spell "--thin-aggressive" as two words, "--thin" "--shallow", in this series, essentially, no?

I think this is going in the right direction. The "shallow" propagated on the wire from the fetcher is the right thing to use to make this decision.

I wonder if the call to is_repository_shallow() is still necessary (read: I would prefer to see it go away) where we decide between "--objects-edge" and "--objects-edge-aggressive".

Here is the relevant part from 4/4:
@@ -2711,7 +2714,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
 	argv_array_push(&rp, "pack-objects");
 	if (thin) {
 		use_internal_rev_list = 1;
-		argv_array_push(&rp, is_repository_shallow()
+		argv_array_push(&rp, is_repository_shallow() || shallow
 				? "--objects-edge-aggressive"
 				: "--objects-edge");
 	} else
Previous: brian m. carlsonNext: brian m. carlson
Message 10 of 11 in “Improve push performance with lots of refs”
  1. 0/4 Improve push performance with lots of refsbrian m. carlson, Dec 23, 2014
  2. 1/4 Documentation: add missing article in rev-list-options.txtbrian m. carlson, Dec 23, 2014
  3. 2/4 rev-list: add an option to mark fewer edges as uninterestingbrian m. carlson, Dec 23, 2014
  4. Michael BlumeDec 23, 2014
  5. Jeff KingDec 23, 2014
  6. Junio C HamanoDec 23, 2014
  7. brian m. carlsonDec 24, 2014
  8. 3/4 pack-objects: use --objects-edge-aggressive only for shallow reposbrian m. carlson, Dec 23, 2014
  9. 4/4 upload-pack: use --objects-edge-aggressive for shallow fetchesbrian m. carlson, Dec 23, 2014
  10. Junio C HamanoDec 23, 2014
  11. brian m. carlsonDec 24, 2014

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.