threads / discuss / 1797

does git prune packs?

Subject: does git prune packs?

## tl;dr

4 messages between Sep 14, 2005 and Sep 14, 2005.

replies: 3people: 2as markdown or json

Linus Torvalds· Sep 14, 2005, 15:08 UTC · re: Jeff Garzik · lore

Re: does git prune packs?

On Wed, 14 Sep 2005, Jeff Garzik wrote:
> 
> Does git-prune-packed eliminate packs that have been superceded by other 
> packs?
Nope. Pretty hard to do. Unless you just repack everything, at which point
	git repack -a -d
will do the right thing.
		Linus
Jeff Garzik· Sep 14, 2005, 15:14 UTC · re: Linus Torvalds · lore

Re: does git prune packs?

Linus Torvalds wrote:
Show 12 quoted lines
> 
> On Wed, 14 Sep 2005, Jeff Garzik wrote:
> 
>>Does git-prune-packed eliminate packs that have been superceded by other 
>>packs?
> 
> 
> Nope. Pretty hard to do. Unless you just repack everything, at which point
> 
> 	git repack -a -d
> 
> will do the right thing.
I never repack, I just use your packs.

Easier on my hard disk, vastly reduces upload time (cable modem == slow uploads), since I can ssh to master.kernel.org and hardlink, and easier on kernel.org.

I'll remove the old packs manually.
Thanks,
	Jeff
Linus Torvalds· Sep 14, 2005, 15:30 UTC · re: Jeff Garzik · lore

Re: does git prune packs?

On Wed, 14 Sep 2005, Jeff Garzik wrote:
> 
> I never repack, I just use your packs.
Oh, ok. Then, do something like this:
	mv .git/objects/pack .git/objects/old-packs
	mkdir .git/objects/pack
	for i in .git/objects/old-packs/*.pack
	do
		echo $i:
		git-unpack-objects < $i
	done

and it will do the right thing. Doing the right thing means, among other things, that if an object already exists in an alternate object directory, it won't be written to disk again.

(So if you have an "alternates" file pointing to my objects, and your packs contain mainly/only objects that I've pulled, basically nothing will actually be unpacked.)

After that, do a git-fsck-cache to make sure everything looks good, and just "rm -rf .git/objects/old-packs".

And yes, we could make something like this a helper script.

NOTE! During the unpacking, the repository may not be usable, so make sure that nobody else tries to access it while you do this.

		Linus

← back to recent threads