| Original author(s) | Joey Hess |
|---|---|
| Initial release | 19 October 2010 |
| Stable release |
6.20160318 / 18 March 2016
|
| Development status | Active |
| Written in | Haskell |
| Operating system | Linux, FreeBSD, Android, OS X, Windows |
| Size | 44.2 MB |
| Type | File synchronization |
| License | GPL3+, AGPL3+ |
| Website | git-annex |
git-annex is a distributed file synchronization system written in Haskell. It aims to solve the problem of sharing and synchronizing collections of large files independent from a commercial service or even a central server.
git-annex development began in 2010. In 2012/13 the development was funded through a kickstarter campaign. The main development of this year was the git-annex assistant. This component runs in the background to automate the synchronization of repositories.
The next crowd funding campaign for 2013/14 was organized over a self hosted platform.
git-annex uses git to index files but does not store them in the git history. Instead a Symbolic link representing and linking to the probably large file is committed. git-annex manages a content-addressable storage for the files under its control. A separate git branch logs the location of every file. Thus users can clone a git-annex repository and then decide for every file whether to make it locally available.
git-annex is available many ways and notably part of the following distributions