From nobody Tue May 6 14:41:21 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 4ZsLgR33kGz5tvKf for ; Tue, 06 May 2025 14:41:23 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZsLgR2fVtz3Pqp; Tue, 06 May 2025 14:41:23 +0000 (UTC) (envelope-from kevans@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746542483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TFjCjATquyBM5G1sLC5PLO4Q3cZlB3ssqC6eHui+9J0=; b=UHUj/t5DBtKqXvO+2JRhI7Mfx6jV3kjQaQZD2nbB2VR4QbBr5FEEU7qX1TkwoNFbkPfMjD UBQZG/fPavi+eoPY5Kg5EdRnOBy3ZulLJAAEjsZBxmJddwavkN39i6X35huNCcBNF9Vnsh ARhYyCXZO0rZ+pMeteTDo/UsICxTKnJdCb+4VkpHeDvDsnvvCwx6GxKvEcTdOJTjvgWfAv 1lqC5IznZ958w0+zv36hQ/e0yH5AV5lyfs+IhaCCqM2VyioPUmYUeQ+Fu64e7SZErgTV+A upEdOz71rioynStbGsNWRsUc8gnj0CsJSPfefbDW61z2OKiTI00H+xULUjLpVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746542483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TFjCjATquyBM5G1sLC5PLO4Q3cZlB3ssqC6eHui+9J0=; b=vDYf2lWU8Th4x3532I0bjc4OZywQAslDzxbWDRH1HNGCSg5sSVujXYum+PFepicrOxDlGm pOFGo5gmsFVFw42K3tvtinXWPXgQtRIHCJy38NdoudfPRY1H5jn+bSXb+jSLsMDTpeolGs d3zwD6NBza6z+Zgx8F979oUwcSPu9KKiJF8Nngi3x0Gbub76xs6tmXMiaU7ypX65HFR2Ir 9D5yUU6+0W7p+oLM4sKe1Bu2JA2IguC5ySJ79w5YC/Dn0G8rXAjBDpuXF8AXhZH6cpGt5e 4iaf9deGkyKw2LCMz36efUu52TqSAZSPPZHdvKYCFh8Qo7HqCragSUKIweF6Ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746542483; a=rsa-sha256; cv=none; b=fW5wHneicsxxelicZ0E75aUaWupBGssUTjQNlL/ZPgmp29pMhEpwXy2w1MUQqDbK8Li2II IbV793cA0S18B0SvN6/kGjrZkeDhOnFju/W1Ho0uS8j7XgiA4+aV1SLDnb74tpcTrGVvul NgJU2wvgVWlHNG4zIM27YxtbUjFmUCLVmFA2TQT+sKM68k8l18QKzZwnXQkjJPVWuv7QPg V8V64IFCIeLzY/ptyCJr4MIPK0SvgAMJrMqp0beSojI5Crpjlj+eGmZZaCAEYq6jIA0+z4 l3j7WHppyeca9NvjpWDcblVsKKu+zmXA+RGwYvicBbL0pfO6HrUgEfni9Sk3GQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [10.9.4.95] (unknown [209.182.120.176]) (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) (Authenticated sender: kevans/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZsLgR0hLZzqpC; Tue, 06 May 2025 14:41:23 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Message-ID: <7f04bd7a-9959-4b45-97af-008a8c58e21a@FreeBSD.org> Date: Tue, 6 May 2025 09:41:21 -0500 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 User-Agent: Mozilla Thunderbird Subject: Re: got(1) in base consideration To: Konstantin Belousov Cc: freebsd-git@freebsd.org References: <9f48a955-5f8a-450c-94c1-2a7d9d69ecb9@FreeBSD.org> Content-Language: en-US From: Kyle Evans In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/5/25 03:58, Konstantin Belousov wrote: > On Sun, May 04, 2025 at 08:50:46PM -0500, Kyle Evans wrote: >> Hi, >> >> 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. >> >> 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). >> >> 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. >> >> 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. >> >> Thoughts? > > What is the intended audience of the setup? > Who would not install normal git port but still want /usr/src populated? > For what purpose? Hi, I'm thinking less about src here and more about ports, where end-user/sysadmin may just want a simple mechanism to keep their ports tree updated (as a replacement for, e.g., portsnap). Thanks, Kyle Evns