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.
Original author(s) | Joey Hess |
---|---|
Initial release | 19 October 2010 |
Stable release | 6.20160318
/ 18 March 2016 |
Repository | |
Written in | Haskell |
Operating system | Linux, FreeBSD, Android, OS X, Windows |
Size | 44.2 MB |
Type | File synchronization |
License | GPL3+, AGPL3+ [1] |
Website | git-annex |
History
git-annex development began in 2010.[2] In 2012/13 the development was funded through a kickstarter campaign.[3] 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.[4]
Design
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.
Availability
git-annex is available[5] many ways and notably part of the following distributions
See also
References
- ^ "license". git-annex.branchable.com. 18 January 2014. Retrieved 1 May 2015.
- ^ "git-annex roadmap".
- ^ "git-annex kickstarter campaign 2012".
- ^ "git-annex campaign".
- ^ "install options".
- ^ "Debian".
- ^ "Ubuntu".
- ^ "Fedora".
- ^ "FreeBSD".
- ^ "ArchLinux". git-annex.branchable.com. Retrieved 2015-12-06.