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:403:4876::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms8.migadu.com with LMTPS
	id yDEsEQGRtmXnDgAA62LTzQ:P1
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 28 Jan 2024 18:38:09 +0100
Received: from aspmx1.migadu.com ([2001:41d0:403:4876::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp1.migadu.com with LMTPS
	id yDEsEQGRtmXnDgAA62LTzQ
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 28 Jan 2024 18:38:09 +0100
X-Envelope-To: larch@yhetil.org
Authentication-Results: aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=LP93qBnW;
	dmarc=none;
	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"
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1706463489; a=rsa-sha256; cv=none;
	b=nlwuu6Bux+1wLPJMcX86L4vX5Sfxmiu0wLv0t9y6qcBWde468duW5dk3zJZ4gZ2ZTug9gW
	MgaLBdx9YkIelDnNAsIFN7vCKXLecW0l7gZIHUvpdY/G4cWm0aW2KDZv1nRXIwKyo5nxaS
	ObmRCAD8lILHWSAyBut8+or4a1vXMzmnDbprphna/ZNtwW2hbHykROYSwOGMsEiyAkqv5G
	WJYxJJFNiYoQLsUp1WabxK40e/9BkjaHceVeZzGriDz1xNIKlYSyvRSP7V1XJUVjRBMMqv
	OHdFvTIfSd7xWaq+4bWRX5ElvLUMOlrkmjTuTxHjpU6BPB62PAhq5/54vUySlg==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=LP93qBnW;
	dmarc=none;
	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"
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1706463489;
	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:in-reply-to:in-reply-to:
	 references:references:list-id:list-help:list-unsubscribe:
	 list-subscribe:list-post:dkim-signature;
	bh=6T07vrNLH5NwbD+IzTlPqeXmU45FpCyPZe49KSO49Eo=;
	b=j4wJHeLl4wY80qwuNaK7xaVrgTRipBDx26ImZifLyJ9DJI4xpzTzrT+ozHpHDECCwkeYLr
	vyPGyYE01J9AgVk+qwF5Bg6r1qqEfUYrJAkrmznEk1h20+KWa8VeJfC2a72jOBQGRegrg7
	+P0A9C29BFij/tULIlhr0ORhljPlk/TRQ2QTUVT+NHeCOQlm7GGlvNoWv5opMh2/T4X9OA
	kI1YAKbSKmiV4z3X7vbK/nqO4CkGJvLecukBbMn03bJipHoXWTPmsFqrBn4uebuGV2zFox
	VPyzNzxkCB2mZsUax4KStZRj+BcuffJvQC+DLJluT3NF38ALvyqf/gVp+5iONg==
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 0BDA42741E
	for <larch@yhetil.org>; Sun, 28 Jan 2024 18:38:09 +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 1rU961-0003gn-3y; Sun, 28 Jan 2024 12:37:29 -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 <efraim.flashner@gmail.com>)
 id 1rU95q-0003eV-JI; Sun, 28 Jan 2024 12:37:20 -0500
Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <efraim.flashner@gmail.com>)
 id 1rU95o-0007AH-Nk; Sun, 28 Jan 2024 12:37:18 -0500
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-33ae3cc8a70so945577f8f.0; 
 Sun, 28 Jan 2024 09:37:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1706463432; x=1707068232; darn=gnu.org;
 h=in-reply-to:content-disposition:mime-version:references
 :mail-followup-to:message-id:subject:cc:to:from:date:sender:from:to
 :cc:subject:date:message-id:reply-to;
 bh=6T07vrNLH5NwbD+IzTlPqeXmU45FpCyPZe49KSO49Eo=;
 b=LP93qBnWrIjcs6IlCyDtsxVxcgurAwYQGRhjBCA1EEn34gKjcWERdVfjzQAE5VgbPM
 Pw3H0mWqrk7u937iKScTM/0/c1i3stDBjNlG7mkh25rJjiiVZAKs3niMb187ZwhOWyK9
 kBs3AN+KLDCL0vAJdADUsr/Qg9+HDu/EWyHFACAH6idb0/LThKmNVjFaGFPa2ODj2k7I
 ohpiJj2zu1lwPDNpXXLiFD3z32BpoNCayWmF8fj2w2Qdw1Y6BG4358GwC1UiLQmndPZl
 s9tdSXraVjC7fIcmLQ0/sh28X16O5RkpWimOxvAU+DuTKXNH0W9mq58NVO4vzvhZuC87
 m9HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1706463432; x=1707068232;
 h=in-reply-to:content-disposition:mime-version:references
 :mail-followup-to:message-id:subject:cc:to:from:date:sender
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=6T07vrNLH5NwbD+IzTlPqeXmU45FpCyPZe49KSO49Eo=;
 b=Hf8WHHP+gQTgKt6aH5vQkN5wkdpJIbr9GU18TrsXnnQVXkSSeyYIacf8i3vIZH4ErA
 X0o3OdTWDChQLTHQNj7LAbo10Vtc021ou4pEiK73eJyYsiwETwqQDBQ5Zsv1m2ZZGDG6
 VnxsFwWWBM+KlsRB0nSoDKSVS/VyB3Cst2SVOx2q/QZq0gepxFdSn6fWzjHRqzdBa4oi
 0SW7IH1eiOGuL3ZulyxHew9v+tItwgtupk4SPvqumQeYx/Xe8fZkYzz8A1eGsGFDeTI7
 EAR7c707L7a88j5XZB2hW3R7FDZt8AaiBQwpPDGPamaYwON0zfLRUBWLX3wRoCaNkLp7
 5+vg==
