Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jan 2025 23:49:53 +0100
From:      Steffen Nurpmeso <steffen@sdaoden.eu>
To:        Jacob Moody <moody@posixcafe.org>
Cc:        Tomoaki AOKI <junchoon@dec.sakura.ne.jp>, 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: [9fans] /usr/src and /usr/ports not git directories ?
Message-ID:  <20250123224953.HqgH-rtf@steffen%sdaoden.eu>
In-Reply-To: <f6c74829-1192-4fc8-a474-318676655708@posixcafe.org>
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> <20250123053721.KDVDBu1z@steffen%sdaoden.eu> <f6c74829-1192-4fc8-a474-318676655708@posixcafe.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello.

Jacob Moody wrote in
 <f6c74829-1192-4fc8-a474-318676655708@posixcafe.org>:
 |On 1/22/25 23:37, Steffen Nurpmeso wrote:
 |> 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>=
 wrote:
 |>|>>> On Wed, Jan 22, 2025 at 5:49=E2=80=AFPM Gleb Smirnoff <glebius@free=
bsd.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> % 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.
 ...
 |> The Plan9/9front people have -- btw -- created a Plan9-style
 |> interface to git, which is funny it seems (filesystem plus minimal

That is, an implementation of their own that is capable to
interact with normal git packs and objects (i think).

 |> 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?
 |
 |Only getting bits of this conversation it's hard to infer exactly what
 |the goal is. Is the issue wanting to use git in a way that would require
 |it to be present within the base system, but encountering issues with doi=
ng
 |so due to licenses? The git present in 9front is MIT licensed, and \
 |has already
 |been used in part for OpenBSD's game of trees (got). I imagine taking \

I think they tend to keep the base system more "clean" as in the
past, making use of pkg and ports even for tools they effectively
need, ie, all developers necessarily need git, but it is not part
of the base system as cvs as been in the past, for example.
License, they try to go BSD etc, and replace GPL etc software as
BSD etc software can replace it.  There is GPL still, for example
diff(1).

 |whatever
 |pieces are required to bootstrap what you want from git9 would be sensibl=
e.
 |Git9 lacks some things (shallow clones for one), but is largely an entire=
ly
 |usable interface to git, so I imagine it would have everything you \
 |need if not
 |very close to what you need. That seems like a path forward, if people \
 |don't
 |mind doing the port work.

I myself was only thinking of really only a simplemost program
that works like "git show" aka "git cat-file".
Ie, they have mtree(8) or could otherwise create a snapshot of
the checked out tree at a specific git revision, noting access
rights etc (though this normally is not stored except for X bit in
git i think), symlinks etc etc for one.
And then walking this list of files and only fetching the file
content from the (single, aggressively gc'd) git object .pack /
.rev / .idx combo, cat(1)ing it into the fs, you know.
So "nothing but a simple fetch-the-blob-data" thing.

Like this no git(1) is needed at all to checkout a work tree from
a repository with no checkout at all / that has checked out an all
empty branch.

 |If you're looking for more technical details of how git9 works Ori \
 |did a write up
 |for the IWP9 last year[0], which goes in to pretty good detail.
 |
 |[0] http://10e.iwp9.org/10iwp9proceedings.pdf

Yes, i know; and thanks i have downloaded and read most of the
stuff.  I was only hoping for a quick statement on how complicated
the envisioned program would really be, from a person who went
down that road on its own.  Or even, best, a "hey i have code
which could be used for this with not much effort", you know..

--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?20250123224953.HqgH-rtf>