Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jan 2025 06:37:21 +0100
From:      Steffen Nurpmeso <steffen@sdaoden.eu>
To:        Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Cc:        Warner Losh <imp@bsdimp.com>, Tomek CEDRO <tomek@cedro.info>, Gleb Smirnoff <glebius@freebsd.org>, Dave Cottlehuber <dch@skunkwerks.at>, bob prohaska <fbsd@www.zefox.net>, Sulev-Madis Silber <freebsd-current-freebsd-org111@ketas.si.pri.ee>, freebsd-current <freebsd-current@freebsd.org>, 9fans@9fans.net
Subject:   Re: /usr/src and /usr/ports not git directories ?
Message-ID:  <20250123053721.KDVDBu1z@steffen%sdaoden.eu>
In-Reply-To: <20250123074932.170b7959bca443a934599a9c@dec.sakura.ne.jp>
References:  <Z4vk3009iSwuzG4K@www.zefox.net> <Z4__B0EQM-ce0qPE@cell.glebi.us> <C509F94C-2AC2-414F-90C0-355C69869D72@ketas.si.pri.ee> <Z5AQ1GcwX_MZw69G@www.zefox.net> <CANCZdfoHUsZusqMg_gWN5mB9P3xByGv_GfELi9Dd63CHto1igw@mail.gmail.com> <3782b90b-850f-4435-8b6d-bdb83753daea@app.fastmail.com> <CANCZdfruU=GR5DFWL7RQA4_yjh2-NHOB669wsOSL1DzZ3Fs7%2BQ@mail.gmail.com> <Z5Ehmzd4tp-Xf8Q8@cell.glebi.us> <CAFYkXj=nwjK%2BBnKg%2B0vkyeMu8XaLErCVe8Xr1g3%2BDOaOpeCBXA@mail.gmail.com> <CANCZdfq%2BTAW7v-1H71HSY=pFuO2FDkzAU04q_O-6SjTBdSFgSg@mail.gmail.com> <20250123074050.d9e331172e6b2f9dbc8b8dfd@dec.sakura.ne.jp> <20250123074932.170b7959bca443a934599a9c@dec.sakura.ne.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
Tomoaki AOKI wrote in
 <20250123074932.170b7959bca443a934599a9c@dec.sakura.ne.jp>:
 |On Thu, 23 Jan 2025 07:40:50 +0900
 |Tomoaki AOKI <junchoon@dec.sakura.ne.jp> wrote:
 |> On Wed, 22 Jan 2025 14:31:56 -0700
 |> Warner Losh <imp@bsdimp.com> wrote:
 |>> On Wed, Jan 22, 2025, 2:11=E2=80=AFPM Tomek CEDRO <tomek@cedro.info> w=
rote:
 |>>> On Wed, Jan 22, 2025 at 5:49=E2=80=AFPM Gleb Smirnoff <glebius@freebs=
d.org> \
 |>>>> 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=3D1 -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
 ...
 |>>>> I really like this plan. So before checkout .git is 337M and after
 |>>> checkout
 |>>>> it is 975M, which is made by actual sources + .git.
 ...
 |>>> One question, would that imply git in base? :-)
 |>>=20
 |>> Imply? No.
 ...
 |> Can it be achieved by net/gitup, which is BSD2CLAUSE licensed?
 |> If yes, is there any plan to pull it into base?
 |>=20
 |> I've never tried it, as I'm not enouch sure it works sanely with local
 |> deep-cloned repo, even on stepping back to normal git.
 |
 |Unfortunately, found that gitup states NOT to work with the existense
 |of.git directory. Not sure how the future plan (if FreeBSD starts
 |including .git for src and ports packages).
 |
 | https://github.com/johnmehr/gitup?tab=3Dreadme-ov-file

I have not looked for years, but basically it was a tree object,
and then getting the blobs of all the entries of that, at
a specific revision.

The Plan9/9front people have -- btw -- created a Plan9-style
interface to git, which is funny it seems (filesystem plus minimal
programs using that, most are rc shell scripts.  I track their
repo via "normal" git (git://git.9front.org/plan9front/plan9front)
without problems since June 2021 says the file system.

What i mean seems to be that these guys already have the knowledge
how to access the object database without any fancy and featureful
and fat environment, so if FreeBSD would do that then possibly
a simple from scratch checkout -- and nothing else -- would be
possible with only shell tools and a small binary that fetches the
blobs?  Maybe even only possible with a very specific tree, you
know?  As in a readily prepared recipe (could be compressed and
reside in the .git directory) that can be walked by the shell
script(s) and accessed by the super minimal blob fetcher?

They are using a *terrible* email hoster for their list which
doesn not support VERP and thus plays very badly with greylisting
and sender address verification, and that such a small project
with so few resources, for nothing, that is.
Let me copy 9fans, what do you say?

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)
|
|In Fall and Winter, feel "The Dropbear Bard"s pint(er).
|
|The banded bear
|without a care,
|Banged on himself for e'er and e'er
|
|Farewell, dear collar bear



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20250123053721.KDVDBu1z>