Mounting git commits as folders with NFS (2023)
L'auteur a créé git-commit-folders pour monter chaque commit Git comme un dossier afin d'aider à visualiser que les commits ressemblent à des arborescences de fichiers. Le projet fonctionne sur macOS via FUSE et NFS (avec une implémentation WebDav incomplète), car FUSE sur Mac demande des extensions noyau problématiques. L'implémentation centralise la logique dans une interface fs.FS puis propose des adaptateurs pour convertir cette logique en billy.Filesystem et webdav.FileSystem, et les branches et tags sont exposés comme des liens symboliques vers des commits. L'auteur a rencontré plusieurs problèmes pratiques, notamment la gestion de listings de commits volumineux, des erreurs « Not a directory » lors du listing, des numéros d'inode mal attribués et des stale NFS file handles dus à un cache limité. Le système s'avère utile pour rechercher des fonctions supprimées et consulter rapidement des fichiers sur d'autres branches, mais reste expérimental avec des limites sur l'historique des branches, les sous-modules et le choix entre NFSv3 et NFSv4.