Skip to content

ukai/gitlstreefs

 
 

Repository files navigation

This project contains some experimental file system implemented using FUSE, that works with git and help building.

Building

Requires libboost-dev, libfuse, libgit2 and zlib as build time library dependencies. The build system depends on nodejs and ninja.

apt-get install zlib-dev libfuse-dev libgit2-dev nodejs ninja-build libboost-dev

$ ./configure.js $ ninja

git file system using libgit2

gitfs -- mounts a filesystem based on directory and hash, to mountpoint. uses libgit2

Takes the git reposiotory from the current working directory as of execution and mounts to the directory given as the first parameter.

$ ./out/gitfs mountpoint $ fusermount -u mountpoint

git file system using git ls-tree

gitlstree -- mounts a filesystem based on directory and hash, to mountpoint. uses git ls-tree as backend.

Takes the git reposiotory from the current working directory as of execution and mounts to the directory given as the first parameter.

$ ./out/gitlstree mountpoint $ fusermount -u mountpoint

ninja file system

ninjafs -- a filesystem that lists ninja build targets, and builds on demand.

$ rm out/hello_world # for demonstration. $ out/ninjafs mountpoint/ $ ls mountpoint/ $ file mountpoint/out_hello_world $ ./mountpoint/out_hello_world $ fusermount -u mountpoint

Copying

A BSD-style license.

About

a fuse filesystem using git ls-tree.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.6%
  • JavaScript 6.8%
  • Makefile 0.6%