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 37d505dd6b
avoid STM deadlock
When all worker threads are running and enteringStage is called,
it waits for an idle slot. If all off the other threads then call it in
turn, a deadlock occurrs.

This is the same problem I didn't actually fix in
5a9842d7ed.

Fixed by doing two separate STM transactions, the first replaces its
active thread with an idle thread, and the second waits for another idle
thread. That guarantees there will eventually be an idle thread to find.

The changes to WorkerPool were necessary because it can't add an idle
thread containing the Annex state and go on to run an action using that
same state, so I had to remove the Annex state from IdleWorker.
2019-06-19 18:15:25 -04:00
Annex avoid STM deadlock 2019-06-19 18:15:25 -04:00
Assistant matching preferred content before key is known 2019-05-14 14:28:23 -04:00
Backend update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Build fix build 2019-03-18 16:38:22 -04:00
CmdLine avoid STM deadlock 2019-06-19 18:15:25 -04:00
Command use fine-grained WorkerStages when transferring and verifying 2019-06-19 13:24:20 -04:00
Config Add -- before %f in the smudge/clean filter configuration 2019-03-18 14:12:13 -04:00
Database remove wrong uniqueness constraint from ContentIdentifier db 2019-04-09 19:58:24 -04:00
debian debian: fix for install-misc being renamed to install-desktop 2019-03-26 21:10:17 -04:00
doc use fine-grained WorkerStages when transferring and verifying 2019-06-19 13:24:20 -04:00
Git finish CommandStart transition 2019-06-12 13:24:01 -04:00
Limit update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Logs add Key to all ActionItem constructors 2019-06-06 12:53:24 -04:00
Messages update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
P2P minor typos 2019-03-27 11:15:20 -04:00
Remote avoid rsync/gcrypt ssh startup delay with -J 2019-06-13 11:16:38 -04:00
RemoteDaemon update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
standalone Android: Improve installation process when the user's login shell is not bash. 2019-05-23 13:06:31 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates webapp: remove configurators for obsolste cloud storage services 2019-01-22 11:48:35 -04:00
Test update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Types avoid STM deadlock 2019-06-19 18:15:25 -04:00
Upgrade update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Utility add missing case 2019-06-04 11:24:32 -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 Removed Esqueleto as a dependency. 2018-11-06 22:18:55 +00:00
.mailmap alias for Yaroslav @ yahoo to mailmap 2015-09-09 12:38:59 -04:00
Annex.hs speed up enteringStage in non-concurrent mode 2019-06-19 15:47:54 -04:00
Assistant.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Backend.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
bash-completion.bash bash completion fix 2018-11-12 13:23:05 -04:00
Benchmark.hs new improved benchmark command that can benchmark anything git-annex does 2019-01-04 13:46:36 -04:00
build.bat let build.bat also be run from cygwin terminal 2015-04-21 14:12:14 -04:00
BuildFlags.hs Drop support for building with aws older than 0.14. 2019-04-19 14:27:59 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG run download checksum verification in separate job pool 2019-06-17 14:58:02 -04:00
CmdLine.hs get rid of implicitMessages state 2019-06-12 14:01:41 -04:00
Command.hs use fine-grained WorkerStages when transferring and verifying 2019-06-19 13:24:20 -04:00
Common.hs import Utility.FileSystemEncoding in Common 2019-01-03 11:37:02 -04:00
Config.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
COPYRIGHT update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Creds.hs not a phantom type 2019-04-27 16:18:27 -04:00
Crypto.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ghci avoid tab warnings from ghc 8 2016-11-17 13:39:30 -04:00
git-annex.cabal releasing package git-annex version 7.20190615 2019-06-15 12:39:16 -04:00
git-annex.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Jenkinsfile Revert "debugging strange old version of git-annex in windows installer bundle" 2017-10-26 11:32:04 -04:00
Key.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Limit.hs avoid list lookup by parseToken 2019-05-14 13:11:29 -04:00
Logs.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Makefile Makefile: Added install-completions to install target. 2019-05-08 10:48:38 -04:00
Messages.hs add startingNoMessage 2019-06-12 14:11:23 -04:00
NEWS releasing package git-annex version 7.20181031 2018-10-31 15:46:57 -04:00
README use https 2014-11-06 14:20:10 -04:00
Remote.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -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-lts-9.9.yaml Added NetworkBSD build flag to deal with Network.BSD moving to a new package. 2019-02-08 13:36:39 -04:00
stack-windows.yaml Added NetworkBSD build flag to deal with Network.BSD moving to a new package. 2019-02-08 13:36:39 -04:00
stack.yaml aws-0.21.1 2019-02-24 12:45:09 -04:00
Test.hs test case for bf7ecd6892 2019-05-06 14:24:42 -04:00
Types.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Upgrade.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -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/>