git-annex: manage files with git, without checking their contents into git

[ agpl, program, utility ] [ Propose Tags ] [ Report a vulnerability ]

git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space.

It can store large files in many places, from local hard drives, to a large number of cloud storage services, including S3, WebDAV, and rsync, with a dozen cloud storage providers usable via plugins. Files can be stored encrypted with gpg, so that the cloud storage provider cannot see your data. git-annex keeps track of where each file is stored, so it knows how many copies are available, and has many facilities to ensure your data is preserved.

git-annex can also be used to keep a folder in sync between computers, noticing when files are changed, and automatically committing them to git and transferring them to other computers. The git-annex webapp makes it easy to set up and use git-annex this way.


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
s3

Enable S3 support

Enabled
webdav

Enable WebDAV support

Enabled
assistant

Enable git-annex assistant and watch command

Enabled
webapp

Enable git-annex webapp

Enabled
pairing

Enable pairing

Enabled
production

Enable production build (slower build; faster binary)

Enabled
android

Cross building for Android

Disabled
androidsplice

Building to get TH splices for Android

Disabled
testsuite

Embed the test suite into git-annex

Enabled
torrentparser

Use haskell torrent library to parse torrent files

Enabled
magicmime

Use libmagic to determine file MIME types

Enabled
concurrentoutput

Use concurrent-output library

Enabled
benchmark

Enable benchmarking

Disabled
network-uri

Get Network.URI from the network-uri package

Enabled
cryptonite

Use the cryptonite library, instead of the older cryptohash

Enabled
dbus

Enable dbus support

Enabled
xmpp

