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 04c12aa6df
custom protocol for transferrer
Rather than using Read/Show, which would force me to preserve data types
into the future.

I considered just deriving json and sending that, but I don't much like
deriving json with data types that have named constructors (like Key
does) because again it locks in data type details.

So instead, used SimpleProtocol, with a fairly complex and unreadable
protocol. But it is as efficient as the p2p protocol at least, and as
future proof.

(Writing my own custom json instances would have worked but I thought
of it too late and don't want to do all the work twice. The only real
benefit might be that aeson could be faster.)

Note that, when a new protocol request type is added later, git-annex
trying to use it will cause the git-annex transferrer to display a
protocol error message. That seems ok; it would only happen if a new
git-annex found an old version of itself in PATH or the program
file. So it's unlikely, and all it can do anyway is display an error.
(The error message could perhaps be improved..)

This commit was sponsored by Jack Hill on Patreon.
2020-12-09 16:13:59 -04:00
Annex custom protocol for transferrer 2020-12-09 16:13:59 -04:00
Assistant custom protocol for transferrer 2020-12-09 16:13:59 -04:00
Backend convert getFileSize to RawFilePath 2020-11-05 11:32:57 -04:00
Build fix build 2020-11-27 13:02:43 -04:00
CmdLine rename helper 2020-12-09 13:24:24 -04:00
Command custom protocol for transferrer 2020-12-09 16:13:59 -04:00
Config more RawFilePath conversion 2020-10-29 12:03:50 -04:00
Database enable extensions needed by new version of persistent 2020-11-07 14:09:17 -04:00
debian Enable building with git-annex benchmark by default 2020-10-02 13:57:10 -04:00
doc rename helper 2020-12-09 13:24:24 -04:00
Git finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Limit split ProvidedInfo and UserProvidedInfo 2020-09-28 12:12:38 -04:00
Logs Fix build on Windows 2020-11-19 12:33:00 -04:00
Messages stall detection is working 2020-12-08 15:22:18 -04:00
P2P avoid P2P.Protocol defining instance Proto.Serializable AssociatedFile 2020-12-09 13:46:42 -04:00
Remote remove uses of warningIO 2020-12-02 14:57:43 -04:00
RemoteDaemon add back git-annex branch read cache 2020-07-06 12:22:33 -04:00
standalone bump filepath-bytestring dep 2020-11-11 11:49:19 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Test improve display of test failures 2020-11-24 17:17:09 -04:00
Types custom protocol for transferrer 2020-12-09 16:13:59 -04:00
Upgrade finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Utility export encode_c' 2020-12-09 15:28:45 -04:00
.ghci avoid ghci warning on tabs 2019-01-21 12:35:44 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore stack.yaml: Updated to lts-16.10 2020-08-24 14:11:37 -04:00
.mailmap alias for Yaroslav @ yahoo to mailmap 2015-09-09 12:38:59 -04:00
Annex.hs move TransferrerPool from Assistant state to Annex state 2020-12-07 13:21:35 -04:00
Assistant.hs Fix build on Windows 2020-11-19 12:33:00 -04:00
Backend.hs more RawFilePath conversion 2020-10-29 14:20:57 -04:00
bash-completion.bash bash completion fix 2018-11-12 13:23:05 -04:00
Benchmark.hs remove reapZombies 2020-09-25 11:50:38 -04:00
BuildFlags.hs Removed the S3 and WebDAV build flags 2020-09-08 12:42:59 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG stall detection is working 2020-12-08 15:22:18 -04:00
CmdLine.hs audit all uses of SomeException to avoid catching async exceptions 2020-06-05 15:16:57 -04:00
Command.hs more RawFilePath conversion 2020-10-30 15:55:59 -04:00
Common.hs finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Config.hs more RawFilePath conversion 2020-10-29 10:50:29 -04:00
COPYRIGHT add a few missing copyrights 2020-10-13 12:21:38 -04:00
Creds.hs finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Crypto.hs fix strictness issue 2020-06-16 17:09:34 -04:00
git-annex.cabal factor out Types.Transferrer 2020-12-09 13:28:49 -04:00
git-annex.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs more RawFilePath conversion 2020-10-29 12:03:50 -04:00
Key.hs add newtypes for QuickCheck to avoid LANG=C issues 2020-11-09 20:21:18 -04:00
Limit.hs convert getFileSize to RawFilePath 2020-11-05 11:32:57 -04:00
Logs.hs cache one more log file for metadata 2020-07-07 14:18:55 -04:00
Makefile enable profiling in dev build 2020-10-13 15:36:01 -04:00
Messages.hs support prompt in message serialization 2020-12-04 14:54:09 -04:00
NEWS fix dist in latest NEWS entry 2020-09-14 12:05:12 -04:00
README use https 2014-11-06 14:20:10 -04:00
Remote.hs refactoring 2020-12-07 14:49:17 -04:00
Setup.hs Added git-remote-tor-annex, which allows git pull and push to the tor hidden service. 2016-11-21 17:27:38 -04:00
stack.yaml update to lts-16.16 2020-10-02 16:39:10 -04:00
Test.hs improve display of test failures 2020-11-24 17:17:09 -04:00
Types.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Upgrade.hs more RawFilePath conversion 2020-10-30 13:31:35 -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 <https://git-annex.branchable.com/>