git-annex/Annex
Joey Hess 983c9d5a53
git-annex-shell: fix transfer hang
Fix hang when transferring the same objects to two different clients at the
same time. (Or when annex.pidlock is used, two different objects to the
same or different clients.)

Could also potentially occur if a client was downloading an object and
somehow lost connection but that git-annex-shell was still running and
holding the transfer lock.

This does not guarantee that, if `transfer` fails for some other reason,
a DATA response will be made.

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-11-06 13:00:37 -04:00
..
AdjustedBranch refactor getCurrentBranch 2018-10-19 17:29:18 -04:00
Branch fix build with older ghc 2018-09-12 14:10:08 -04:00
Content When annex.thin is set, allow hard links to be made between executable work tree files and annex objects. 2018-10-26 13:51:43 -04:00
LockPool enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
MetaData fix thinko for the second time 2018-04-09 13:10:44 -04:00
View remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Action.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
AdjustedBranch.hs fix strange test failure 2018-10-22 16:51:09 -04:00
AutoMerge.hs rename BlobType and add submodule to it 2018-05-14 14:45:41 -04:00
BloomFilter.hs Another redundant constraint 2016-01-28 12:34:07 -04:00
Branch.hs Fix git-annex branch data loss that could occur after git-annex forget --drop-dead 2018-08-06 17:36:30 -04:00
BranchState.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
CatFile.hs sync --content now supports --hide-missing adjusted branches 2018-10-19 17:51:25 -04:00
ChangedRefs.hs enable LambdaCase and convert around 10% of places that could use it 2017-11-15 16:59:32 -04:00
CheckAttr.hs annex.largefiles can be configured in .gitattributes too 2016-02-02 15:18:17 -04:00
CheckIgnore.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Common.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Concurrent.hs fix git command queue to be concurrency safe 2018-08-28 13:16:33 -04:00
Content.hs explicitly close keys db in saveState 2018-10-30 22:19:32 -04:00
CurrentBranch.hs refactor getCurrentBranch 2018-10-19 17:29:18 -04:00
Difference.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Direct.hs avoid update-index race 2018-08-17 16:03:40 -04:00
DirHashes.hs stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
Drop.hs avoid sync/assistant drop from appendonly 2018-08-30 11:23:57 -04:00
Environment.hs removed the old Android app 2018-10-13 01:41:11 -04:00
Export.hs centralized "yes"/"no" parsing 2018-10-10 11:14:27 -04:00
FileMatcher.hs v6: avoid accidental conversion when annex.largefiles is not configured 2018-08-27 14:51:10 -04:00
Fixup.hs fix android/old ghc build 2018-07-19 13:27:29 -04:00
GitOverlay.hs removed the old Android app 2018-10-13 01:41:11 -04:00
HashObject.hs Sped up git-annex add in direct mode and v6 by using git hash-object --batch. 2016-03-14 15:58:46 -04:00
Hook.hs don't probe support for git-annex smudge --update 2018-10-26 14:37:43 -04:00
Ingest.hs touch files with high-resolution timestamp 2018-10-29 22:25:21 -04:00
Init.hs default to v7 adjusted unlocked in crippled filesystem 2018-10-25 18:49:57 -04:00
InodeSentinal.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Journal.hs back out incorrect IO interleaving change 2018-05-08 13:54:42 -04:00
Link.hs avoid update-index race 2018-08-17 16:03:40 -04:00
Locations.hs defer updating unlocked files until after smudge filter 2018-10-25 15:08:20 -04:00
LockFile.hs Ssh password prompting improved when using -J 2017-05-11 17:36:03 -04:00
LockPool.hs pid locking configuration and abstraction layer for git-annex 2015-11-12 17:50:34 -04:00
MakeRepo.hs added annex.commitmessage 2018-08-02 14:06:06 -04:00
MetaData.hs don't copy old date metadata when adding new version of a file 2018-04-04 13:58:16 -04:00
Multicast.hs fix build with old ghc 2017-05-10 14:39:15 -04:00
Notification.hs reorg 2017-12-14 11:26:59 -04:00
NumCopies.hs removed the old Android app 2018-10-13 01:41:11 -04:00
Path.hs remove ifdef for older base than git-annex.cabal allows 2017-12-14 13:45:50 -04:00
Perms.hs avoid compiler warning 2018-03-15 13:21:32 -04:00
Queue.hs fix git command queue to be concurrency safe 2018-08-28 13:16:33 -04:00
ReplaceFile.hs narrow the race where a file gets modified before update-index 2018-08-16 15:56:43 -04:00
SpecialRemote.hs finish fixing inverted Ord for TrustLevel 2018-04-13 15:17:54 -04:00
Ssh.hs remove no longer needed uuid check in prepSocket 2018-06-05 12:51:17 -04:00
TaggedPush.hs sync: Added --cleanup, which removes local and remote synced/ branches. 2017-09-28 14:58:48 -04:00
Transfer.hs git-annex-shell: fix transfer hang 2018-11-06 13:00:37 -04:00
UpdateInstead.hs sync hack to make updateInstead work on eg FAT 2017-02-17 15:21:52 -04:00
Url.hs Fix reversion in support of annex.web-options 2018-10-04 13:43:29 -04:00
UUID.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
VariantFile.hs stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
VectorClock.hs moved module and relicensed 2018-10-29 23:13:36 -04:00
Version.hs remove 3 from supportedVersions (no behavior change) 2018-10-25 18:50:44 -04:00
View.hs reuse hashes of dotfiles/dirs/submodules when entering view 2018-05-14 15:35:20 -04:00
Wanted.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
WorkTree.hs sync --content now supports --hide-missing adjusted branches 2018-10-19 17:51:25 -04:00
YoutubeDl.hs improve message 2018-09-02 16:08:00 -04:00