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

From: Warner Losh <imp_at_bsdimp.com>
Date: Wed, 22 Jan 2025 21:31:56 UTC
On Wed, Jan 22, 2025, 2:11 PM Tomek CEDRO <tomek@cedro.info> wrote:

> 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? :-)
>

Imply? No.

Warner

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