On 10/25/21 19:12, Justin Pryzby wrote:
> On Mon, Oct 25, 2021 at 11:38:51AM -0400, Tom Lane wrote:
>> Andrew Dunstan <andrew@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