X-Gm-Message-State: AOJu0Yw82yj8Fn+W9Pc2JJZO3VXGBL72nvNxYShQsHtl7YfNMZHCy9Pw
 WPS043YvpnbLzIVVX292xHhMkdZ37N3yqpQU7DktrQR2UrAlnQkJwJGa+akUHLw=
X-Google-Smtp-Source: AGHT+IE2epFKq9MPkHi92tTZyuFGDEl77MZt2oZMw04Fl303/kkKPBOYSfdS8g7vppsuAU72F7/5aQ==
X-Received: by 2002:adf:ca90:0:b0:339:21c5:2b77 with SMTP id
 r16-20020adfca90000000b0033921c52b77mr2752480wrh.50.1706463431595; 
 Sun, 28 Jan 2024 09:37:11 -0800 (PST)
Received: from localhost ([141.226.15.142]) by smtp.gmail.com with ESMTPSA id
 co18-20020a0560000a1200b00337af95c1d2sm6092842wrb.14.2024.01.28.09.37.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Jan 2024 09:37:10 -0800 (PST)
Date: Sun, 28 Jan 2024 19:37:09 +0200
From: Efraim Flashner <efraim@flashner.co.il>
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@gnu.org>
Cc: guix-sysadmin <guix-sysadmin@gnu.org>, guix-devel@gnu.org
Subject: Re: Git-LFS or Git Annex?
Message-ID: <ZbaQxaNJvyPuhcZq@3900XT>
Mail-Followup-To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@gnu.org>,
 guix-sysadmin <guix-sysadmin@gnu.org>, guix-devel@gnu.org
References: <87mssuu57m.fsf@inria.fr>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature"; boundary="Tb0IU6HkvV5gTLkI"
Content-Disposition: inline
In-Reply-To: <87mssuu57m.fsf@inria.fr>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Received-SPF: pass client-ip=2a00:1450:4864:20::434;
 envelope-from=efraim.flashner@gmail.com; helo=mail-wr1-x434.google.com
X-Spam_score_int: -14
X-Spam_score: -1.5
X-Spam_bar: -
X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25,
 FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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-Scanner: mx10.migadu.com
X-Spam-Score: -6.26
X-Migadu-Queue-Id: 0BDA42741E
X-Migadu-Spam-Score: -6.26
X-TUID: FkwPxa8vGrgg


--Tb0IU6HkvV5gTLkI
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jan 24, 2024 at 04:22:05PM +0100, Ludovic Court=C3=A8s wrote:
> Hello!
>=20
> I=E2=80=99m looking for ways to incorporate videos into the repositories =
of our
> web sites so they=E2=80=99re content-addressed and properly tracked, and =
to make
> it easier to create backups (right now those videos are stored on our
> two main servers and rsynced between them=E2=81=B0; I=E2=80=99m talking a=
bout the videos
> at guix.gnu.org, 10years.guix.gnu.org, and hpc.guix.info).
>=20
> The question boils down to: Git-LFS or Git Annex?
>=20
> From a quick look (I haven=E2=80=99t used them), Git-LFS seems to assume 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 ha=
ve
> several =E2=80=9Cremotes=E2=80=9D, to check the status of each one, to sy=
nc them, etc.=C2=B2
> Because of this, Git Annex seems to be a better fit.
>=20
> Data point: guix.gnu.org source is hosted on Savannah, which doesn=E2=80=
=99t
> support Git-LFS; the two other web sites above are hosted on GitLab
> instances, which I think do support Git-LFS.
>=20
> What=E2=80=99s your experience?  What would you suggest?

