From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.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 ECMMDGpjCGUWigAA9RJhRA:P1 (envelope-from ) for ; Mon, 18 Sep 2023 16:49:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id ECMMDGpjCGUWigAA9RJhRA (envelope-from ) for ; Mon, 18 Sep 2023 16:49:14 +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 C57FC65C85 for ; Mon, 18 Sep 2023 16:49:13 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=Y3nsPOJB; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1695048554; 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:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=87G98ELrSjEDBZ3S7d7TG8bY7a7vyPWEJKzD/2IVtKk=; b=LHs/6xMb9qwRoZpnet8KIMZSoBNsEwsAITPSEsORD28wpn6rVA7VvP/wYIXeTsFNjj53O+ 3CrCL9h8uXAo5/JK2TB8K6VsPieLqIXvI9ADrvta/bW0e1uV+B/EncZRkSKuDnCq7VJzpI d4O+9Zcv4TROyIuTdxMJdMmHL2SbAoG79ZWXHJ5RmmKPGJjboZa/NhKIPee8nZjokJ9Pj6 +JV1+5yhReYdLssN4ghizdfq4lMrdaDk4Pp5cvZ/l4X13i5mB7qVwKCCyjTjKZnkpivTBw Rg5l/dQyMja55fC1D2fR8wL5rU80ni/+m4++czeO+aIluKtQKgE+2Vfq3Qmf9w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695048554; a=rsa-sha256; cv=none; b=lQqWg2Kpk9mOMfB3lfMe7UfGft9DcnAeOVTQ2HAMtRhLjiTY4M1VlC+H0fS0K++u8owmT3 gk+DJeKclLkdRn4gFS58qiuRjvJjj9Mj+v0GgyzdpIGPs0nOWBFHeBL6jYx68EdQUg3hPU WEPKSiVoGuQtJnjw3Jw2SzicMqGjIXOD8S1j6joEAHKGQR0GVB5Q5aYubiL2zwHsFFMOBX +t0edrUu/7zVYGH2c1YCsA+Pw65Zr6Z0NfqfsB3Iu3/p+Xr2C2y/6/oZ0kLT2Fuy2uqbtl Vm185nq8WH7Xv4Me+FS50d5gkaMjIVMLuuiDpLpXIWT1yzcl9yPRHd6iQbSU0w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=Y3nsPOJB; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-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 1qiFVz-0003Oq-EQ; Mon, 18 Sep 2023 10:46:20 -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 1qiFVa-0003FN-Ka for guix-patches@gnu.org; Mon, 18 Sep 2023 10:45:56 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qiFVa-0003ff-86 for guix-patches@gnu.org; Mon, 18 Sep 2023 10:45:54 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qiFVi-0007DO-FG for guix-patches@gnu.org; Mon, 18 Sep 2023 10:46:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65866] hard dependency on Git? (was bug#65866: [PATCH 0/8] Add built-in builder for Git checkouts) Resent-From: Simon Tournier Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 18 Sep 2023 14:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65866 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org, 65866@debbugs.gnu.org, Maxim Cournoyer Received: via spool by 65866-submit@debbugs.gnu.org id=B65866.169504832927671 (code B ref 65866); Mon, 18 Sep 2023 14:46:02 +0000 Received: (at 65866) by debbugs.gnu.org; 18 Sep 2023 14:45:29 +0000 Received: from localhost ([127.0.0.1]:53999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiFVA-0007CF-Qe for submit@debbugs.gnu.org; Mon, 18 Sep 2023 10:45:29 -0400 Received: from mail-qv1-xf2c.google.com ([2607:f8b0:4864:20::f2c]:41012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiFV8-0007Bq-0U for 65866@debbugs.gnu.org; Mon, 18 Sep 2023 10:45:27 -0400 Received: by mail-qv1-xf2c.google.com with SMTP id 6a1803df08f44-637aaaf27f1so12267476d6.0 for <65866@debbugs.gnu.org>; Mon, 18 Sep 2023 07:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695048312; x=1695653112; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=87G98ELrSjEDBZ3S7d7TG8bY7a7vyPWEJKzD/2IVtKk=; b=Y3nsPOJBEoCl5L4ptKb1oaHK34ZkfxJ77wF5F0PO/7AH+iRCvaFaaUkI1JARvQRLBG k/ndcvrLYJj7F+tFvFNo9n73EoYm7WRZBVOcPNvTbn44OPbZUNuF5KdidHcq1u3ZCKcs +Enz7ka0VpGeBBTDwldsjiwbOoVISkU2PL6G3ms4o9XQlaYKdI352wRY79fqpcyj8t2Q byhLSafeRMmOPNKC9XWYdFwwKzTNF0Cp5wSN47NO6GmCgBENI/zK2YNIlK85QgtkJ8sA xLF+t4IRkBg6530z0Mkztui/INuirhJHOioyGKKhmtyWuFCMigWNlVLIy7ew7R6q9iMt 5DBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695048312; x=1695653112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=87G98ELrSjEDBZ3S7d7TG8bY7a7vyPWEJKzD/2IVtKk=; b=dzTpUsR4U3HV65VY47F4qLWmYtlXXAwjzSJHumRIw8CGv/H33Ns6Zt8cIllqV6Nu3G UTBB+I6uLZlSi9IUf0b6J/acVUa1g3tb6eq5zli+aFdCRSPMSWlVrx4gFyhFAnngEa8F YARRjOvDr3w5adz+z6KIp+bU0sLr5Vot4camxbl6qdFYSRHO4qmspPX8S7Q1pwcdmjuA NPvroE6U/Tp+S6lGTFkfe1ZIjJ+sBG7hEOjncocVw6FJ+w76m6PQuUIwGx/ljSU3Tg0J EQeFmSReSDkhqKdem6wdj0RTHzUUn6Pw/6FI1qzD+Y41xDW0rCdoHSEzy2OK/6cyuZxj TJXQ== X-Gm-Message-State: AOJu0YwjkqRCUk6+U4qtd+nQSNeauMUOuQmDyvLe/r/KnaZiQac9AFIQ lKkxbHMcLHIEKjaap4bUjYpjv+cXi2HJFapTa2U= X-Google-Smtp-Source: AGHT+IEzaDmo98995KIOR8XLKG7rrMMq6fP0MGYgtgyQhNkNKxMEpdAleIcmHZDOJbVHb2nqxao0ZZHcGErNoyhOh78= X-Received: by 2002:a05:6214:4519:b0:658:30c4:206 with SMTP id oo25-20020a056214451900b0065830c40206mr1203436qvb.0.1695048311971; Mon, 18 Sep 2023 07:45:11 -0700 (PDT) MIME-Version: 1.0 References: <871qf4ivsr.fsf@gmail.com> <87r0n4wp0d.fsf@gmail.com> <878r987l5t.fsf@gnu.org> <87wmwp8rxy.fsf@gmail.com> <87wmwnh9fe.fsf@gnu.org> In-Reply-To: <87wmwnh9fe.fsf@gnu.org> From: Simon Tournier Date: Mon, 18 Sep 2023 16:45:00 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 5.75 X-Spam-Score: 5.75 X-Migadu-Queue-Id: C57FC65C85 X-Migadu-Scanner: mx0.migadu.com X-TUID: o6z/bqZVV6IP Hi Ludo, On Mon, 18 Sept 2023 at 15:56, Ludovic Court=C3=A8s wrote: > Anyhow, how about this plan: > > 1. Merge with the hard Git > dependency. Is #65866 fixing bug#63331 (Guile-GnuTLS/Git circular dependency) [1]? Does the merge of #65866 lead to close #63331? Because you wrote, This patch series is a first step towards getting Git out of derivation graphs when it=E2=80=99s only used to fetch source code (origins with =E2=80=98git-fetch=E2=80=99), with the goal of fixing: so... > 2. When libgit2 1.7 with shallow clones is available in Guix, work on > a patch to use Guile-Git for clones and evaluate it. ...we could also suggest to continue and have a complete fix of #63331 before merging #65866. It avoids to introduce a hard dependency which will be difficult to remove and let the time for this evaluation of libgit-2.1.7, no? For what my opinion is worth, I have nothing for introducing a hard dependency to Git but we have to be clear that 1. once introduced it will hard to remove, 2. we will merge patches using faster Git plumbing equivalent implementation and so 3. it will push out Guile-Git. > As I wrote, as an example, I don=E2=80=99t think that there could be a pr= actical > implementation of (guix git-authenticate) shelling out to =E2=80=98git=E2= =80=99. [...] > PS: I don=E2=80=99t buy the =E2=80=9Clibgit2 will disappear from Guix=E2= =80=9D argument because > it=E2=80=99s not a natural phenomenon that we=E2=80=99re observing bu= t a willful > construction. As I wrote elsewhere, Git-Annex (or Magit) are shelling out to 'git', IIRC. Well, personally I do not consider that Git-Annex is slow or that Git-Annex does not implement features as complex as (guix git-authenticate). After reading [2], I cannot imagine a viable implementation of things like =E2=80=98commi= t-closure=E2=80=99 and =E2=80=98commit-relation=E2=80=99 from (guix git) done by shelling= out to =E2=80=98git=E2=80=99. I=E2=80=99m quite confident this would be slow and brittle. wolf came 3 days later [3] with a first rough implementation for 'commit-relation' using Git plumbing which is much more faster than the one implemented with Guile-Git. Even, speaking specifically about 'commit-relation', I challenge whoever to beat "git merge-base --is-ancestor"; life is risky: I bet my round of beers in Brussels in the next Guix Days. :-) Reading the C implementation of "merge-base.c" [4] and following the various procedures, it appears to me impossible to beat it; bah using Guile-Git cumulates various penalties from talking to libgit2 to the Garbage Collector of Guile. The question does not appear to me if you buy it or not. :-) The question is instead: do we merge code that uses Git plumbing shelling out that is faster than the current implementation using Guile-Git? Cheers, simon 1: https://issues.guix.gnu.org/issue/63331 2: bug#65720: Guile-Git-managed checkouts grow way too much Ludovic Court=C3=A8s Fri, 08 Sep 2023 19:08:05 +0200 id:87pm2s385m.fsf@gnu.org https://issues.guix.gnu.org//65720 https://issues.guix.gnu.org/msgid/87pm2s385m.fsf@gnu.org https://yhetil.org/guix/87pm2s385m.fsf@gnu.org 3: bug#65720: Guile-Git-managed checkouts grow way too much wolf Mon, 11 Sep 2023 16:42:59 +0200 id:ZP8nc1m8rN_34XV-@ws https://issues.guix.gnu.org//65720 https://issues.guix.gnu.org/msgid/ZP8nc1m8rN_34XV-@ws https://yhetil.org/guix/ZP8nc1m8rN_34XV-@ws 4: https://github.com/git/git/blob/bda494f4043963b9ec9a1ecd4b19b7d1cd9a0518= /builtin/merge-base.c#L103-L115