git-annex/Annex
Joey Hess 2a45b5ae9a
avoid failure to lock content of removed file causing drop etc to fail
This was already prevented in other ways, but as seen in commit
c30fd24d91, those were a bit fragile.
And I'm not sure races were avoided in every case before. At least a
race between two separate git-annex processes, dropping the same
content, seemed possible.

This way, if locking fails, and the content is not present, it will
always do the right thing. Also, it avoids the overhead of an unncessary
inAnnex check for every file.

This commit was sponsored by Denis Dzyubenko on Patreon.
2020-07-25 11:59:33 -04:00
..
AdjustedBranch ByteString Ref continued 2020-04-07 13:27:11 -04:00
Branch fix warning 2020-02-17 15:06:28 -04:00
Concurrent check-ignore resource pool 2020-04-21 11:25:28 -04:00
Content convert replaceFile to createDirectoryUnder 2020-03-06 11:31:01 -04:00
LockPool fix build on windows 2020-07-01 11:22:15 -04:00
MetaData update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
SpecialRemote remove redundant imports 2020-06-22 11:05:34 -04:00
View update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Action.hs move remoteList into dupState 2020-04-17 14:36:45 -04:00
AdjustedBranch.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
AutoMerge.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
BloomFilter.hs Revert "data type that starts off using a set but converts to a bloom filter when large" 2020-07-01 20:12:19 -04:00
Branch.hs add back git-annex branch read cache 2020-07-06 12:22:33 -04:00
BranchState.hs cache one more log file for metadata 2020-07-07 14:18:55 -04:00
CatFile.hs cat-file resource pool 2020-04-20 15:19:31 -04:00
ChangedRefs.hs ByteString Ref continued 2020-04-07 13:27:11 -04:00
CheckAttr.hs check-ignore resource pool 2020-04-21 11:25:28 -04:00
CheckIgnore.hs check-ignore resource pool 2020-04-21 11:25:28 -04:00
Common.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Concurrent.hs avoid inflating error counter when forking and merging annex state 2020-07-19 18:31:25 -04:00
Content.hs avoid failure to lock content of removed file causing drop etc to fail 2020-07-25 11:59:33 -04:00
CurrentBranch.hs refactor getCurrentBranch 2018-10-19 17:29:18 -04:00
Difference.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
DirHashes.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Drop.hs avoid failure to lock content of removed file causing drop etc to fail 2020-07-25 11:59:33 -04:00
Environment.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
Export.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
FileMatcher.hs a few forgotten remote config fields 2020-01-15 11:22:36 -04:00
Fixup.hs Avoid converting .git file in a worktree or submodule to a symlink when the repository is not a git-annex repository. 2020-03-09 14:54:14 -04:00
GitOverlay.hs clean up some build warnings on windows 2020-07-02 11:34:18 -04:00
HashObject.hs fix a case where file tracked by git unexpectedly becomes annex pointer file 2019-12-27 15:08:03 -04:00
Hook.hs update uninit to handle all the v7 stuff 2019-10-08 14:34:00 -04:00
Import.hs simplify interface by removing size 2020-07-03 14:22:22 -04:00
Ingest.hs audit all uses of SomeException to avoid catching async exceptions 2020-06-05 15:16:57 -04:00
Init.hs add runsGitAnnexChildProcess calls 2020-06-17 15:31:03 -04:00
InodeSentinal.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Journal.hs fix fileJournal 2019-12-18 11:29:34 -04:00
Link.hs fix deadlock 2020-06-18 12:56:29 -04:00
Locations.hs rename getKey to genKey 2020-07-20 14:06:05 -04:00
LockFile.hs fix a annex.pidlock issue 2020-06-17 15:30:59 -04:00
LockPool.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Magic.hs Added --mimetype and --mimeencoding file matching options. 2019-09-19 12:09:59 -04:00
MetaData.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Multicast.hs use programPath consistently, not readProgramFile 2020-03-30 16:06:27 -04:00
Notification.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
NumCopies.hs improve "unable to lock down 1 copy" message 2020-06-26 13:00:40 -04:00
Path.hs improve programPath 2020-04-15 16:46:34 -04:00
Perms.hs refactor 2020-03-06 11:43:07 -04:00
Queue.hs remove one more warningIO 2019-11-12 10:45:52 -04:00
RemoteTrackingBranch.hs refactor 2019-11-11 19:10:52 -04:00
ReplaceFile.hs refactor 2020-03-06 11:43:07 -04:00
SpecialRemote.hs remove redundant imports 2020-06-22 11:05:34 -04:00
Ssh.hs convert to withCreateProcess for async exception safety 2020-06-04 15:45:52 -04:00
TaggedPush.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Tmp.hs init: Fix a reversion that broke initialization on systems that need to use pid locking 2019-09-10 13:37:07 -04:00
Transfer.hs move cryptographicallySecure into Backend type 2020-07-20 12:17:42 -04:00
UntrustedFilePath.hs remove SafeFilePath 2020-05-11 14:04:56 -04:00
UpdateInstead.hs v7 for all repositories 2019-08-30 14:09:14 -04:00
Url.hs Build with the http-client-restricted library when available 2020-06-22 11:31:31 -04:00
UUID.hs Fix a potential failure to parse git config 2020-04-13 13:05:41 -04:00
VariantFile.hs more RawFilePath 2019-12-18 17:10:28 -04:00
VectorClock.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Version.hs jump right to v8, don't stop part way 2020-02-24 13:21:00 -04:00
View.hs renaming 2020-07-10 14:17:35 -04:00
Wanted.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
WorkerPool.hs move remoteList into dupState 2020-04-17 14:36:45 -04:00
WorkTree.hs renaming 2020-07-10 14:17:35 -04:00
YoutubeDl.hs convert to withCreateProcess for async exception safety 2020-06-04 12:44:09 -04:00