Re: /usr/src and /usr/ports not git directories ?

From: Tomek CEDRO <tomek_at_cedro.info>
Date: Wed, 22 Jan 2025 21:11:23 UTC
On Wed, Jan 22, 2025 at 5:49 PM Gleb Smirnoff <glebius@freebsd.org> wrote:
> On Wed, Jan 22, 2025 at 09:30:09AM -0700, Warner Losh wrote:
> W> I think what you want is
> W>
> W> % git clone https://github.com/freebsd/freebsd-src --depth=1 -b releng/14.2
> W> --single-branch fred --bare
> W> % cd fred
> W> % mkdir .git
> W> % mv * .git
> W> % git config --local core.bare false
> W>
> W> This will clone 1 deep into the directory 'fred' and won't checkout a copy.
> W> If
> W> we make this a package, it's 325MB, as you  say. That can then be extracted
> W> and then you can recover the tree with:
> W>
> W> % git checkout releng/14.2
> W>
> W> which could be done with the pkg file when extracting to /usr/src. I've not
> W> measured
> W> ports.
>
> I really like this plan. So before checkout .git is 337M and after checkout
> it is 975M, which is made by actual sources + .git.
>
> Let's go forward with shipping this bare clone + optional checkout for
> 15.0-RELEASE.  We can ask if user wants to do the checkout, or just keep
> /usr/src/.git during the install process.  For upgrades, we will just
> write new full /usr/src that includes .git on top of 14.x-RELEASE. That
> will consume +50% more space on upgraded installations.  I'm pretty sure
> this is fine for those people who do install /usr/src, they already ain't
> doing a minimal installation.  We will also put this in RELNOTES.

Very cool, thanks folks! :-)

One question, would that imply git in base? :-)

-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info