From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <bug-guix-bounces+larch=yhetil.org@gnu.org>
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 <bug-guix-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; 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 <bug-guix-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; 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 <larch@yhetil.org>; 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 <bug-guix-bounces@gnu.org>)
	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 <Debian-debbugs@debbugs.gnu.org>)
 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 <Debian-debbugs@debbugs.gnu.org>)
 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 <Debian-debbugs@debbugs.gnu.org>) 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 <raingloom@riseup.net>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: bug-guix@gnu.org
Resent-Date: Mon, 11 Sep 2023 07:07:02 +0000
Resent-Message-ID: <handler.65720.B65720.169441596925696@debbugs.gnu.org>
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?= <ludo@gnu.org>
Cc: dev@jpoiret.xyz, 65720@debbugs.gnu.org
X-Debbugs-Original-Cc: Josselin Poiret <dev@jpoiret.xyz>, 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 <debbugs-submit-bounces@debbugs.gnu.org>)
 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 <raingloom@riseup.net>) 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 <raingloom@riseup.net>
Date: Mon, 11 Sep 2023 09:00:07 +0200
In-reply-to: <87pm2s385m.fsf@gnu.org>
Message-ID: <cuch6o16vgh.fsf@riseup.net>
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 <bug-guix.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/bug-guix>,
 <mailto:bug-guix-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/bug-guix>
List-Post: <mailto:bug-guix@gnu.org>
List-Help: <mailto:bug-guix-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/bug-guix>,
 <mailto:bug-guix-request@gnu.org?subject=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 <ludo@gnu.org> writes:

> Hello!
>
> Josselin Poiret <dev@jpoiret.xyz> 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.