From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id MKvGHCjfAmX8RAAAauVa8A:P1 (envelope-from ) for ; Thu, 14 Sep 2023 12:23:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id MKvGHCjfAmX8RAAAauVa8A (envelope-from ) for ; Thu, 14 Sep 2023 12:23:36 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 4F269379F3 for ; Thu, 14 Sep 2023 12:23:36 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=Fnr33Ug3; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1694687016; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=2Bhambi/Vs7J9Iw5DvOYriFvuae8VIQRJWo74FD59QQ=; b=Kt4n0DRorUPie64r516ookVw8he750QGdteAcnyaHJXDmAFd2gASc03vrnkTuhvCYd5Nfb +5gde7ociSB4JjSg7EtebesxvYeJXXelGbmsYh1qbxGTDBX4/q3HpOwBuumuE/bmHN567F xrp7KyYnko5k90zakYhrdpvjbl25HHibS0RzNiCU9wKo+TDXWINa1rq1q6zhVqLw3LhvEF 0OU0Q0qAilAdYuqFjzbTrM8UhOhMMdP7Jq56rhZ0hovDllNOufQHoaVmBc1gC5BbJdHw2d iC+jQcUbL6yNRLQLtofFEWd1PyTfF4R75Q5cB6MVyM8+jJLarkkrZd2kb0rsJA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1694687016; a=rsa-sha256; cv=none; b=WOsJHvOD354QKcfp0j8lA6ewBy9Y2kVbm/pIGP7yCsRxfhmnVzOByCss06kOqzfZByWCqs JEUOSP0wvrSr04xty53L91aFv2Fsq0pchS3KKYRbkgYu5HYg6utwbYfNEN+mSZbGoXGR/+ Mrsi6E1RWENefsEvUlWhEWEoG5fabJn+ArH5FVl+OnzxQaf5MTyUbRTgo4CNmEnVkokAKG rT5P25FgnNn8xDSGk2d91io61IvzdHgqbA04LNXy0UzESK5axPXgdaW0VWu3Iumvgq4ELf +dYzY1z1qqc93b5rM7KHkn4a/5qbewspbafi48CBHcLfVE/DuPrGMnAfEUKgFA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=Fnr33Ug3; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgjUp-0006x1-0i; Thu, 14 Sep 2023 06:22:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgjUn-0006wV-JO for guix-devel@gnu.org; Thu, 14 Sep 2023 06:22:49 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgjUn-00022V-5B; Thu, 14 Sep 2023 06:22:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=2Bhambi/Vs7J9Iw5DvOYriFvuae8VIQRJWo74FD59QQ=; b=Fnr33Ug38d0qD3ireAqF f3nb6KnBjv9Eeoiy/8PpwCoOBWSC+LtwHls7To6hpTmfzSU+ShONpcsxlBTanJ30qGr4zFVezMkMV imCWq8vwQ4yxhq5wv2mywgrnCjTZMN3VONTH6aK4qsgrqn1YfbPNtHBEAmUgG/H/6WZo0FJFhPtjp OkNP3EDYIPv2n+hp2MNMiznxLMv3eQvTNDNeVqjVNH4pDO0J15FjX0/JBz3/fXyYdJ3vF39lpSZ22 eW8Kv+z8s5GOHpqNogVP+Sjl4f/1Ua/LmIXhYEkRrkJAg+uoNa6HiG/049hFC2gK/DbldLQD4cJbe viayLHzQb+dfVA==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Josselin Poiret Cc: Maxim Cournoyer , Simon Tournier , guix-devel@gnu.org Subject: Re: hard dependency on Git? (was bug#65866: [PATCH 0/8] Add built-in builder for Git checkouts) References: <871qf4ivsr.fsf@gmail.com> <87r0n4wp0d.fsf@gmail.com> <87bke74v6x.fsf@jpoiret.xyz> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Octidi 28 Fructidor an 231 de la =?utf-8?Q?R=C3=A9vo?= =?utf-8?Q?lution=2C?= jour du =?utf-8?Q?Ma=C3=AFs?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 14 Sep 2023 12:22:45 +0200 In-Reply-To: <87bke74v6x.fsf@jpoiret.xyz> (Josselin Poiret's message of "Tue, 12 Sep 2023 11:06:30 +0200") Message-ID: <87r0n1cave.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -4.18 X-Spam-Score: -4.18 X-Migadu-Queue-Id: 4F269379F3 X-Migadu-Scanner: mx0.migadu.com X-TUID: akRa4YMBz5WW Hi, Josselin Poiret skribis: > My opinion is that the preferred API for Git is still the UNIX one via > plumbing commands. Anything else is trying to catch up to it, and then > we get into this conundrum that we want to do everything in Scheme, but > we're unable to do it as well as Git itself. If I had to choose, a > Guile library wrapping the Git commands would be the best, especially > since we're managing long-living checkouts, something libgit2 doen't > seem too interested in. I have mixed feelings here. Clearly, I don=E2=80=99t think a Unix command = can ever be as rich and efficient as a =E2=80=9Cproper library=E2=80=9D. Are alternative Git implementations doomed to always try to catch up? My intuition would be =E2=80=9Cno=E2=80=9D, because not so much changes in = Git as an on-disk format and protocol. There is one big change coming up though: SHA256 support (now officially supported in Git). Is it being discussed in libgit2? Maxim Cournoyer skribis: > Josselin Poiret writes: [...] >> There's still the `git gc` problem though. > > It's klunky, but a workaround is to locally clone the checkout anew > using libgit2, as suggested here [0]. > > [0] https://github.com/libgit2/libgit2/issues/3247#issuecomment-486585944 That doesn=E2=80=99t work, at least with libgit2 1.3.2: https://issues.guix.gnu.org/65720#7 > We could also try to contribute to libgit2 toward adding proper > support for a 'gc' action. I share this sentiment: if we=E2=80=99re gonna depend on it, we=E2=80=99ve = gotta invest in it. We=E2=80=99re benefiting from it so we shouldn=E2=80=99t be mere co= nsumers. I have to admit I don=E2=80=99t see myself doing it right now, but I would definitely encourage others to do so. Now, as a corollary to what I wrote above: if we don=E2=80=99t invest in it= , we should be prepared to drop it. Ludo=E2=80=99.