I'll respond off the first email because I lost where I was thinking of
responding to.

One git annex repository that I sometimes visit is the
conference_proceedings=C2=B9 repository, which has many years worth of
conference videos.  With such a repo you wouldn't actually run `git
annex sync`, you'd `git pull` as desired, run `git annex get
path/to/the/video`, watch the video, and then `git annex drop
path/to/the/video`.  Last I checked there's even tie-in scripts for some
file managers like thunar.

I actually use git-annex with my family's photos and videos, with a full
master copy at my place and one at my parent's place, and a couple of
remotes on the internet.

$ git annex whereis Wedding.iso
whereis Wedding.iso (5 copies)
        00f742bc-02d6-4b05-853a-7703f87b29f9 -- efraim@debian:~/workspace/F=
lashner_Backup [ct-tor]
        47c3cd13-68d9-43f7-b8a7-e742dccce3be -- [scaleway]
        66babe8f-d716-4502-844f-06645eda3b23 -- efraim@raspberrypi:/media/E=
lements/efraim/Flashner_Backup
        c8898bb8-da93-4507-87c2-5496241b5dc6 -- efraim@3900XT:~/workspace/F=
lashner_Backup [here]
        d22b8903-9e94-47f3-8e8a-ef1468e478e3 -- cloud [amazon]
ok

The ISO is encrypted with my GPG key. For this repo I do just run `git
annex sync` because it's really only me interacting with it, and I don't
care about how awful the git history looks.

In our Guix video option, we could upload the actual videos to, say,
archive.org or to audiovideo.gnu.org (or whatever the site is) and then
add the video as a remote `git annex addurl https://path/to/the/video`
and it'll just be available in the repo.

=C2=B9 https://github.com/RichiH/conference_proceedings

--=20
Efraim Flashner   <efraim@flashner.co.il>   =D7=A8=D7=A0=D7=A9=D7=9C=D7=A4 =
=D7=9D=D7=99=D7=A8=D7=A4=D7=90
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--Tb0IU6HkvV5gTLkI
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmW2kMIACgkQQarn3Mo9
g1GTARAAi9ZRfCLZAl34vWRrxDVNmlSEW8RHCBHH2dVMifxu9R5TpMnvFhAouE+y
I7U/sbwI8GxvTq2581cXOWzasVLtx8MKtk5s3uMB9q531kNm8bybnHII63NybBzR
zNBwEdQ9bHG6ID613+v4lLGU0HdFBtPE7bx9tqN/Q3HDkMdsZQHDIisAXbr3e8e7
8GlHPaHznvlrNGiw+qUDgIIY+TaxqAjTcI+aZtRi7F8JdzHc3jUywu9QXmr7lLPS
vdNIFkv7dWLSORtNx/daE+uP/CNfuH0AUZurdMPdPlvIYhrASx2/LF+8+WNznhNM
RFC/z9F2kuv8ml8fedev7dSALpCMDE2Sh80cnt8t/xFQlnPMyzYp54xfJvM4YWfL
o/C61MmPxMhTdqS2irYd9YdAgMcoDGpHfPuwD/5PkxjV80rv8CxWDllWl+98lHI0
stLX7p0puDl1u+e5dc1xh4L7AXq/WJ/TPjygSocqK+eOKhpupZFe5IAr20TZMqYC
83gFaefNpZo2HY3iOuZoNWSyaJn3v1FsjcfzGX1kaaigNpDhUL6MMmeQbwP7aTzQ
gwrBDtzdbEygdfRwdkXX+xG4Qd9ojsVhCiDcDegSpfrgS9gaWKr4eta15XuJ8xm0
NhEs+RGGxDTEIZiWkDYSt4lTGLDgGc1RgMhZyuSggXfNpHlu8+A=
=sEZB
-----END PGP SIGNATURE-----

--Tb0IU6HkvV5gTLkI--