From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-devel-bounces+larch=yhetil.org@gnu.org>
Received: from mp1.migadu.com ([2001:41d0:303:e16b::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms8.migadu.com with LMTPS
	id OOfDK5s7tmWBYQEA62LTzQ:P1
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 28 Jan 2024 12:33:47 +0100
Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp1.migadu.com with LMTPS
	id OOfDK5s7tmWBYQEA62LTzQ
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 28 Jan 2024 12:33:47 +0100
X-Envelope-To: larch@yhetil.org
Authentication-Results: aspmx1.migadu.com;
	dkim=pass header.d=philipmcgrath.com header.s=fm3 header.b=ITTCCSd+;
	dkim=pass header.d=messagingengine.com header.s=fm3 header.b="n LzJls4";
	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";
	dmarc=none
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1706441627;
	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=cC4TEmjh98em93wzToRudYJ38TkunWtoJ+h6la6v1XU=;
	b=nnUat0fl4J9UH4xmQyfazF1kpWG59QMo5UE/46SAUfweook3fqdQOv0inwti4t8v/P1+hb
	AQfX6+vPfdN/5aV8//Vfi4TSu9pDan5+Bhso1NY6Bt04/wDiQqnE/T343ZwSh1JHREWFvI
	DZDpVWiro66k+dcyx0YFOP1edCNaR2itzWryMEPoF0VfcEj2ph3SFhz+cNCf11kJTBnDTN
	WcEaF9J4SVDz4lmOamLfmBeJSff/qkBJU3FHo6CaQsLdAYafvF0mQX86QhClXkk0GYLVgm
	rbGd921rI8nDhB+oHJnjZ5VyMkQDvRNIk0wBfWjrOebIWoEUWvPV7XtMYUv8sA==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=pass header.d=philipmcgrath.com header.s=fm3 header.b=ITTCCSd+;
	dkim=pass header.d=messagingengine.com header.s=fm3 header.b="n LzJls4";
	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";
	dmarc=none
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1706441627; a=rsa-sha256; cv=none;
	b=nlMzdT5XViKxUH93M6BS+aeVtzSxwpuRtZ0F7p/HKTY7CKfPfYAv3CgKGIwUutscwvw5KH
	PP/4M9PlA4Vg9eVdN6B77wM21iI3akqrbtXthazigSuzKmAhitfrDS1tmslQngIzcYhgDh
	+HHkpxnMPGXw2a4aib4TPBK4lI7dOTRKaGzXbt4adr2ZJOOoecsqilQJ8hNfZ0q58DGgOc
	xRLnsJH2MVc+Vlgnl/tdxJjiwYuEHBW+zNt2lOOaNxdqX/jlOiElZCpnigh5lcC4JKT3UZ
	qw1rriTSq6BxoWQGmf3U/wJMPag7JXWu3pcDCYWZVEZ/RxvHe5Kgcm7lX2E9LA==
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 862853CE94
	for <larch@yhetil.org>; Sun, 28 Jan 2024 12:33:47 +0100 (CET)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-devel-bounces@gnu.org>)
	id 1rU3PV-0006in-8B; Sun, 28 Jan 2024 06:33:13 -0500
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 <philip@philipmcgrath.com>)
 id 1rU3PU-0006iR-76; Sun, 28 Jan 2024 06:33:12 -0500
Received: from wout5-smtp.messagingengine.com ([64.147.123.21])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <philip@philipmcgrath.com>)
 id 1rU3PS-0005Zz-CF; Sun, 28 Jan 2024 06:33:11 -0500
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id 9D63E320092C;
 Sun, 28 Jan 2024 06:33:04 -0500 (EST)
