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

Weird growth in packfile during initial push

From
Robin H. Johnson <robbat2@gentoo.org>
Date
Apr 15, 2009, 18:27 UTC
Message-ID
<20090415182754.GF23644@curie-int>

I was doing a more recent conversion of the Gentoo repo, and ran into some odd behavior in the packfile size.

For anybody else following the repo, you can now get it on the new hardware at: http://git-exp.overlays.gentoo.org/gitweb/?p=exp/gentoo-x86.git;a=summary

I did the conversion with cvs2svn, packed, added the remote and pushed, only to find that the pack on the remote side suddenly seemed to be ~60MiB larger.

$ time git repack -adf --window=250 --depth=250 real 19m59.339s user 96m48.011s sys 0m36.914s

$ ls -la /tmp/convert/gentoo-x86-cvs2git/.git/objects/pack total 903804 drwxr-xr-x 2 robbat2 users 119 Apr 14 08:05 . drwxr-xr-x 4 robbat2 users 28 Apr 14 08:05 .. -r--r--r-- 1 robbat2 users 139155472 Apr 14 08:05 pack-f805bb448f864becfeac9c7f8a8ac2ef90c26787.idx -r--r--r-- 1 robbat2 users 786336481 Apr 14 08:05 pack-f805bb448f864becfeac9c7f8a8ac2ef90c26787.pack

$ git remote add origin git+ssh://git@git-exp.overlays.gentoo.org/exp/gentoo-x86.git
$ git push origin master:master
Initialized empty Git repository in /var/gitroot/exp/gentoo-x86.git/
Counting objects: 4969800, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (1217809/1217809), done.
Writing objects: 100% (4969800/4969800), 810.56 MiB | 21608 KiB/s, done.
Total 4969800 (delta 3735812), reused 4969800 (delta 3735812)
To git+ssh://git@git-exp.overlays.gentoo.org/exp/gentoo-x86.git
 * [new branch]      master -> master

$ ls -la /var/gitroot/exp/gentoo-x86.git/objects/pack total 966876 drwxr-xr-x 2 git git 4096 Apr 14 08:43 . drwxr-xr-x 4 git git 4096 Apr 14 08:35 .. -r--r--r-- 1 git git 139155472 Apr 14 08:43 pack-f805bb448f864becfeac9c7f8a8ac2ef90c26787.idx -r--r--r-- 1 git git 849936308 Apr 14 08:43 pack-f805bb448f864becfeac9c7f8a8ac2ef90c26787.pack

On the client side after the initial clone, it DOES match (in size) what was cloned.

(If you're looking for the 849MB one right now, I'll have to get it back for you, I wanted to save that extra space so just did an rsync of the other pack over the too-large one for now).

-- 
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
Next: Nicolas Pitre
Message 1 of 16 in “Weird growth in packfile during initial push”
  1. Robin H. JohnsonApr 15, 2009
  2. Nicolas PitreApr 15, 2009
  3. Junio C HamanoApr 29, 2009
  4. Nicolas PitreApr 30, 2009
  5. Robin H. JohnsonMay 1, 2009
  6. allow OFS_DELTA objects during a pushNicolas Pitre, May 1, 2009
  7. Junio C HamanoMay 1, 2009
  8. Compatibility between git.git and jgitShawn O. Pearce, May 2, 2009
  9. A Large Angry SCMMay 2, 2009
  10. Nicolas PitreMay 2, 2009
  11. Shawn O. PearceMay 2, 2009
  12. Ealdwulf WuffingaMay 2, 2009
  13. Michael WittenMay 2, 2009
  14. Nicolas PitreMay 2, 2009
  15. Shawn O. PearceMay 4, 2009
  16. Shawn O. PearceMay 4, 2009

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.