git-annex/Annex
Joey Hess e72ec8b9b2
add back git-annex branch read cache
The cache was removed way back in 2012,
commit 3417c55189

Then I forgot I had removed it! I remember clearly multiple times when I
thought, "this reads the same data twice, but the cache will avoid that
being very expensive".

The reason it was removed was it messed up the assistant noticing when
other processes made changes. That same kind of problem has recently
been addressed when adding the optimisation to avoid reading the journal
unnecessarily.

Indeed, enableInteractiveJournalAccess is run in just the
right places, so can just piggyback on it to know when it's not safe
to use the cache.
2020-07-06 12:22: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 add back git-annex branch read cache 2020-07-06 12:22:33 -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 check-ignore resource pool 2020-04-21 11:25:28 -04:00
Content.hs import: Added --no-content option, which avoids downloading files from a special remote 2020-07-03 13:41:57 -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 separate RemoteConfig parsing basically working 2020-01-14 12:35:08 -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 remove pre-commit hook 2020-03-30 11:54:04 -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 remoteList into dupState 2020-04-17 14:36:45 -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 test: Fix some test cases that assumed git's default branch name 2020-06-23 16:40:51 -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 defer cleaning keys db of old data 2020-06-11 15:40:13 -04:00
YoutubeDl.hs convert to withCreateProcess for async exception safety 2020-06-04 12:44:09 -04:00