Received: from imap52 ([10.202.2.102])
 by compute1.internal (MEProxy); Sun, 28 Jan 2024 06:33:05 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 philipmcgrath.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:from:from:in-reply-to
 :in-reply-to:message-id:mime-version:references:reply-to:subject
 :subject:to:to; s=fm3; t=1706441584; x=1706527984; bh=cC4TEmjh98
 em93wzToRudYJ38TkunWtoJ+h6la6v1XU=; b=ITTCCSd+71tfKq6J5jhrjWKvxc
 Ur8/1N8oISWlXGDGoyCrQs9c+2xCQk6jXiTqLy1Hvt79xgwQ1HlPF2Xk0ThSd0K6
 UM6pMcYy6P5j2FpSqxbjgO6xFaVMr1tX2yYQj12xonJDKJAupPhr74ywwzSnA0rA
 xArQwxaezeGqgFMlw1BC9hdh+n5J4I2x6jM6HjvNkP4bzYrXCy6lj7HbIlsjCerF
 Qcwnbq8GL5EXzles9KO0GCsjIavkZZaEp1FFQjJfNGalhh0Qlz5eOYCJ/tcl7vOW
 mUlVCPTFNYFsvx9hcpWQC3PAXE1w/Zy4oxJw7IouZxfjc0BGNsdCNB8c9/qw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1706441584; x=
 1706527984; bh=cC4TEmjh98em93wzToRudYJ38TkunWtoJ+h6la6v1XU=; b=n
 LzJls44/JchNd/T4pOGS6gJ9L4ZE5tazGIsHNXzLUS/QCnYRpnYY5S/56/dhVpae
 uEiAKFsJKdetGwjarP0y4J01Qn8kJfku0J9LQHMNQJcLt/ui9LWFLd82haUdG8Re
 o/x7b0VEJfcowYad3yoDCJ7KsHBGIxjBhKnuKSUKswkaWtOmGQMoysVUd+1XiqD5
 n7k2LepB2zdO5R2rxkUSfhOLNIF+ApPLpb923wqwAd3uJxiu04k+N3NctUu6g0BI
 mI1JRj4mHpUSuO6fTgHZgS/xQ3oP0IWlbX31P9FGToUmR9SMDElvMpZfIOfi5q8U
 +p63VLI8QMC/fEcP8FL5Q==
X-ME-Sender: <xms:bzu2ZY7af7ymw-q4L1gKcOR4FMA0pKWdUm39vjIvWBaWsp100ojMJg>
 <xme:bzu2ZZ6-qQdIpd47HiCjZa_4uiUkJlLPj5FvDUzGkDayEAcI_yHh_Kf3VE-1FFPQU
 lvhJdJK6gCpbbjOhMs>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrfedtvddgvdelucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhepofgfggfkjghffffhvfevufgtgfesthhqredtreerjeenucfhrhhomhepfdfr
 hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth
 hhrdgtohhmqeenucggtffrrghtthgvrhhnpeekieejhefggeetvdejudeliedugeehhfdt
 ffetvedufeelieffleevkefhveevteenucevlhhushhtvghrufhiiigvpedtnecurfgrrh
 grmhepmhgrihhlfhhrohhmpehphhhilhhiphesphhhihhlihhpmhgtghhrrghthhdrtgho
 mh
X-ME-Proxy: <xmx:bzu2ZXd1kHnXN6u1HfsSex3y9aoMF0vJ4sHSb2x1zWqmYupfGwkIKQ>
 <xmx:bzu2ZdJZokwpk3cBmkdhWB-MZ59lOp4ZpyyxlnVGNhBjQO3djrnX9w>
 <xmx:bzu2ZcKurqNeXKTHQOHV5WlR2eF3kXkN6CNI3_2LOGtjJnw4Ol4xfg>
 <xmx:cDu2ZU__8M-cMXC6pvc9ELF8Rkky3TykL3N9hxysirW0I6zwPRqE6w>
Feedback-ID: i2b1146f3:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501)
 id 41510C60097; Sun, 28 Jan 2024 06:33:03 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.11.0-alpha0-119-ga8b98d1bd8-fm-20240108.001-ga8b98d1b
MIME-Version: 1.0
Message-Id: <36c342e3-c5f9-4d33-866a-58e1b31e4a5c@app.fastmail.com>
In-Reply-To: <8734uhycgs.fsf@ngraves.fr>
References: <87mssuu57m.fsf@inria.fr> <87il3i8wci.fsf@xelera.eu>
 <8734uhycgs.fsf@ngraves.fr>
