Download raw body.
reuse deltas while packing
Christian Weisgerber: > I cloned a pristine copy of FreeBSD src.git, and I'm currently > exploding the pack file with "git unpack-objects" into a few million > loose objects. That should give me something to test. $ time gotadmin info repository: /usr/obj/test1.git pack files: 0 loose objects: 4069139 loose total size: 14.8G 4m51.33s real 0m27.80s user 4m20.45s system Before the diff: $ time gotadmin pack packing 3437 references; 4069109 objects; deltify: 100%; writing pack: 4.7G 100% Wrote ba2d0573d6162c515b95a92690eed475658d0896.pack 4.7G packed; indexing 100%; resolving deltas 100% Indexed ba2d0573d6162c515b95a92690eed475658d0896.pack 410m56.22s real 175m26.16s user 219m11.63s system With the diff: $ time gotadmin pack packing 3437 references; 4069109 objects; deltify: 100%; writing pack: 4.7G 100% Wrote 35750eab02d4629573b1aa7aec2c4577df53a634.pack 4.7G packed; indexing 100%; resolving deltas 100% Indexed 35750eab02d4629573b1aa7aec2c4577df53a634.pack 411m53.73s real 175m51.54s user 219m50.46s system So, no problems, but no difference in speed either. Running "gotadmin cleanup" afterwards takes another 35..40 minutes. For comparison: $ time git gc Enumerating objects: 4069139, done. Counting objects: 100% (4069139/4069139), done. Delta compression using up to 4 threads Compressing objects: 100% (3998502/3998502), done. Writing objects: 100% (4069139/4069139), done. Selecting bitmap commits: 373068, done. Building bitmaps: 100% (379/379), done. Total 4069139 (delta 3149485), reused 0 (delta 0), pack-reused 0 Removing duplicate objects: 100% (256/256), done. Expanding reachable commits in commit graph: 374944, done. Writing out commit graph in 5 passes: 100% (1874720/1874720), done. 244m20.14s real 22m09.46s user 301m52.68s system $ gotadmin info repository: /usr/obj/test.git pack files: 1 packed objects: 4069139 packed total size: 1.5G loose objects: 0 Given that git is multi-threaded, there's little reason to complain about the speed. The difference in the size of the resulting pack file, by a factor of over 3, is a concern, though. -- Christian "naddy" Weisgerber naddy@mips.inka.de
reuse deltas while packing