guse 0.3.0

Under development. A git-based virtual filesystem mounted with fuse. It allows mounting of multiple repositories independently. Either fetched repositories from github, or empty storing and versioning local files.
Documentation
# GUSE (goo͞s) is a git based filesystem, written in rust and mouted with FUSE.

## Under development. See Usage for current functionality

## Dependencies

This project uses [libgit2](https://libgit2.org/) (via the `git2` crate) and
[SQLite](https://sqlite.org/) (via the `rusqlite` crate).

## OS
This project has support for linux/macOS. On windows, consider using WSL2.

## How to install and use
- [Usage]readme/usage.md

## INFO
GUSE is a learning project. It is built to allow user to interact with git directly from the filesystem, using commands such as cd, ls, mkdir, touch, cat etc

Inspired by [rencfs](https://github.com/xoriors/rencfs)

GUSE allows mounting of multiple 'repositories' and manage them independently
### The disk structure, as observed by the user is:
``` text
data_dir (Root folder. Can be renamed)
    ├── repository_1/
            ├── live                    # working files and folders
                    ├── user_file1.md
                    └── user_file2.md
            ├── YYYY-MM/                # a list of months where commits were made
                    ├── Snap_001_HASH/   #  list of commits for the respective month
                        ├── user_file1.md   # previous versions of the live files. Read only versions
                        └── user_file2.md
                    └── Snap_002_HASH/
            ├── YYYY-MM/               
                    ├── Snap_001_HASH/
                        ├── user_file1.md
                        └── user_file2.md
                    └── Snap_002_HASH/
            ├── YYYY-MM/                
                    ├── Snaps_on_HASH/
                        ├── user_file1.md
                        └── user_file2.md
                    └── Snaps_on_HASH/
            ...
    ├── repository_2/
            ├── live
            ├── YYYY-MM/
            ├── YYYY-MM/
            ├── YYYY-MM/
            ...
    ├── repository_3/
            ├── live
            ├── YYYY-MM/
            ├── YYYY-MM/
            ├── YYYY-MM/
            ...
```