From nobody Mon May 5 04:01:32 2025 X-Original-To: freebsd-git@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZrSWv2h52z5tp06 for ; Mon, 05 May 2025 04:01:47 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic312-25.consmr.mail.gq1.yahoo.com (sonic312-25.consmr.mail.gq1.yahoo.com [98.137.69.206]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZrSWt5JB7z3lQV for ; Mon, 05 May 2025 04:01:46 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1746417705; bh=JpKNA3sUkLgkxCN8Ft2RpLqnl0qsdmbZ9x2oqA/1i0U=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=nieLglL5uvx20X72DW9QWpo0LVTB49ubemaDZjS4bjFlf0jekPU8v25SNu6tlme5m5nQoo8YPtWf+HGg26ZjDWWCN/6RZxllGi46Iyg1ihzTdlDFUKD6GfxyZA6uXJ8OKpIXXL55hhEQN4FRqSV+Jt9jozBYXHCcJZbXw1etYIjMDGP1iMfMTdZI9i3vpV9r7EtPDTpZKIAt9d4LCfUNrLTaCVb4vGAJfCht7uA1qV6FtdMWTu6dLAk+yvN11+2XjYpmcSNoTgNJDgkz9em197MxMADy8z6yKw2Jc9Sg82MiMuCSZvPAjLSvBFM+DNSJj5hdHbXmdxJVTcbgGdUSZw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1746417705; bh=CHaCC8RSDcGtuC8fRj9CI/lGpqUgmbAX2bYyc1g0RZn=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=hopKw7DQXUdtU9AsoVph3xL9TMZ79swZ677yRWv+3GprCZR9QwdlxnUqBupFRO4kXLs5m2jiESSJPy7/lZpvcuHLk3rkNYCgVgstcQH5A5x/ZNiBylNSRDO94UAi+vmT5pcxMkdbHdgF9bApZdg/0TiVB/vWZqhDvuAz2nGQOMh/msq3MdQXdrMsFk+z249FSiNC2pAXHhKBM5Rhd9VNikU2c11Edb9oGyPkV42iN6/xNh+qL1G7TRSKkgGrfs/cD03DONDqIf2NmsHrGXrRWHlqjm4tLp3BhUWB+E8r+2QEruhZEvunCpAO9nB5ZeRgdlAoEci0Mt418r+oHTEZkg== X-YMail-OSG: Sf4.IZ8VM1nEP99rOvffbi.gOkjOQjJf.mT4BnojM_9Deqb1GTBhW1FhnIwDwc3 W61mcsmG9NmMXP_QBv0gAzNKjbeR4dUkekHPF.3geN5aGB_u67hpUEDRGjvQiIOhxSryqZGReefv VFQXASiMCIg_i_7b.lbBoncj4WmNYaEq6LvrHI4uHaYGdlZJyoTvTJRYpvDBNOSkcFzagqikq2zZ 1pCmeKcbiVpTMOzxv6umUyyqb4_nI.JQwtMMROx5zRbK_1H0HGZtBm1xWBqXvI64VMyqEZMv3mKU 2MErfl7tAJTEbJ7ZBv0dMtvDmbpIhNZn8MpuL5j8HC3RsdQ2PE_PUKK5zJTikNK3kBKjJmF__HLw Rz4b4ujO2O2yBpzsyUpZbVjMrnHPAmukdtHSQSo9u.JNBh18cPOyiRD1wBmLN6AocLWnf3mUMEOn lS8eYV.L7pRy5Y2IvIqXCsE1d6Y8_lpf9my1H_QbOHSe1vJ0GhmcVH8TYTvz5f1dj.PXHgsGCL3o vOTDmolFEZ8HcVLdia5y2nG0UbryNITs6bPdRLYkfAsUUXS8HmlShM4aaUG1j3oUxBF6o3J8imuJ 4KzrszgxFQoIRVUtqvniUHqddFNNbq3VzR8XBH32cN6Su2jP1urKKlWj2IkbdZ3OYDl4UYb1No8y k7OWtpGML_DHgRcyL2zcuat.C51TmPGWSoW0hX1U_59yI4UV_ujZ0SyQN2AOKhzBSn5hb7ZQWTwg .IvHusygMqfZHrrA2tieU8Sct4ZcFljeMKhlnRLtoQwRqXABSmOX2XE9C0wNMzMbqofZVRxmTGup CJF.Y4FCJi3p60oYS8a2DNHpcU6lvnaxyTWsPdZ.ZH9erQi6KHQijuCYQs56Vja4V3INBFUOK8p8 z2oYbJ.LtrWRBEoWJtaO8MZ7xXUaDnk2KH1r6eIZF8pV.KUjrcKkBY7Nt2k4kqSQbNRvlgguuj3h QemwlB3EPEGtqRfAJIZZXp8rX4kdvn9usH72w5msTSVdqIRrcoQSY7iGypYc4DG7WMrlwv2Dktyg qaOkzsw2Kw2R2Arc_qPnmqSKMwokUSeEZ0own4pFQovvsKVcAOfmJA5cAvuJf.l1_KQgHsMuSBCR t_nmgqFm2yKinyKohcBfSExOOF5rLXiiJBdAUATHWwwL5sYVISZLne7WJeGsKqjxJJlo5kixbiMi jTeJMIoOuRYszo0VyimVw11iMC5qQYBQUbBeOZtE3RLB3JXEpbXDXOPVSpfuOlbiNLcOpO4i5Z3B OZlOODCArVqTJShgP0opKoJ_Lmcoaj4nmpl9aQ6f.VkiVbc4yvljBIGuwoIguhifyeuaBtp_vD.5 SE4CuJ5UfhUOWCWHpX_w7R6oNX0QCMkwX.ZFNbXB4RUznBlXOHvuhY0wkj1V4h5o4JAALW0BjO8A W4B.m2ICDPK4uNvEY5LPBdjJU5okNP6fzkZo__npyPTNaTUeJkUAuyvG0OXvygz3wXBtgp9gRnha 2_QeiFHHH26xq.yqVXmSkgQCc.t7dqdmeavELQs321oIGZgrHyOry8AN.TO7.Y8QpFdd6hcFudBz XcQMCaia02mj5BH8DbLbVUQCMn81lx_VnBFMJBRJfCAUurc5HrRt_J7AaXezcKxjZlb9JL3Z3oVE vOgQT1Ji4I0Kmse0gIUuyfh33MC6VYoUdL5c1KfPhsKjyHIlfxolfoFDiaomDkNentvFqNl3Eiwf OcQ63mIn0GLEEXRopPObdOw0l.vnG2krGK.SpBTSj_YXPhSrzauYv1ga6YmujSfpQiWcB.PrYasy q.dkXI9nIJw7gipzIOURwFCoTF4TIxpi5tYExZeutHVS4.gWa9Avg1i5mBnX7Uds1CMx1Hi86ptX K3exYVENwY91ZZyL6muiN56eOi_6I6quF1rXHXsZ1fRtcZsvLwBogc4PHygS0nsoTohKcWomyuUF qCT8zeijG5GYOBzuGojHwcCuSt9Fd1J8XpEknUrRhdGd9pXaRmGIiCtoP3X5HyUM_WPwSiYkOF6L TvzzBHEUq9yLFd0eV6oIavRobKkKOXh7aTLcY4Q7V25FzIenF2DN65OUWJJ5dMSwkAUawdvEexEB g07kXTGSxINdAidMgjttEfClOh271PhZa.YHnipTkVbUriOZaGu9tjgbzRdgZU0mXk5kZm4jPRgh SBcVk0RJdLJnDevRVy3I3XOtsuJiVFEaUbIwytvvkjYKKXJXnXKx2KpgrsnJkj4nkvjBEyhPT1o1 FaLCpl6szNzDLLtJwplwC8B3cpctfQm8sasr3Tg0gDbeBzm2gvZlCt1iFH321PnhCAr_HEq1CINk 7bg-- X-Sonic-MF: X-Sonic-ID: 726718bf-ab45-4a94-bd9b-e6bb69bd3051 Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.gq1.yahoo.com with HTTP; Mon, 5 May 2025 04:01:45 +0000 Received: by hermes--production-gq1-74d64bb7d7-2dlqg (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 462e25daf720d070c452d98a5b65d58d; Mon, 05 May 2025 04:01:42 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Discussion of git use in the FreeBSD project List-Archive: https://lists.freebsd.org/archives/freebsd-git List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-git@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: got(1) in base consideration From: Mark Millard In-Reply-To: <9f48a955-5f8a-450c-94c1-2a7d9d69ecb9@FreeBSD.org> Date: Sun, 4 May 2025 21:01:32 -0700 Cc: "freebsd-git@freebsd.org" , FreeBSD-pkgbase@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <9f48a955-5f8a-450c-94c1-2a7d9d69ecb9@FreeBSD.org> To: Kyle Evans X-Mailer: Apple Mail (2.3826.500.181.1.5) X-Rspamd-Queue-Id: 4ZrSWt5JB7z3lQV X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Spamd-Bar: ---- On May 4, 2025, at 18:50, Kyle Evans wrote: > Hi, Hello. > I've been toying around with the idea of pulling got(1) into base, but = hidden off into /usr/libexec and not supporting it for general usage. = The idea would instead be to provide a script or two as a user-facing = interface to do the bare minimum to functionally maintain a local copy = of our git repos. >=20 > However, I've run into some logistics issues that I wanted to throw = out for some opinions. The main issue I've run into is that while got's = repository layout is binary-compatible with git, it won't setup = worktrees the same way. Additionally, it really doesn't like the = traditional organization of a git clone, where you'd have your .git = directory inside of your primary worktree (e.g., /usr/src and = /usr/src/.git). >=20 > I don't think this is really a deal-breaker, my proposal to start with = would be that we clone the repositories off into /var/db/got/$repo or = some such and setup the worktrees in the traditional place. git can = `worktree add` from these repos successfully, so one could setup a = git-compatible worktree at least without having to re-clone the entire = repository, but that brings me to the second caveat noted in the = paragraph above: the worktree format isn't compatible. >=20 > We could write a script that'll bridge the gap, but AFAICT that means = that we'd effectively have to just blow away the existing got worktree = at /usr/src and recreate it, with sensible guardrails in place to try = and avoid losing any uncommitted work. That's sort of ugly and I don't = really know how to feel about it, thus this e-mail. >=20 > Thoughts? I'll note that, as stands, a PkgBase FreeBSD-src-*.snap* and FreeBSD-src-sys-*.snap* together provide a source tree that does not contain a git repository. (It used to be true that the 2 could be from somewhat distinct check outs. I do not know about now.) No .git/ or .git (plain file) at all. PkgBase uses /usr/src/ and /usr/src/sys/ and I reserve those for the PkgBase files in order to best be able to identify what the installation is based on. In my context, official PkgBase kernels are present for booting and the booted world is a PkgBase one based on main [so: 15]. I've more than this, including places for chroot use and for poudriere-devel jail use. I also have my own kernel builds that I can boot instead. I also use git worktrees: /usr/official-src/.git/ ( the "main worktree", a normally unmodified = stable/* ) /usr/main-src/.git ( a "linked worktree" for main [so 15 as stands] = ) /usr/release-src/.git ( a "linked worktree", a normally unmodified = releng/*.* ) My activity for these is mostly in /usr/main-src/ instead of in /usr/official-src/ . I'm not sure what you are intending for contexts based on PkgBase. (Basically: ignoring my extra stuff.) =3D=3D=3D Mark Millard marklmi at yahoo.com