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 sFn9Al42G2VqdwEAauVa8A:P1 (envelope-from ) for ; Mon, 02 Oct 2023 23:30:06 +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 sFn9Al42G2VqdwEAauVa8A (envelope-from ) for ; Mon, 02 Oct 2023 23:30:06 +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 60DBD5F68D for ; Mon, 2 Oct 2023 23:30:05 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=wolfsden.cz header.s=mail header.b=qBFHDW5D; dkim=fail ("headers rsa verify failed") header.d=wolfsden.cz header.s=mail header.b=rvKbjNiK; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=wolfsden.cz (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1696282206; 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: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=dUC2rh+XhmJ/QzPCN7iAvxCkoUEwJu121PVN2DFDBu0=; b=beHHg2N2uQ2+eFqK22JDKO1z8ozE+evkA4M05/smCGFznXbdWEYF9isPNyPl7OCXE6WOSi dvefjbp8Uf+/eMuHx2Az+xPERgO62Yjj0ujVqEfI8PxSGB6iCogniA3z4mKyqWsW894N/r kAPUxJ+lhLDzJHGP3XDxfPxEf3UjRtj9UkHTUzkqwq9774raUuD2KWoarq0ACxtB0yFAnf vJGXMQlTNcfeTDW1GGgicacFYQ7jQQFNWBX/lPYHxnhI2/UhQhwcJsCNHoQF2Y99YPlWHD 9svZnV/dnjstfx30maHwnG+JmSvkC40UsRuIjh8MH8gl4//PfMhxChNSaFkljA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1696282206; a=rsa-sha256; cv=none; b=dUgA+iTPKiQ2x3jg69tQlVDiYdY23sfz0IF4Ev1UWL4vc7JbWjoo5dhtqA49kmDsio564H 9miamx8nDpSSyHdFdIb8/4ggXmI/riP2RED9os04FxFRhz214EmqkAynfYNCG5OEbRzkdb sLm+mVxHPlwJqrAZXwpK173cR/K3VFRhZfC/x895o7KANjEIAlthS0toGHaQyUg0H2vJHb avAEVIaAk7U16xarkZNLppc6CUy7NxtpIpDj8PBkrAeN2Mk2jo2iikdMzx7RqGtyTzr2aS osqobLq+k9tScdZwEHZanHvMDcDEKygsiqlFAzGPVpbBdiKoFc2sOBG3WtAAKg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=wolfsden.cz header.s=mail header.b=qBFHDW5D; dkim=fail ("headers rsa verify failed") header.d=wolfsden.cz header.s=mail header.b=rvKbjNiK; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=wolfsden.cz (policy=none) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnPxD-0001Co-VS; Mon, 02 Oct 2023 16:55:48 -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 1qnPxC-0001CX-8I for bug-guix@gnu.org; Mon, 02 Oct 2023 16:55:46 -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 1qnPxC-0005zW-0L for bug-guix@gnu.org; Mon, 02 Oct 2023 16:55:46 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qnPxS-0007Uw-BU for bug-guix@gnu.org; Mon, 02 Oct 2023 16:56:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#66268: Guix makes invalid assumptions regarding guile-git guarantees leading to guix pull failing Resent-From: wolf Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 02 Oct 2023 20:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66268 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Simon Tournier Cc: 66268@debbugs.gnu.org Received: via spool by 66268-submit@debbugs.gnu.org id=B66268.169628011828744 (code B ref 66268); Mon, 02 Oct 2023 20:56:02 +0000 Received: (at 66268) by debbugs.gnu.org; 2 Oct 2023 20:55:18 +0000 Received: from localhost ([127.0.0.1]:38133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qnPwg-0007TR-5Z for submit@debbugs.gnu.org; Mon, 02 Oct 2023 16:55:17 -0400 Received: from wolfsden.cz ([37.205.8.62]:59470) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qnPwa-0007T6-0Q for 66268@debbugs.gnu.org; Mon, 02 Oct 2023 16:55:12 -0400 Received: by wolfsden.cz (Postfix, from userid 104) id 17E7B25FC39; Mon, 2 Oct 2023 20:54:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1696280089; bh=kTWQvTZK5SmlTRtauP524+hZlPFvlyK6lDSnQkcAiUY=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=qBFHDW5D3STZO6OIO8z8hI4+P5OcyPxkJd6tIEEfjtr5h4/w9OYAJ+zRQzWjJqW0b pWY4vJGwrQ/cRxGOMBNDpIo2k1hxYm93kwk7w7V1GVL7TX3tUZdtBOqsDAr4B7HVvx 9iGdeUSRdlEbZPraqk1w+WVIfADdNK+st+gcNNUp8lGRV07zei8ILE06JeQL/xHx4s Sfnhiwk2s6QESiUVJF3mffiNFCEpyS6I/qE8gFGPqEg6aOtG1MTX4DXu0haJyazkgO ZpinqRQrOBqJYgbuZJKEIYNWl9bijI3PdMiumRe+bDlM2dzCMXCv7kGugXOnxjEaOa uYK7zwQFTKHAjPofudZREToPo73pwpoIuMqOGIDc9aRpMrlBgdEppjvEyLGkDn6BOU UKfOGeqLDydaKXBqJrJJ8SBfayMY/Fhe9f4yfQYHcgHlXzvU7JPQsFibvn/c1zLIGZ U9e+ySEgokB9ewEF2QAVY3F6Oo+sAevCNWJ13VB1qZ+e4HYnEYla6KglfwinHJck3e YLmKOeto7FqjrUveuws/QERJTu5oJH7CJyeg+8/OhekqQa75dmFBYUIF4aaKw6UdaV du08yLTPw7hPs6Z59zmBG0UrHNsRnRjHtkOjqluQhgPoa1gsg+a4ciR6vqwaNxep9f o4l+nqJRRH8WSwXcM/uiiK/k= Received: from localhost (unknown [193.32.127.157]) by wolfsden.cz (Postfix) with ESMTPSA id E17F4261A5A; Mon, 2 Oct 2023 20:54:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1696280085; bh=kTWQvTZK5SmlTRtauP524+hZlPFvlyK6lDSnQkcAiUY=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=rvKbjNiKtX1Obw4WQKdiRHW5UmD5qZodCFqlVFokjSQ/mtyaQ7XKz62ei2kgjqfbH w/QbloNMsCrGGNZXRnS8C27MJsSH2sjHfLJh9YLLpiiuDsaSTjnydoO+vmtKFbJ9AW 01ZkhjEStXqlT5g5xQtcFdC9vhdq2zH8t7RRvpuuuQWBVnfc/gyqDPSj4Holm/uR7k mgKsTg0U0utjVXY0r8mXrfXWQwY69PlryeMgsc8AaiOzCfY2XQvwNtba0J3bTqPBAn xqknbYPt2miVTIsuREUKVsv2j8K5IZGFbnInKA6D0jNvyWg+OiN93LMmdmEry8WlYu lsABnO5DnDBekB/WMCHI+uskDL/u8ffKlfn297jcgjtmjADM5O5E2CN0dCwnRkuVFo 8sTo3Cl/RmLmQR93Bg6KjJ9aJ0MIbS35j3N+qMx1p0zO/4KdwIacj6P64aeKW0wZFL wM1pAkG1uiFLFbkWVR8wT6VWpHXZnqmWvg+CUYG1gpX8jQDq7k8BhoVm5YGr8Q7Es1 1ZrMKhvL+AjotGjSn6dzYHneumvUgAaWovl5N+J9yxoqLihN4ne+0W5mOtLQ/t3PVA bVRjtIpNKM/f010N19xj+x0hDGkgVKbdpQah/8Biu2Kw3fy2jrEsoivmDsZxrALE7H 0mogfGuMophoqCzpN0PS17eE= Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 7d3bde05; Mon, 2 Oct 2023 20:54:44 +0000 (UTC) Date: Mon, 2 Oct 2023 22:54:44 +0200 From: wolf Message-ID: References: <86fs2vek60.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="+UQ01KY/FuPcIZvY" Content-Disposition: inline In-Reply-To: <86fs2vek60.fsf@gmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: bug-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx0.migadu.com X-Migadu-Spam-Score: 0.27 X-Spam-Score: 0.27 X-Migadu-Queue-Id: 60DBD5F68D X-TUID: E0QasB7P1j7x --+UQ01KY/FuPcIZvY Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2023-09-30 17:48:55 +0200, Simon Tournier wrote: > Hi, >=20 > Hum, the updates seem: >=20 > + libgit2 on Feb 17 2023, > + guile-git on May 15 2022. >=20 > (See 8d8e1438ae5a2e50005b500dacd0a26be540fe69 and > b6bfe9ea6a1b19159455b34f1af4ac00ef9b94ab) >=20 > And some commits with large body are around: >=20 > + 7b45ead9ec40a5ea1ef8332d55c2bb4beff85eb5 from Jul 18 2023 > + 1e6ddceb8318d413745ca1c9d91fde01b1e0364b from Feb 19 2023 > + 5897d873d0c902f08d13c38500eff11098f2a634 from Aug 10 2022 >=20 > And I have not investigated more about their commit object size. Just > counting the number of characters per commit message. The one you > provided is about 3030, if I am correct. Here, let filter with the > criteria of 4500, why not. :-) >=20 > --8<---------------cut here---------------start------------->8--- > $ for ci in $(git log --format=3D%H --after=3D2022-05-13); do \ > echo "$(git show -s $ci | wc -c) $ci" \ > | awk '$1>4500{print $2 " " $1}' \ > ;done=20 > 7b45ead9ec40a5ea1ef8332d55c2bb4beff85eb5 4997 > 1e6ddceb8318d413745ca1c9d91fde01b1e0364b 16120 > 575a03ab3997edee08d20867228e886043d5240f 5511 > 5897d873d0c902f08d13c38500eff11098f2a634 6258 > --8<---------------cut here---------------end--------------->8--- >=20 > Well, it is probably not a regression. Or I am missing some details. :-) Thank you for raising this up and making me look into it closer. The issue (commits not being eq? to themselves) does happen for those listed above, however commit-relation still works fine. I am unsure why, I spent most of today on it and did not manage to find clear rules. However the fact remains that when one is on d51135e8477118dc63a7e5462355cd27e884f4fb, guix pull to 4dbd25fa0e09b40ba2ab01d1e64fa36db652b501 does fail. I pushed those commits= into https://git.sr.ht/~graywolf/guix-guile-git-repro as branch xxx in case anyo= ne is curious and wants to investigate. >=20 > I am probably overlooking something, from my understanding, the issue > arises for some corner cases when the bound of the closure does not fit > =E2=80=99eq?=E2=80=99. For these cases, instead of relying on =E2=80=99s= etq=E2=80=99 using =E2=80=99eq?=E2=80=99, we > could rely on =E2=80=99set=E2=80=99 using =E2=80=99equal?=E2=80=99. No? I do not believe so, the mismatch happens even for equal?. I do not know e= nough about scheme to know whether guile-git could override equal? for the commit record type, but it does not seem to do so. scheme@(guile-user)> (use-modules (git) (guix git)) scheme@(guile-user)> (define %repo (repository-open "/home/wolf/src/gui= x")) scheme@(guile-user)> (define %hash "1e6ddceb8318d413745ca1c9d91fde01b1e= 0364b") scheme@(guile-user)> (equal? (commit-lookup %repo (string->oid %hash)) = (commit-lookup %repo (string->oid %hash))) $1 =3D #f >=20 > On Fri, 29 Sep 2023 at 18:52, wolf wrote: >=20 > > ,---- > > | scheme@(guile-user)> (use-modules (git) (guix git)) > > | scheme@(guile-user)> (define %repo (repository-open "/tmp/my-fork")) > > | scheme@(guile-user)> (define %hash "d51135e8477118dc63a7e5462355cd2= 7e884f4fb") > > | scheme@(guile-user)> (commit-relation > > | (commit-lookup %repo (string->oid %hash)) > > | (commit-lookup %repo (string->oid %hash))) > > | $5 =3D unrelated > > `---- >=20 > [...] >=20 > > ,---- > > | $ git merge-base --is-ancestor 9b985229bcd 71f544c102a; echo $? > > | 0 > > `---- >=20 > [...] >=20 > > 2 Possible solutions > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Naive question. Why not rely on =E2=80=9Cgit merge-base --is-ancestor=E2= =80=9D for > implementing =E2=80=9Ccommit-relation=E2=80=9D? >=20 > Since f651a359691cbe4750f1fe8d14dd964f7971f91 from Sep 26 2023: >=20 > build: Add dependency on Git. >=20 > * configure.ac: Check for =E2=80=98git=E2=80=99 and substitute =E2=80= =98GIT=E2=80=99. > * guix/config.scm.in (%git): New variable. > * guix/self.scm (compiled-guix): Define =E2=80=98git=E2=80=99 and pas= s it to > =E2=80=98make-config.scm=E2=80=99. > (make-config.scm): Add #:git; emit a =E2=80=98%git=E2=80=99 variable. > * doc/guix.texi (Requirements): Add it. >=20 > we can assume Git is available by the code that run =E2=80=9Ccommit-relat= ion=E2=80=9D, > no? >=20 > The implementation relying on =E2=80=9Cgit merge-base --is-ancestor=E2=80= =9D does not > have the problem, right? Well, that is true. I forgot to mention this option, because there did not= seem to be a consensus regarding replacing more parts of guile-git with git prop= er. But this would likely be the best solution if that approach is acceptable. >=20 > And from [1], it is 35x faster. Win-win, no? Because the fix for =E2=80= =99eq?=E2=80=99 > will introduce performance cost and =E2=80=99commit-relation=E2=80=99 wil= l be even > slower, no? For what it is worth, the implementation using (I needed it fo= r my fork to be able to pull) is not noticeably slower. The slow down is likely measurable, but since I did not even notice it I did not bother measuring i= t. Not that I am arguing against using git. >=20 > Well, I do not know. My words are probably irrelevant. >=20 > Cheers, > simon >=20 >=20 > 1: comparing commit-relation using Scheme+libgit2 vs shellout plumbing Git > Simon Tournier > Tue, 12 Sep 2023 00:48:30 +0200 > id:865y4gz5q9.fsf@gmail.com > https://lists.gnu.org/archive/html/guix-devel/2023-09 > https://yhetil.org/guix/865y4gz5q9.fsf@gmail.com --=20 There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors. --+UQ01KY/FuPcIZvY Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEt4NJs4wUfTYpiGikL7/ufbZ/wakFAmUbLhQACgkQL7/ufbZ/ wanojQ/8DdcufuFV9CPyAjBgHpmnrazzRB0Er3BQJYkMYaMOlQJjCzwoiIsS7tcn m6ZCWrf0ApYNIvTRervUoZ+FyMddrAIgHFELV6kWsMV4GXP0c+Vb7Z5yZifvmjZ2 nGKd/xiAABUmhVE8N1uNkZ0mOtHOqsNbVojI1eyDTd2ATWMKELDHMmlhIcGLgsFK 08RLqVBPiANaCr+yzm9celiiDjTlnW80DlL9JZrYXYGa4EMphHqQXLvCgsFiLkY0 Kfqhxq1slCLvbAMMJe4nII5NUXNrm4aTUt+NrQhWTwSqiKK9CzOWFzzUGuwZKtRY IeHfyav7wFdDEWWJfuA6NORFyJ1G06hVOZPAOigC/4yyFjoqY457Y2wnjPt6Jsob dCZP7TdXDuCNpIpZTdB7UKxF0PhUzDZhxsXGtSnvcMd7pPgRNsBbI1fJuOXyAEVa dcwgb8VIkqnfzx4GxF1++vYLTyREPf1sv3h18QSNKJZKHIuUcbS/Mlb0s2JdsqoM mvJZexkUI8f6eH+VEf89M7KKKzG1vrdJcFfHFTvAcpxRHgntkBDXFOVbl3bpVV9o Y3UcW+dlz3XhtYRLkYH/rBtwl48O/ssfajdNNjid8dyiF/H1UArOtQ7MT4/Wlh7k E8lYmbCN7F32VyV2VKNZ8bTSceMaRuXdvVr8Ttg2Utu2conm2w0= =02wv -----END PGP SIGNATURE----- --+UQ01KY/FuPcIZvY--