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 cad147cbbf
new protocol for transferkeys, with message serialization
Necessarily threw out the old protocol, so if an old git-annex assistant
is running, and starts a transferkeys from the new git-annex, it would
fail. But, that seems unlikely; the assistant starts up transferkeys
processes and then keeps them running. Still, may need to test that
scenario.

The new protocol is simple read/show and looks like this:

TransferRequest Download (Right "origin") (Key {keyName = "f8f8766a836fb6120abf4d5328ce8761404e437529e997aaa0363bdd4fecd7bb", keyVariety = SHA2Key (HashSize 256) (HasExt True), keySize = Just 30, keyMtime = Nothing, keyChunkSize = Nothing, keyChunkNum = Nothing}) (AssociatedFile (Just "foo"))
TransferOutput (ProgressMeter (Just 30) (MeterState {meterBytesProcessed = BytesProcessed 0, meterTimeStamp = 1.6070268727892535e9}) (MeterState {meterBytesProcessed = BytesProcessed 30, meterTimeStamp = 1.6070268728043e9}))
TransferOutput (OutputMessage "(checksum...) ")
TransferResult True

Granted, this is not optimally fast, but it seems good enough, and is
probably nearly as fast as the old protocol anyhow.

emitSerializedOutput for ProgressMeter is not yet implemented. It needs
to somehow start or update a progress meter. There may need to be a new
message that allocates a progress meter, and then have ProgressMeter
update it.

This commit was sponsored by Ethan Aubin
2020-12-03 16:21:20 -04:00
Annex remove uses of warningIO 2020-12-02 14:57:43 -04:00
Assistant new protocol for transferkeys, with message serialization 2020-12-03 16:21:20 -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 finished this stage of the RawFilePath conversion 2020-11-04 14:20:37 -04:00
Command new protocol for transferkeys, with message serialization 2020-12-03 16:21:20 -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 new protocol for transferkeys, with message serialization 2020-12-03 16:21:20 -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 new protocol for transferkeys, with message serialization 2020-12-03 16:21:20 -04:00
P2P improve p2p protocol handling of requested object not available 2020-12-01 16:05:55 -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 new protocol for transferkeys, with message serialization 2020-12-03 16:21:20 -04:00
Upgrade finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Utility start on serializing Messages 2020-12-03 13:03:03 -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 annex.adjustedbranchrefresh 2020-11-16 14:27:28 -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 improve p2p protocol handling of requested object not available 2020-12-01 16:05:55 -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 releasing package git-annex version 8.20201127 2020-11-27 12:57:02 -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 new protocol for transferkeys, with message serialization 2020-12-03 16:21:20 -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 Improve the "Try making some of these repositories available" message 2020-09-22 14:10:30 -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/>