A project called git-commit-folders allows users to mount git commits as folders using either FUSE or NFS. Each commit is treated as a folder, providing a way to explore old commits by browsing the filesystem. The project aims to give users a better understanding of how git works under the hood. Some of the problems encountered during the implementation include issues with webdav, maintaining consistency across different implementations, handling large numbers of commits, and dealing with stale file handles in NFS.

8m read timeFrom jvns.ca
Post cover image
Table of contents
goal: show how commits are like foldersbranches are symlinkswhy might this be useful?problem 1: webdav or NFS?problem 2: how to keep all the implementations in sync?problem 3: I didn’t want to list every commitproblem 4: “not a directory”problem 5: inode numbersproblem 6: stale file handlesproblem 7: branch historiesproblem 8: submodulesthat’s all!

Sort: