On 10/25/21 19:12, Justin Pryzby wrote: > On Mon, Oct 25, 2021 at 11:38:51AM -0400, Tom Lane wrote: >> Andrew Dunstan <and...@dunslane.net> writes: >>> On 10/25/21 10:23, Tom Lane wrote: >>>> (Hmmm ... but disk space could >>>> become a problem, particularly on older machines with not so much >>>> disk. Do we really need to maintain a separate checkout for each >>>> branch? It seems like a fresh checkout from the repo would be >>>> little more expensive than the current copy-a-checkout process.) >>> If you set it up with these settings then the disk space used is minimal: >>> git_use_workdirs => 1, >>> rm_worktrees => 1, >> Maybe we should make those the defaults? AFAICS the current >> default setup uses circa 200MB per back branch, even between runs. >> I'm not sure what that is buying us. > Maybe git's shared/"alternates" would be helpful to minimize the size of > .git/objects? > > I'm not sure - it looks like the BF client does its own stuff with symlinks. > Is that for compatibility with old git ? > https://github.com/PGBuildFarm/client-code/blob/main/PGBuild/SCM.pm
It's actually based on the git contrib script git-new-workdir. And using it is the default (except on Windows, where it doesn't work due to issues with symlinking plain files :-( ) Since what we have is not broken I'm not inclined to fix it. The issue Tom was complaining about is different, namely the storage for each branch's working tree. As I mentioned upthread, you can alleviate that by setting "rm_worktrees => 1" in your config. That works everywhere, including Windows, and will be the default in the next buildfarm release. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com