Date: Sun, 28 Jan 2024 06:32:42 -0500
From: "Philip McGrath" <philip@philipmcgrath.com>
To: "Nicolas Graves" <ngraves@ngraves.fr>, "Giovanni Biscuolo" <g@xelera.eu>, 
 =?UTF-8?Q?Ludovic_Court=C3=A8s?= <ludo@gnu.org>,
 guix-sysadmin <guix-sysadmin@gnu.org>
Cc: "Brian Cully" <guix-devel@gnu.org>
Subject: Re: Git-LFS or Git Annex?
Content-Type: text/plain;charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=64.147.123.21;
 envelope-from=philip@philipmcgrath.com; helo=wout5-smtp.messagingengine.com
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
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."
 <guix-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-devel>
List-Post: <mailto:guix-devel@gnu.org>
List-Help: <mailto:guix-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=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: -9.33
X-Migadu-Scanner: mx13.migadu.com
X-Spam-Score: -9.33
X-Migadu-Queue-Id: 862853CE94
X-TUID: RK/Cifwm7KqZ

Hi,

On Sun, Jan 28, 2024, at 5:33 AM, Nicolas Graves via Development of GNU =
Guix and the GNU System distribution. wrote:
> I've left git-annex for git-lfs, I'll just add a few points about
> git-lfs.
>
>
> On 2024-01-24 18:39, Giovanni Biscuolo wrote:
>
>> Hi Ludo=E2=80=99
>>
>> Ludovic Court=C3=A8s <ludo@gnu.org> writes:
>>
>> [...]
>>
>>> The question boils down to: Git-LFS or Git Annex?
>>>
>>> From a quick look (I haven=E2=80=99t used them), Git-LFS seems to as=
sume a
>>> rather centralized model where there=E2=80=99s an LFS server sitting=
 next to the
>>> Git server=C2=B9.  Git Annex looks more decentralized, allowing you =
to have
>>> several =E2=80=9Cremotes=E2=80=9D, to check the status of each one, =
to sync them, etc.=C2=B2
>>> Because of this, Git Annex seems to be a better fit.
>
> This is not always true. Git-LFS also has the concept of Custom Transf=
er
> Agents, which in some cases do not need a running server. One example =
is
> lfs-folderstore, which can simply use a remote directory as a LFS remo=
te.
>

This is very interesting and could have me look at Git LFS again.

>>
>> I've never used Git-LFS for my media repository (and will never use i=
t,
>> never).
>>
>> AFAIK this two advantages of git-annex vs Git-LFS are still valid tod=
ay:
>>
>> --8<---------------cut here---------------start------------->8---
>>
>> A major advantage of git annex is that you can choose which file you
>> want to download.
>>
>> You still know which files are available thanks to the symlinks.
>>
>> For example suppose that you have a directory full of ISO files. You =
can
>> list the files, then decide which one you want to download by typing:
>> git annex get my_file.
>
> This is true, but
> 1) you can still adapt your filters to ignore certain files, although
> more inconvenient, it's not impossible
> 2) in practice, I think most uses don't need to. I just now that all .=
lz
> files in a directory are to LFS, no questions asked.
>

I think you could probably use the fairly new =E2=80=9Csparse checkout=E2=
=80=9D feature of Git to get only some Git LFS files.

>>
>> Another advantage is that the files are not duplicated in your
>> checkout. With LFS, lfs files are present as git objects both in
>> .git/lfs/objects and in your working repository. So If you have 20 GB=
 of
>> LFS files, you need 40 GB on your disk. While with git annex, files a=
re
>> symlinked so in this case only 20 GB is required.
>
> True.

This raises a question for me about Git Annex: if the files are symlinks=
, if I edit a file, is the change detected and tracked? Could the old ve=
rsion of the file potentially be lost, if I don=E2=80=99t take care to h=
ave it synced elsewhere before editing?

Philip