CI to automate build of cargo lockfiles on different Alpine releases for git-annex aports https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/git-annex
Find a file
Joey Hess 8025decc7f run Preparer to get Remover and CheckPresent actions
This will allow special remotes to eg, open a http connection and reuse it,
while checking if chunks are present, or removing chunks.

S3 and WebDAV both need this to support chunks with reasonable speed.

Note that a special remote might want to cache a http connection across
multiple requests. A simple case of this is that CheckPresent is typically
called before Store or Remove. A remote using this interface can certianly
use a Preparer that eg, uses a MVar to cache a http connection.

However, it's up to the remote to then deal with things like stale or
stalled http connections when eg, doing a series of downloads from a remote
and other places. There could be long delays between calls to a remote,
which could lead to eg, http connection stalls; the machine might even
move to a new network, etc.

It might be nice to improve this interface later to allow
the simple case without needing to handle the full complex case.
One way to do it would be to have a `Transaction SpecialRemote cache`,
where SpecialRemote contains methods for Storer, Retriever, Remover, and
CheckPresent, that all expect to be passed a `cache`.
2014-08-06 14:28:36 -04:00
Annex Merge branch 'newchunks' 2014-08-01 18:00:47 -04:00
Assistant S3: support chunking 2014-08-02 15:51:58 -04:00
Backend testremote: New command to test uploads/downloads to a remote. 2014-08-01 15:10:01 -04:00
Build move git-annex to git/cmd 2014-07-16 18:12:05 -04:00
CmdLine testremote: New command to test uploads/downloads to a remote. 2014-08-01 15:10:01 -04:00
Command fix "storeKey when already present" test for git-annex-shell transfers 2014-08-04 09:16:47 -04:00
Common Use lower case hash directories for storing files on crippled filesystems, same as is already done for bare repositories. 2013-04-04 15:46:33 -04:00
Config reorg 2014-01-21 18:08:56 -04:00
debian fix removal from local gcrypt repo that had files stored using rsync 2014-08-03 20:21:46 -04:00
doc pushed checkPresent exception handling out of Remote implementations 2014-08-06 13:45:19 -04:00
Git improve repair of bad branches 2014-07-21 18:42:58 -04:00
Limit fix transfers of key with no associated file 2014-01-23 16:44:02 -04:00
Logs deriving Show 2014-08-01 16:30:33 -04:00
Messages hlint 2013-04-03 03:52:41 -04:00
Remote run Preparer to get Remover and CheckPresent actions 2014-08-06 14:28:36 -04:00
RemoteDaemon export CreateProcess fields from Utility.Process 2014-06-10 19:20:14 -04:00
standalone provide utf-8 locale to avoid silly build failure 2014-07-14 21:18:24 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates better fix for modal 2014-07-14 17:45:21 -04:00
Types pushed checkPresent exception handling out of Remote implementations 2014-08-06 13:45:19 -04:00
Upgrade add chunk metadata to Key 2014-07-24 13:36:23 -04:00
Utility move ugly rsync zombie workaround 2014-08-03 16:53:29 -04:00
.ghci workaround for ghci fragility in reusing objects compiled with ghc 2012-10-20 16:20:42 -04:00
.gitattributes decruft 2011-06-22 18:56:08 -04:00
.gitignore gitignore Build/BuildVersion 2014-06-18 14:43:20 -04:00
.mailmap seed .mailmap file for more sensible git shortlog 2014-01-18 15:50:57 -04:00
Annex.hs fix for Windows file timestamp timezone madness 2014-06-12 13:42:21 -04:00
Assistant.hs missing lift 2014-07-16 16:14:51 -04:00
Backend.hs only chunk stable keys 2014-07-30 10:34:39 -04:00
build.bat windows build foo 2013-12-05 20:40:28 -04:00
BuildFlags.hs add desktop notifications 2014-03-22 14:12:19 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
Checks.hs reorg 2014-01-26 16:36:31 -04:00
CmdLine.hs only run sshCleanup when the command actually used ssh connection caching 2014-03-13 19:30:13 -04:00
Command.hs replace (Key, Backend) with Key 2014-04-17 18:03:39 -04:00
Common.hs add missing Network.URI Ord instance for Debian stable 2014-04-14 13:25:49 -04:00
Config.hs cleaned up AnnexState handling in transports 2014-04-08 13:42:57 -04:00
configure.hs Rewrote free disk space checking code 2012-03-22 17:32:47 -04:00
COPYRIGHT Add link COPYRIGHT -> debian/copyright; add COPYRIGHT to sdist. 2012-06-11 23:27:00 -07:00
Creds.hs webapp: Fix UI for removing XMPP connection. 2014-04-20 12:46:33 -04:00
Crypto.hs finish making rsync support chunking 2014-08-03 16:54:57 -04:00
ghci brought back fast ghci 2013-02-27 21:38:01 -04:00
git-annex.cabal testremote: New command to test uploads/downloads to a remote. 2014-08-01 15:10:01 -04:00
git-annex.hs unset TZ on Windows 2014-06-12 14:21:53 -04:00
git-union-merge.hs factor out nukeFile 2012-06-06 13:13:13 -04:00
Git.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
Limit.hs replace (Key, Backend) with Key 2014-04-17 18:03:39 -04:00
Locations.hs use same hash directories for chunked key as are used for its parent 2014-07-25 16:09:23 -04:00
Logs.hs implement chunk logs 2014-07-24 16:23:36 -04:00
Makefile better way to generate tags 2014-07-01 15:11:47 -04:00
Messages.hs refactor 2014-01-26 15:53:01 -04:00
NEWS update NEWS 2012-01-19 15:27:39 -04:00
README add README 2011-05-13 19:20:54 -04:00
Remote.hs pushed checkPresent exception handling out of Remote implementations 2014-08-06 13:45:19 -04:00
Setup.hs make configure -Wall clean 2014-03-10 16:59:38 -04:00
Test.hs update for change in bup remote removal 2014-08-06 13:45:05 -04:00
Types.hs moved AssociatedFile definition 2013-07-04 02:36:02 -04:00
Upgrade.hs Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done. 2013-12-29 13:06:23 -04:00

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 <http://git-annex.branchable.com/>