Githole is a project mainly written in ..., it's free.
A quick-and-dirty folder auto-synchronization system using Git
A quick-and-dirty folder auto-synchronization system using Git.
I wrote this to be an extremely rough, bare-bones alternative to Dropbox for my own specific needs. Githole allows you to automatically synchronize files and folders across one or more machines. What it lacks in features it gains in total user control of the repository. It can be as large and/or tightly-secured as you want!
The idea is you have one master githole repository on a server, and many cloned slave repositories. Automatic synchronization is facilitated by the githole sync script. This results in a directory that remains synchronized across all slave repositories.
What githole is:
What githole is not:
Githole requires the setup of two components: The master githole repository and one or more githole slaves.
The master repository is just a naked Git repository. Find a computer with sufficient space to stick your githole, and initialize a naked repo:
mkdir mygithole.git
cd mygithole.git
git init --bare
Githole slaves are just a clone of the master githole repository (see git help clone
for valid Git URLs):
git clone ssh://[email protected]/path/to/mygithole.git
To start auto-synchronizing your githole, just download and run the githole
script specifying the githole slave repository and the synchronization duration:
./githole /path/to/your/slave/mygithole 300 # Auto sync "mygithole" every 5 minutes