Git-mount is a project mainly written in Ruby, it's free.
Fuse filesystem for Git
This is a really simple script that connects Ruby's Grit and FuseFS libraries together. You can do git mount /tmp/blah
in your git repository, and then in /tmp/blah
you will have a (read-only) filesystem where view the different branches and tags of your repository simultaneously.
It is horrendously slow for even moderately sizes repositories though... I suspect the bottleneck is Grit, but on a moral level the idea of ls
having to interpret Ruby code offends me. I fully intend to rewrite this in C, but in case that never happens, here's what I have so far.
By the way, you can unmount the filesystem with fusermount -u /tmp/blah
.