Re: git gc ineffective
Hello,
On Mon, Nov 09, 2020 at 12:17:57PM +0100, Andreas Schwab wrote:
Show 18 quoted lines
> On Nov 09 2020, Michal Suchánek wrote:
>
> > On Mon, Nov 09, 2020 at 11:17:38AM +0100, Michal Suchánek wrote:
> >> On Mon, Nov 09, 2020 at 10:49:21AM +0100, Andreas Schwab wrote:
> >> > On Nov 09 2020, Michal Suchánek wrote:
> >> >
> >> > > I noticed I am running out of disk space, and one repository taking up
> >> > > about 38G. Did git gc --aggressive, and the used space *raised* to 42G,
> >> > > and git would report it does gc after every commit.
> >> >
> >> > Do you have a lot of loose objects?
> >> { for i in .git/objects/?? ; do ls $i ; done ; } | wc -l
> >> 53392
> > And in the double-size repository it's doubled, too:
> > { for i in .git/objects/?? ; do ls $i ; done ; } | wc -l
> > 101167
>
> git count-objects also shows the size.$ git count-objects 59853 objects, 43249880 kilobytes $ du -hs .git 48G .git $ git gc --aggressive Enumerating objects: 1825080, done. Counting objects: 100% (1825080/1825080), done. Delta compression using up to 4 threads Compressing objects: 100% (1803925/1803925), done. Writing objects: 100% (1825080/1825080), done. Total 1825080 (delta 1234005), reused 587969 (delta 0), pack-reused 0 Removing duplicate objects: 100% (256/256), done. Checking connectivity: 2003814, done. Expanding reachable commits in commit graph: 337512, done. $ du -hs .git 172G .git $ git count-objects 178734 objects, 175309572 kilobytes
> Does it help to prune them --exprire now?
$ git prune Checking connectivity: 1825478, done. $ du -hs .git 3.9G .git $ git --version git version 2.26.2
So it is my wrong expectation that 'gc' comand removes garbage. It creates it en masse.
It just makes is in a way that the 'prune' command that really reoves garbage can now remove it.
Thanks
Michal