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
f04d9574d6
While redundant concurrent transfers were already prevented in most cases, it failed to prevent the case where two different repositories were sending the same content to the same repository. By removing the uuid from the transfer lock file for Download transfers, one repository sending content will block the other one from also sending the same content. In order to interoperate with old git-annex, the old lock file is still locked, as well as locking the new one. That added a lot of extra code and work, and the plan is to eventually stop locking the old lock file, at some point in time when an old git-annex process is unlikely to be running at the same time. Note that in the case of 2 repositories both doing eg `git-annex copy foo --to origin` the output is not that great: copy b (to origin...) transfer already in progress, or unable to take transfer lock git-annex: transfer already in progress, or unable to take transfer lock 97% 966.81 MiB 534 GiB/s 0sp2pstdio: 1 failed Lost connection (fd:14: hPutBuf: resource vanished (Broken pipe)) Transfer failed Perhaps that output could be cleaned up? Anyway, it's a lot better than letting the redundant transfer happen and then failing with an obscure error about a temp file, which is what it did before. And it seems users don't often try to do this, since nobody ever reported this bug to me before. (The "97%" there is actually how far along the *other* transfer is.) Sponsored-by: Joshua Antonishen on Patreon |
||
---|---|---|
Annex | ||
Assistant | ||
Backend | ||
Build | ||
CmdLine | ||
Command | ||
Config | ||
Database | ||
debian | ||
doc | ||
Git | ||
Limit | ||
Logs | ||
Messages | ||
P2P | ||
Remote | ||
RemoteDaemon | ||
standalone | ||
static | ||
templates | ||
Test | ||
Types | ||
Upgrade | ||
Utility | ||
.appveyor.yml | ||
.codespellrc | ||
.ghci | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
Annex.hs | ||
Assistant.hs | ||
Author.hs | ||
Backend.hs | ||
bash-completion.bash | ||
Benchmark.hs | ||
BuildFlags.hs | ||
BuildInfo.hs | ||
CHANGELOG | ||
CmdLine.hs | ||
Command.hs | ||
Common.hs | ||
Config.hs | ||
COPYRIGHT | ||
Creds.hs | ||
Crypto.hs | ||
git-annex.cabal | ||
git-annex.hs | ||
git-union-merge.hs | ||
Git.hs | ||
Key.hs | ||
Limit.hs | ||
Logs.hs | ||
Makefile | ||
Messages.hs | ||
NEWS | ||
README | ||
Remote.hs | ||
Setup.hs | ||
stack-lts-18.13.yaml | ||
stack.yaml | ||
Test.hs | ||
Types.hs | ||
Upgrade.hs |
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/>