Brandon Casey wrote: > Junio C Hamano wrote: >> Brandon Casey <casey@xxxxxxxxxxxxxxx> writes: >> >>> Nicolas Pitre wrote: >>>> On Fri, 31 Oct 2008, Brandon Casey wrote: >>>>> -The sed statement is stripping off anything after the sha1. Any way to >>>>> get rev-list to print out just the sha1 so that sed is not necessary? >>>> If you strip the data after the SHA1 when pipping into pack-objects then >>>> you'll have horrible delta compression results. The path names after >>>> each SHA1 is used to sort objects when trying to find best matches for >>>> delta compression. So you should preserve those and feed it back >>>> especially with those packs that you still want delta compression for. >>> Ah, I'll have to rethink my script then. Thanks! >> Yeah, but wasn't the purpose of your whole exercise to list objects that >> do not delta nor compress well with each other, in which case the delta >> compression order (aka name hash) would not matter, no? > > The script I wrote actually starts up two pack-objects instances and I was > writing the objects I wanted to pack _normally_ to one, and the ones that I > did not want compressed/deltafied to the other (which was started with > --no-reuse-object --window=0 --depth=0 --compression=0). So, my script created two pack files: one packed normally, and one packed without compression or delta. I removed my original packs, and put these two new ones in my pack directory and ran 'git fsck --full' and it completed successfully. There are no loose objects in the repo. I added a .keep file for each pack. Since my script removed the extra info from rev-parse's output, I removed the .keep file from the appropriate pack and ran 'git gc --aggressive'. The 1.7GB pack that had the .keep file removed has been replaced with a +3GB pack file. The other pack file which still has the .keep file is 2.3GB. In another repo with 3 packs marked .keep, and one 388KB pack with ~300 objects in it, and 3 loose dangling objects, the 388KB pack was replaced with a 3.5GB pack. It appears that the entire repository is being packed into the new pack file even though there are existing pack files with .keep files. If I compare the output from 'git verify-pack -v' I can see that many of the objects in the packs marked with a .keep file are indeed in the new pack file. But not all of them. -brandon -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html