Enable notifications using XMPP

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 3.20110702, 3.20110702.2, 3.20110705, 3.20110707, 3.20110819, 3.20110902, 3.20110906, 3.20110915, 3.20110928, 3.20111011, 3.20111122, 3.20111203, 3.20111211, 3.20111231, 3.20120113, 3.20120115, 3.20120116, 3.20120123, 3.20120227, 3.20120229, 3.20120230, 3.20120309, 3.20120315, 3.20120405, 3.20120406, 3.20120418, 3.20120430, 3.20120511, 3.20120522, 3.20120605, 3.20120611, 3.20120614, 3.20120615, 3.20120624, 3.20120629, 3.20120721, 3.20120807, 3.20120825, 3.20120924, 3.20121001, 3.20121009, 3.20121010, 3.20121016, 3.20121017, 3.20121112, 3.20121126, 3.20121127, 3.20121127.1, 3.20121211, 3.20130102, 3.20130105, 3.20130107, 3.20130114, 3.20130124, 3.20130207, 3.20130216.1, 4.20130227, 4.20130314, 4.20130323, 4.20130405, 4.20130417, 4.20130501, 4.20130501.1, 4.20130516, 4.20130521, 4.20130521.1, 4.20130521.2, 4.20130601, 4.20130627, 4.20130709, 4.20130723, 4.20130802, 4.20130815, 4.20130827, 4.20130909, 4.20130920, 4.20130927, 4.20131002, 4.20131024, 4.20131101, 4.20131106, 5.20131118, 5.20131120, 5.20131127, 5.20131130, 5.20131213, 5.20131221, 5.20131230, 5.20140107, 5.20140108, 5.20140116, 5.20140127, 5.20140129, 5.20140210, 5.20140221, 5.20140227, 5.20140306, 5.20140320, 5.20140402, 5.20140405, 5.20140412, 5.20140421, 5.20140517, 5.20140529, 5.20140606, 5.20140613, 5.20140707, 5.20140709, 5.20140717, 5.20140817, 5.20140831, 5.20140915, 5.20140919, 5.20140926, 5.20140927, 5.20141013, 5.20141024, 5.20141125, 5.20141203, 5.20141219, 5.20141231, 5.20150113, 5.20150205, 5.20150219, 5.20150317, 5.20150327, 5.20150406, 5.20150406.1, 5.20150409, 5.20150420, 5.20150508, 5.20150508.1, 5.20150522, 5.20150528, 5.20150617, 5.20150710, 5.20150727, 5.20150731, 5.20150812, 5.20150824, 5.20150916, 5.20150930, 5.20151019, 5.20151102, 5.20151102.1, 5.20151116, 5.20151208, 5.20151218, 6.20160114, 6.20160126, 6.20160211, 6.20160229, 6.20160318, 6.20160412, 6.20160418, 6.20160419, 6.20160511, 6.20160527, 6.20160613, 6.20160619, 6.20160808, 6.20160907, 6.20160923, 6.20161012, 6.20161027, 6.20161031, 6.20161111, 6.20161118, 6.20161210, 6.20170101, 6.20170214, 6.20170301, 6.20170301.1, 6.20170321, 6.20170510, 6.20170519, 6.20170520, 6.20170818, 6.20170925, 6.20171003, 6.20171018, 6.20171026, 6.20171109, 6.20171124, 6.20171214, 6.20180112, 6.20180227, 6.20180316, 6.20180409, 6.20180427, 6.20180509, 6.20180529, 6.20180626, 6.20180719, 6.20180807, 6.20180913, 6.20180926, 6.20181011, 7.20181031, 7.20181105, 7.20181121, 7.20181205, 7.20181211, 7.20190122, 7.20190129, 7.20190219, 7.20190322, 7.20190503, 7.20190507, 7.20190615, 7.20190626, 7.20190708, 7.20190730, 7.20190819, 7.20190912, 7.20191009, 7.20191017, 7.20191024, 7.20191106, 7.20191114, 7.20191218, 7.20191230, 7.20200202.7, 7.20200204, 7.20200219, 7.20200226, 7.20200309, 8.20200226, 8.20200309, 8.20200330, 8.20200501, 8.20200522, 8.20200617, 8.20200720, 8.20200720.1, 8.20200810, 8.20200908, 8.20201007, 8.20201103, 8.20201116, 8.20201127, 8.20201129, 8.20210127, 8.20210223, 8.20210310, 8.20210330, 8.20210428, 8.20210621, 8.20210630, 8.20210714, 8.20210803, 8.20210903, 8.20211011, 8.20211028, 8.20211117, 8.20211123, 8.20211231, 10.20220127, 10.20220222, 10.20220322, 10.20220504, 10.20220525, 10.20220623, 10.20220624, 10.20220724, 10.20220822, 10.20220927, 10.20221003, 10.20221103, 10.20221212, 10.20230126, 10.20230214, 10.20230227, 10.20230321, 10.20230329, 10.20230407, 10.20230626, 10.20230802, 10.20230828, 10.20230926, 10.20231129, 10.20231227, 10.20240129, 10.20240227, 10.20240430, 10.20240531, 10.20240701, 10.20240731, 10.20240808, 10.20240831, 10.20240927, 10.20241031
Change log CHANGELOG
Dependencies aeson, async, aws (>=0.9.2), base (>=4.5 && <5.0), blaze-builder, bloomfilter, byteable, bytestring, case-insensitive, clientsession, concurrent-output (>=1.6), conduit, conduit-extra, containers (>=0.5.0.0), criterion, crypto-api, cryptohash (>=0.11.0), cryptonite, data-default, data-endian, DAV (>=1.0), dbus (>=0.10.7), deepseq, directory, disk-free-space, dlist, dns, edit-distance, esqueleto, exceptions (>=0.6), fdo-notify (>=0.3), feed, filepath, gnutls (>=0.1.4), hfsevents, hinotify, hslogger, http-client, http-conduit (<2.2.0), http-types, IfElse, magic, MissingH, monad-control, monad-logger, mountpoints, mtl (>=2), network (>=2.4), network-info, network-multicast, network-protocol-xmpp, network-uri (>=2.6), old-locale, optparse-applicative (>=0.11.0), path-pieces (>=0.1.4), persistent (<2.5), persistent-sqlite, persistent-template, process, QuickCheck (>=2.1), random, regex-tdfa, resourcet, SafeSemaphore, sandi, securemem, setenv, shakespeare (>=2.0.0), stm (>=2.3), tasty (>=0.7), tasty-hunit, tasty-quickcheck, tasty-rerun, template-haskell, text, time, torrent (>=10000.0.0), transformers, unix, unix-compat, unordered-containers, utf8-string, uuid (>=1.2.6), wai, wai-extra, warp (>=3.0.0.5), warp-tls (>=1.4), Win32, Win32-extras, Win32-notify, xml-types, yesod (>=1.2.6), yesod-core (>=1.2.19), yesod-default (>=1.2.0), yesod-form (>=1.3.15), yesod-static (>=1.2.4) [details]
License GPL-3.0-only
Copyright 2010-2016 Joey Hess
Author Joey Hess
Maintainer Joey Hess <id@joeyh.name>
Category Utility
Home page http://git-annex.branchable.com/
Source repo head: git clone git://git-annex.branchable.com/
Uploaded by JoeyHess at 2016-10-27T19:46:12Z
Distributions Arch:10.20240927, Debian:8.20211123, Fedora:10.20230626, FreeBSD:5.20150727, NixOS:10.20240927, openSUSE:10.20240927
Reverse Dependencies 1 direct, 0 indirect [details]
Executables git-annex
Downloads 263602 total (982 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-11-18 [all 7 reports]

Readme for git-annex-6.20161027

[back to package description]
git-annex allows managing files with git, without checking the file
contents into git. While that may seem paradoxical, it is useful when
dealing with files larger than git can currently easily handle, whether due
to limitations in memory, checksumming time, or disk space.

For documentation, see doc/ or <https://git-annex.branchable.com/>