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 CHhqEKa8/mRuoQAA9RJhRA:P1 (envelope-from ) for ; Mon, 11 Sep 2023 09:07:18 +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 CHhqEKa8/mRuoQAA9RJhRA (envelope-from ) for ; Mon, 11 Sep 2023 09:07:18 +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 CFBA750F0C for ; Mon, 11 Sep 2023 09:07:16 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=riseup.net header.s=squak header.b=sgMvSPrS; 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=riseup.net (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1694416038; 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=fVsTarqxj4zCYtRELQrlT72VISU0gSBV/HCOlXnUQow=; b=aUmoKPqkoESqsSweZBoH1kHBajq58wT6BklmW36OAIA1VI6QdwnHM5qEmgNEbn5ctcjZip LHX6OMiAVq+r9uurAMzHyc/OAu3YmKBGjorH4Rl/3bLyUyfSC6hfIbCIyP9ekDHjt2Psoy APAiucr7NdrdetglqOESYBXQTjg0R3HDquoFLRS/8aw30dawKExh9Duryc32IDkVwsxGr4 axXG3zQoFUX38O9YrldLfSa1XSr/IiQgcAnowRlIWEqJ1gOfCiZUKdYDjasG0FUpxyMFMQ hMv6CTxYxnEtsaZPv97DpGUOelkCU0xlmmacituX+c9ufTiAOiQb+Ebh1d+upQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1694416038; a=rsa-sha256; cv=none; b=iuITMezRso3G0rWSY6Wu+aXTCAb50U3MEwzTXl2rHBUaZvnu6JRP1wpjzAiziZrmkeofxA rZ5U9lqkxaqOfm6T1AhNzTVgTS5T16ah1E27mrugrFCCWPqxE2z8gDr2hG2Y67mPYZtpNa 9Zs5i6dY0kaN91CgTyWlyh83gCDYZw/yvsu2YNmcsJE591hbBJO9BnYuvYQBaETRCFBvdM bZPKnGxYSIoM6yGlN+rx20znizwCtElBgv21h3cOQFyT7BQrSCQrHYTyNmJmwMGx/x4WNo Y6fBgPegjuJb/30CbA42q7TkpgdMBZ8+fDzrG+/bmRofXWWKUyT7F08uc9sUVw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=riseup.net header.s=squak header.b=sgMvSPrS; 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=riseup.net (policy=none) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qfb0f-0008RP-7I; Mon, 11 Sep 2023 03:07:01 -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 1qfb0d-0008Pp-Ak for bug-guix@gnu.org; Mon, 11 Sep 2023 03:06:59 -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 1qfb0d-000085-2F for bug-guix@gnu.org; Mon, 11 Sep 2023 03:06:59 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qfb0g-0006hu-RT for bug-guix@gnu.org; Mon, 11 Sep 2023 03:07:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#65720: Guile-Git-managed checkouts grow way too much Resent-From: Csepp Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 11 Sep 2023 07:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65720 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: dev@jpoiret.xyz, 65720@debbugs.gnu.org X-Debbugs-Original-Cc: Josselin Poiret , 65720@debbugs.gnu.org, bug-guix@gnu.org Received: via spool by 65720-submit@debbugs.gnu.org id=B65720.169441596925696 (code B ref 65720); Mon, 11 Sep 2023 07:07:02 +0000 Received: (at 65720) by debbugs.gnu.org; 11 Sep 2023 07:06:09 +0000 Received: from localhost ([127.0.0.1]:51987 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfazo-0006gN-LU for submit@debbugs.gnu.org; Mon, 11 Sep 2023 03:06:08 -0400 Received: from mx0.riseup.net ([198.252.153.6]:52400) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfazk-0006fq-TB for 65720@debbugs.gnu.org; Mon, 11 Sep 2023 03:06:06 -0400 Received: from fews02-sea.riseup.net (fews02-sea-pn.riseup.net [10.0.1.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx0.riseup.net (Postfix) with ESMTPS id 4Rkd6C1GS0z9t0C; Mon, 11 Sep 2023 07:05:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1694415955; bh=DvgxFBmsqF7lmWFKoPyuRScC1d3IK0LLKh3DGJfCs7w=; h=References:From:To:Cc:Subject:Date:In-reply-to:From; b=sgMvSPrS8Pqcb73dlwo1+I2JXpvmCx1F0Tt0CTVbKQnkF7lWAczBAiDV6jyhC1sCT zfuyja8n50BiNer/VIBbZQtZRK/F2f0KqQ9v3JkgROW0dP+ALQ8y9V8WBh3knp4cUh fR8lYF8fzNw66grNOuDMoXis7/WCR9JYn1gNymyY= X-Riseup-User-ID: A0079F29EF7EC8FC5519C967AEF101960BA8D34E079E6B32377221C8FCF49627 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews02-sea.riseup.net (Postfix) with ESMTPSA id 4Rkd5z3M0dzFqjr; Mon, 11 Sep 2023 07:05:43 +0000 (UTC) References: <87bkejc7go.fsf@inria.fr> <87fs3tobju.fsf@gnu.org> <87tts9uj6x.fsf@jpoiret.xyz> <87msy0ln4m.fsf@gnu.org> <87pm2vvibo.fsf@jpoiret.xyz> <87pm2s385m.fsf@gnu.org> From: Csepp Date: Mon, 11 Sep 2023 09:00:07 +0200 In-reply-to: <87pm2s385m.fsf@gnu.org> Message-ID: MIME-Version: 1.0 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: 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-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx0.migadu.com X-Migadu-Spam-Score: 1.09 X-Spam-Score: 1.09 X-Migadu-Queue-Id: CFBA750F0C X-TUID: cnYdZU4Or5UF Ludovic Court=C3=A8s writes: > Hello! > > Josselin Poiret skribis: > >> Right, although I wouldn't necessarily say that the former doesn't have >> a proper API, but rather that it has a Unix-oriented API. That leads to >> performance issues on e.g. Windows but on Linux I'm not sure there's >> much of a difference. > > [...] > >> We could consider replacing the guile-git dependency with another >> library built directly on top of git-minimal, and have this be a >> dependency of Guix. Not ideal though, and not really scalable either: >> we can't just add every VCS as direct dependencies. > > I cannot imagine a viable implementation of things like =E2=80=98commit-c= losure=E2=80=99 > and =E2=80=98commit-relation=E2=80=99 from (guix git) done by shelling ou= t to =E2=80=98git=E2=80=99. > I=E2=80=99m quite confident this would be slow and brittle. > > It looks like there=E2=80=99s no option other than carrying the two > implementations. > > ~~~ > > Years ago, Andy Wingo sketched a plan for GNU hackers to implement Git > in pure Scheme. That was on April 1st though, so people mistakenly > assumed it was a joke and the project was never carried out. > > I digress, but I wonder: is there not even a viable Haskell or OCaml > implementation of Git? > > Thanks, > Ludo=E2=80=99. For sake of completeness: There is an alternative implentation in C for Plan 9 that I've used and is now mature enough that the 9front project switched to it from Mercurial. It might be possible to compile it with the plan9port compiler wrapper. There is also a Git implementation in OCaml that some MirageOS unikernels use to serve static content from a git repository. Also the Irmin "database" is based on git and is written in OCaml.