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

Hmm.. Try harder to find the common commits in git protocol?

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Apr 28, 2008, 16:41 UTC
Message-ID
<alpine.LFD.1.10.0804280936080.3119@woody.linux-foundation.org>

So we've had a huge number of merges in this last kernel merge window, and as a result it seems that a number of the pulls I do get way too many objects, because the git protocol doesn't try hard enough to find the minimal set of common commits.

Example from today:
	remote: Counting objects: 50084, done.
	remote: Compressing objects: 100% (6489/6489), done.
	remote: Total 43343 (delta 37381), reused 42777 (delta 36836)
	Receiving objects: 100% (43343/43343), 8.85 MiB | 144 KiB/s, done.
	Resolving deltas: 100% (37381/37381), completed with 5097 local objects.
	Merge made by recursive.
	 kernel/hrtimer.c |   15 +++++++++++++--
	 1 files changed, 13 insertions(+), 2 deletions(-)
	git rev-list --objects ORIG_HEAD.. | wc -l
	7

ie it downloaded 43343 objects totalling almost 9MB of data, even though it actually only needed seven objects. In fact, I guess three of the seven new objects were due to the merge (commit, top-level tree, and 'kernel' tree), so only four objects actually came from the source repository.

I haven't thought about the why's so much (because I'm busy merging), but I thought I'd mention this in case somebody else has already looked at it.

		Linus
Next: Linus Torvalds
Message 1 of 4 in “Hmm.. Try harder to find the common commits in git protocol?”
  1. Linus TorvaldsApr 28, 2008
  2. Linus TorvaldsApr 28, 2008
  3. Daniel BarkalowApr 28, 2008
  4. Junio C HamanoApr 28, 2008

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.