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
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
torrentparser

Use haskell torrent library to parse torrent files

Enabled
magicmime

Use libmagic to determine file MIME types

Enabled
benchmark

Enable benchmarking

Enabled
debuglocks

Debug location of MVar/STM deadlocks

Disabled
dbus

Enable dbus support

Enabled
networkbsd

Build with network-3.0 which split out network-bsd

Enabled
gitlfs

Build with git-lfs library (rather than vendored copy)

Enabled
httpclientrestricted

Build with http-client-restricted library (rather than vendored copy)

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, 10.20241202
Change log CHANGELOG
Dependencies aeson, async, attoparsec, aws (>=0.20), base (>=4.11.1.0 && <5.0), blaze-builder, bloomfilter (>=2.0.0), byteable, bytestring, case-insensitive, clientsession, concurrent-output (>=1.10), conduit, connection (>=0.2.6), containers (>=0.5.8), criterion, crypto-api, cryptonite (>=0.23), data-default, DAV (>=1.0), dbus (>=0.10.7), deepseq, directory (>=1.2), disk-free-space, dlist, edit-distance, exceptions (>=0.6), fdo-notify (>=0.3), feed (>=1.0.0), filepath, filepath-bytestring (>=1.4.2.1.1), free, git-lfs (>=1.1.0), hfsevents, hinotify (>=0.3.10), hslogger, http-client (>=0.5.3), http-client-restricted (>=0.0.2), http-client-tls, http-conduit (>=2.3.0), http-types (>=0.7), IfElse, magic, memory, microlens, monad-control, monad-logger, mountpoints, mtl (>=2), network (>=2.6.3.0), network-bsd, network-info, network-multicast, network-uri (>=2.6), old-locale, optparse-applicative (>=0.14.1), path-pieces (>=0.2.1), persistent (>=2.8.1), persistent-sqlite (>=2.8.1), persistent-template, process (>=1.6.3), QuickCheck (>=2.10.0), random, regex-tdfa, resourcet, SafeSemaphore, sandi, securemem, setenv, shakespeare (>=2.0.11), silently (>=1.2.5.1), socks, split, stm (>=2.3), stm-chans, tagsoup, tasty (>=0.7), tasty-hunit, tasty-quickcheck, tasty-rerun, template-haskell, text, time (>=1.5.0), torrent (>=10000.0.0), transformers, unix (>=2.7.2), unix-compat (>=0.5), unliftio-core, unordered-containers, utf8-string, uuid (>=1.2.6), vector, wai, wai-extra, warp (>=3.2.8), warp-tls (>=3.2.2), Win32 (>=2.6.1.0), Win32-notify, yesod (>=1.4.3), yesod-core (>=1.6.0), yesod-form (>=1.4.8), yesod-static (>=1.5.1) [details]
License AGPL-3.0-only
Copyright 2010-2021 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 2021-03-10T18:00:30Z
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 264300 total (727 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 2021-05-29 [all 2 reports]

Readme for git-annex-8.20210310

[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/>