Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jan 2025 19:52:53 -0800
From:      Bakul Shah <bakul@iitbombay.org>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: [9fans] /usr/src and /usr/ports not git directories ?
Message-ID:  <29737771-BB47-4E1A-8085-A5F5BD0832C9@iitbombay.org>
In-Reply-To: <48D63671-7A8F-4C7B-8115-F9F970DB5FA2@yahoo.com>
References:  <48D63671-7A8F-4C7B-8115-F9F970DB5FA2.ref@yahoo.com> <48D63671-7A8F-4C7B-8115-F9F970DB5FA2@yahoo.com>

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


> On Jan 23, 2025, at 7:30=E2=80=AFPM, Mark Millard <marklmi@yahoo.com> =
wrote:
>=20
> Bakul Shah <bakul_at_iitbombay.org> wrote on
> Date: Fri, 24 Jan 2025 00:15:04 UTC :
>=20
>> [-9fans, +freebsd-current as 9fans adds a reply-to: 9fans line]
>>=20
>>> On Jan 23, 2025, at 3:53=E2=80=AFPM, Warner Losh <imp@bsdimp.com> =
wrote:
>>>=20
>>> I fail to see how putting code in the kernel is better than just =
using got for the few people that are alergic to git. Even if it is only =
1000 lines in plan 9, but likely more in FreeBSD and by the way not yet =
ported to FreeBSD. We know got can't crash the system and is small =
enough to not matter, even if it isn't in the base today.
>>=20
>>=20
>> May I suggest:
>> - always ship the *commit hash* for any release or snapshot with its =
base.txz
>=20
> For stable/* and main builds via PkgBase:
>=20
> I'll note that, for PkgBase, the commit hashes for the "base" vs. the =
"kernel"
> need not be identical from what I've seen. In other words, the =
separate
> packages for /usr/src/sys/ vs. for the rest of /usr/src/ need not be
> based on the exact-same commit hash.

News to me. Since there is one repo for /usr/src and /usr/src/sys, this =
would
mess things up. Why have more or less two identical repos. In the quick =
hack
script below I assume one. This will need more work, this was just a PoC =
to
show what I mean. For an existing local repo the script can be enhanced =
to
fetch to a later commit hash (or one can just use git).=20

#!/bin/sh
cmd=3D`basename $0`
case .$2 in
.) echo Usage: $cmd url commit-hash; exit 1;;
esac
if [ -e .git ]; then echo $cmd: .git already exists; exit 1; fi
# check if there are any other files
if [ ! -z  "$(ls -A)" ] ; then
        echo $cmd: directory must be empty
        exit 1
fi
git init
git remote add origin $1
git fetch --depth=3D1 origin $2 || exit 1
git checkout FETCH_HEAD


>=20
> Releases avoid that via the explicit control of when the releng/*.* =
content is
> updated: no update happens between and teh result happens to always =
match
> because of that (if I understand right).
>=20
> This seems to be something new for any official FreeBSD builds of =
stable/* and
> main .
>=20
>> - src.txz as now (or add commit hash)
>=20
> See above if a stable/* or main context might involve PkgBase
> build instead.
>=20
>> - this is enough to download a repo (1-deep or whatever), bare if =
src.txz was also unpacked.
>> - add a simple script to download as above.
>> - people can install whatever git client they want for further work.
>>=20
>> git9 doesn't require any kernel code but on freebsd you'd have to
>> use plan9port. It is far simpler but has a different interface.
>=20
> =3D=3D=3D
> Mark Millard
> marklmi at yahoo.com
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?29737771-BB47-4E1A-8085-A5F5BD0832C9>