No description
  • Python 98.5%
  • Shell 0.8%
  • Makefile 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Vlad Temian 12886ec5b9
Merge pull request #372 from balazser/fix-envhome-key-error
fix home envvar not defined during fstab mount
2021-08-09 10:42:47 +03:00
docs Update arguments.md 2020-07-10 09:31:09 +03:00
gitfs fix home envvar not defined during fstab mount 2021-08-08 11:14:09 -04:00
script Add the presslabs gitfs ppa 2019-10-17 15:48:25 +03:00
tests Fix tests for python 2.7 2019-10-16 16:35:45 +03:00
.coveragerc Tolerate 90% coverage 2018-01-05 16:31:14 +02:00
.coveralls.yml added .coveralls 2014-10-23 17:56:01 +03:00
.drone.yml Black works only on python 3.6+ 2019-10-17 12:40:04 +03:00
.gitignore Ignore tests logging. 2016-02-18 17:40:37 +02:00
AUTHORS Improved the commit message. Tests yet to check. 2016-08-10 20:12:48 +05:30
CHANGELOG.txt Bump version 0.4.5.1 2016-12-08 11:10:59 +02:00
CONTRIBUTING.md fix development mount command 2014-10-13 18:56:39 +03:00
Dockerfile.test Added presslabs ppa for the latest libgit2 version 2019-10-17 12:22:56 +03:00
LICENSE Released under Apache 2.0 License 2014-10-08 14:31:47 +03:00
Makefile Verify lint before running the tests 2019-10-17 12:38:18 +03:00
MANIFEST.in Added MANIFEST file 2014-12-12 17:53:05 +02:00
mkdocs.yml Initial try to build gh-pages 2017-12-21 13:30:02 +02:00
README.md Fix README link to arguments page 2020-05-12 16:06:28 -05:00
requirements.txt Bump pycparser from 2.19 to 2.20 2020-07-02 10:48:50 +00:00
setup.cfg Improve defaults on setup 2014-10-29 12:40:49 +02:00
setup.py Test with python 2.7 3.4 3.5 3.6 3.7 3.8 2019-10-16 17:04:25 +03:00
test_requirements.txt Cache dependencies in docker images 2019-10-11 15:20:54 +03:00
Vagrantfile Update the Vagrant provisioning scripts 2019-10-08 22:21:27 +03:00

gitfs Build Status Coverage Status PyPI

Welcome to GitFS

gitfs is a FUSE file system that fully integrates with git. You can mount a remote repository's branch locally, and any subsequent changes made to the files will be automatically committed to the remote.

gitfs was developed by the awesome engineering team at Presslabs, a Managed WordPress Hosting provider.

What's its purpose?

gitfs was designed to bring the full powers of git to everyone, no matter how little they know about versioning. A user can mount any repository and all their changes will be automatically converted into commits. gitfs will also expose the history of the branch you're currently working on by simulating snapshots of every commit.

gitfs is useful in places where you want to keep track of all your files, but at the same time you don't have the possibility of organizing everything into commits yourself. A FUSE filesystem for git repositories, with local cache.

Installing

We provide packages for the major Ubuntu releases and MacOS, but you can find community packages for most of popular Linux distributions. If you want to build packages for a distribution, or you already did, please contact us and we'll list it here.

Ubuntu 18.04+

sudo add-apt-repository ppa:presslabs/gitfs
sudo apt-get update
sudo apt-get install gitfs

MacOS

brew install gitfs

Pip

We also publish a package to PyPI, which can be installed via pip using the following commmand:

pip install gitfs

Usage

You can mount a remote or local repository easly, just by providing the repository to clone and a directory used to mount.

gitfs http://your.com/repository.git /mount/directory

The entire filesystem can be tweaked when mounting it, using a set of options.

gitfs git@github.com:user/repo.git /mypath -o
repo_path=/tmp/path,branch=dev,log=-,debug=true,foreground=true,fetch_timeout=0.1,merge_timeout=0.1...

For an entire list of options, you can check the arguments page.

Features

  • Automatically commits changes: create, delete, update files and their metadata
  • Browse through working index and commit history
  • Merges with upstream by automatically accepting local changes
  • Caching commits reduces the memory footprint and speeds up navigation
  • Reduces the number of pushes by batching commits

Development

You can find more documentation on gitfs homepage.

Contributing

Development of gitfs happens at http://github.com/presslabs/gitfs.

Issues are tracked at http://github.com/presslabs/gitfs/issues.

The Python package can be found at https://pypi.python.org/pypi/gitfs/.

You are highly encouraged to contribute with code, tests, documentation or just sharing experience.

Please see CONTRIBUTING.md.

License

This project is licensed under Apache 2.0 license. Read the LICENSE file in the top distribution directory for the full license text.