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 ccbc5189b5
Fix hang when receiving a large file into a proxied special remote
Only indicate that we're done with the bytestring once it all gets written.
Otherwise, the end of it may get garbage collected before we can process
it, leading to a hang.

This seems to have been introduced in commit
cdc4bd7443. Which oddly was trying to fix a
very similar problem, but specific to a cluster node. In that commit,
things got out of order, with it signaling it was done with the bytestring
before it has written all of it to the file.

My test case for this bug is a directory special remote
with a file being sent to it via a proxy accessed via ssh or http.
The file was 10 mb, and it hung on the last few kb of it not being
received.

I've also tested this fix in the case of proxying to a cluster node
directory special remote over http, which was the case
cdc4bd7443 was dealing with.
2024-10-30 12:29:37 -04:00
Annex Fix hang when receiving a large file into a proxied special remote 2024-10-30 12:29:37 -04:00
Assistant use NonEmpty for dirHashes 2024-09-26 18:15:00 -04:00
Backend remove read of the heads 2024-09-26 18:43:59 -04:00
Build Merge branch 'master' into git-remote-annex 2024-05-10 14:20:36 -04:00
CmdLine started Annex.Sim 2024-09-04 15:15:36 -04:00
Command adjust: Allow any order of options when combining --hide-missing with options like --unlock. 2024-10-21 16:03:39 -04:00
Config use status --ignore-submodules in configureSmudgeFilter 2022-12-20 16:02:42 -04:00
Database sim: Fix size tracking for balanced preferred content 2024-09-23 12:42:32 -04:00
debian Refresh standlone patch to avoid fuzz and offsets 2024-08-06 16:39:48 -04:00
doc Merge branch 'master' into p2pv4 2024-10-30 08:13:49 -04:00
Git fix build with old base 2024-09-30 11:02:08 -04:00
Limit treat "not present" in preferred content as invalid 2024-09-03 13:50:06 -04:00
Logs invalidate caches after log changes 2024-09-20 16:52:17 -04:00
Messages RawFilePath conversion 2024-01-19 14:26:21 -04:00
P2P support DATA-PRESENT in the p2p protocol proxy 2024-10-29 14:44:23 -04:00
Remote implement put data-present parameter in http servant 2024-10-29 13:32:43 -04:00
RemoteDaemon support a P2PConnection that uses TMVars rather than Handles 2024-06-28 11:22:29 -04:00
standalone disable servant build flag for i386ancient 2024-07-30 10:01:56 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates assistant: When generating a gpg secret key, avoid hardcoding the key algorithm and size 2024-01-09 15:31:53 -04:00
Test remove support for directory < 1.2.7 2024-02-06 10:53:13 -04:00
Types Merge branch 'master' into streamproxy 2024-10-22 09:49:28 -04:00
Upgrade remove read of the heads 2024-09-26 18:43:59 -04:00
Utility fix build on windows 2024-10-18 10:17:07 -04:00
.appveyor.yml update stack.yaml to nightly-2024-07-29 and remove stack-lts-18.13.yaml 2024-07-29 20:09:37 -04:00
.codespellrc A few more of typo fixes/skip as detected with bleeding edge codespell 2024-05-01 20:06:08 -04:00
.ghci turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore ignore git-remote-annex 2024-05-06 13:13:39 -04:00
.mailmap ENH: add one more mailmap for yarikoptic 2024-06-03 13:00:45 -04:00
Annex.hs closing in on finishing live reposizes 2024-08-27 12:54:46 -04:00
Assistant.hs webapp: Added --port option, and annex.port config 2024-01-25 14:08:36 -04:00
Author.hs improve attribution armoring 2023-11-21 11:34:21 -04:00
Backend.hs implement URL to VURL migration 2024-03-01 16:42:02 -04:00
bash-completion.bash bash completion fix 2018-11-12 13:23:05 -04:00
Benchmark.hs --size-limit exit 101 2021-06-04 16:43:47 -04:00
BuildFlags.hs update servant build flag 2024-07-23 08:53:56 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG Fix hang when receiving a large file into a proxied special remote 2024-10-30 12:29:37 -04:00
CmdLine.hs remove read of the heads 2024-09-26 18:43:59 -04:00
Command.hs plumb in LiveUpdate (WIP) 2024-08-23 16:35:12 -04:00
Common.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Config.hs proxying to exporttree=yes annexobjects=yes basically working 2024-08-06 14:21:23 -04:00
COPYRIGHT Added dependency on unbounded-delays 2024-02-27 13:11:59 -04:00
Creds.hs simplify base64 to only use ByteString 2023-10-26 13:10:05 -04:00
Crypto.hs use hmac in balanced preferred content 2024-08-10 16:32:54 -04:00
git-annex.cabal Allow enabling the servant build flag with older versions of stm 2024-10-17 20:55:31 -04:00
git-annex.hs add git-remote-annex stub and build machinery 2024-05-06 13:05:58 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs run codespell throughout fixing typos automagically 2024-05-01 15:46:21 -04:00
Key.hs convert Key to ShortByteString 2021-10-05 20:20:08 -04:00
Limit.hs fix sizebalanced empty size bug 2024-09-23 14:30:18 -04:00
Logs.hs update RepoSize database from git-annex branch incrementally 2024-08-17 13:35:00 -04:00
Makefile use cabal list-bin 2024-05-31 10:28:56 -04:00
Messages.hs maxsize overview display and --json support 2024-08-18 12:08:13 -04:00
NEWS prep release 2023-06-26 10:41:36 -04:00
README improve description 2022-01-06 12:24:27 -04:00
Remote.hs avoid head 2024-09-26 17:52:19 -04:00
Setup.hs Setup.hs: Stop installing man pages, desktop files, and the git-annex-shell and git-remote-tor-annex symlinks 2023-08-01 15:08:56 -04:00
stack.yaml deindent 2024-07-30 10:34:18 -04:00
Test.hs use NonEmpty for dirHashes 2024-09-26 18:15:00 -04:00
Types.hs plumb VerifyConfig into retrieveKeyFile 2021-08-17 12:43:13 -04:00
Upgrade.hs don't say a supported version is unsupported 2023-10-09 14:26:24 -04:00

git-annex allows managing large files with git, without storing the file
contents in git. It can sync, backup, and archive your data, offline
and online. Checksums and encryption keep your data safe and secure. Bring
the power and distributed nature of git to bear on your large files with
git-annex.

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