From nobody Wed Jan 22 16:49:31 2025 X-Original-To: freebsd-current@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 4YdVRM5Xpyz5kjtl for ; Wed, 22 Jan 2025 16:49:35 +0000 (UTC) (envelope-from glebius@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YdVRM4yrpz3q3x; Wed, 22 Jan 2025 16:49:35 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737564575; 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: in-reply-to:in-reply-to:references:references; bh=rEAf0D6B8qv+ree2lWtpw3p6DCwy6lIcsttMmrY0S1E=; b=NY+Q5OYOIW5Ma6RHTW+JhNjZhzB9LBQclrLyIFQa0AStGEoSvn2CadNovWAvgiorBuP21g lw2Py7RNRch2ADFRt3MYqMLH4Ar03AUqtiaJ0lz/1r9KN3bN8O81NJgxZuBNsalztCnNd5 gsrqD1DFDq1yif64g5Po2gl1NJ8HJqMe8UL9HAfsMdUFlxT2dh19VkgOe5OSHCBYW5m6Ql wN1mMll4XttzhEOtqdCU5CAa2/CK/Wk2WSZc3tigjBRzs6hg7M/WvC5TCw8Esb1YP6RmFl PzbsUl7pY4CfnDoicKIYE61HNLZ1AdKubxnqnGJyR7X9LTYpuLGgmXK+ESovmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737564575; 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: in-reply-to:in-reply-to:references:references; bh=rEAf0D6B8qv+ree2lWtpw3p6DCwy6lIcsttMmrY0S1E=; b=LP3429bVN3SapkJOYUA3LKBaxefpX8ew7H+mKjshfxAKt8d7uZU+bW141RXI3iiLQBrSSp 3FiMa3HeK7Y4R9df6DmLuTbGncO54eyy1/6zvgrzfg5PVgWJPTpBCf7YVXAUrdy1t995d4 iv6TyCDzr4Tlg1Xzp1293KDCxpB4AFcBKPfHQBVjLKFqAeuaGllaEFpz4Scw63J3aKeku1 lOsmir/P5DDd9aVEV1j8A9TfGWFDwkUfY/uDniz6xdWOKMbgb/KLR+tlhgq55ML0/mlSyD SmwTAoSZraaGbp+gPxFh3dVJ+QfJgagXn1dZI/cl60VFo92mUdPDjAaD3W92Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737564575; a=rsa-sha256; cv=none; b=UACqdYXKlR56VW4dYrSeC3rT3qVNwY6Vb/3obvQ2OJf1u2AqZ0ViaBLcCT55Ega1VD+KNX WuXBJWMgRqnx+tCxV9GqTykoG/cQjSUJpLCjBLcehxUIWWwZqjhyfuYutN6VCkzbC9rYqO P4jZHF+oMlrueZG7SNrs6IPFo8+gG4wPj/vuc8XRKWky+178p3KNfeDvFxhmk7n9irHk72 XukelZvxk6tHFI1437M+w4pwMHbMn1wnFDqkz3MVH4535eEXnjODBrrCfqskjq/6ORq6ER 52RCtIWh1HnCfvv3HX8VMgHezfepbyFVFhwTkHkAyGLDKky5d5LG/womHA2pIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from cell.glebi.us (glebi.us [162.251.186.162]) (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 did not present a certificate) (Authenticated sender: glebius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4YdVRM0XP1z169r; Wed, 22 Jan 2025 16:49:34 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Wed, 22 Jan 2025 08:49:31 -0800 From: Gleb Smirnoff To: Warner Losh Cc: Dave Cottlehuber , bob prohaska , Sulev-Madis Silber , freebsd-current Subject: Re: /usr/src and /usr/ports not git directories ? Message-ID: References: <3782b90b-850f-4435-8b6d-bdb83753daea@app.fastmail.com> List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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=1 -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 W> W> which could be done with the pkg file when extracting to /usr/src. I've not W> measured W> ports. I really like this plan. So before checkout .git is 337M and after checkout it is 975M, which is made by actual sources + .git. Let's go forward with shipping this bare clone + optional checkout for 15.0-RELEASE. We can ask if user wants to do the checkout, or just keep /usr/src/.git during the install process. For upgrades, we will just write new full /usr/src that includes .git on top of 14.x-RELEASE. That will consume +50% more space on upgraded installations. I'm pretty sure this is fine for those people who do install /usr/src, they already ain't doing a minimal installation. We will also put this in RELNOTES. -- Gleb Smirnoff