On Wed, Jan 24, 2024 at 04:22:05PM +0100, Ludovic Courtès wrote: > Hello! > > I’m looking for ways to incorporate videos into the repositories of our > web sites so they’re 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⁰; I’m talking about the videos > at guix.gnu.org, 10years.guix.gnu.org, and hpc.guix.info). > > The question boils down to: Git-LFS or Git Annex? > > From a quick look (I haven’t used them), Git-LFS seems to assume a > rather centralized model where there’s an LFS server sitting next to the > Git server¹. Git Annex looks more decentralized, allowing you to have > several “remotes”, to check the status of each one, to sync them, etc.² > Because of this, Git Annex seems to be a better fit. > > Data point: guix.gnu.org source is hosted on Savannah, which doesn’t > support Git-LFS; the two other web sites above are hosted on GitLab > instances, which I think do support Git-LFS. > > What’s 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¹ 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/Flashner_Backup [ct-tor] 47c3cd13-68d9-43f7-b8a7-e742dccce3be -- [scaleway] 66babe8f-d716-4502-844f-06645eda3b23 -- efraim@raspberrypi:/media/Elements/efraim/Flashner_Backup c8898bb8-da93-4507-87c2-5496241b5dc6 -- efraim@3900XT:~/workspace/Flashner_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. ¹ https://github.com/RichiH/conference_proceedings -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted