git-annex/Command
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
..
Add.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
AddUnused.hs more RawFilePath 2019-12-18 17:10:28 -04:00
AddUrl.hs addurl: Make --preserve-filename also apply when eg a torrent contains multiple files 2020-05-26 10:45:57 -04:00
Adjust.hs adjust --lock: This enters an adjusted branch where files are locked. 2019-09-27 14:23:25 -04:00
Assistant.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
Benchmark.hs improve benchmark --databases 2019-11-21 17:25:20 -04:00
CalcKey.hs change retrieveExport and getKey to throw exception 2020-05-15 13:45:53 -04:00
CheckPresentKey.hs checkpresentkey: fix behavior to match documentation 2020-06-16 13:54:26 -04:00
Commit.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Config.hs remove redundant imports 2020-06-22 11:05:34 -04:00
ConfigList.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
ContentLocation.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Copy.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Dead.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Describe.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
DiffDriver.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Direct.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Drop.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
DropKey.hs fix absolute filenames fed into --batch and git-annex info 2020-04-15 16:04:05 -04:00
DropUnused.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
EnableRemote.hs automate remote.name.skipFetchAll 2020-02-19 13:58:26 -04:00
EnableTor.hs use programPath consistently, not readProgramFile 2020-03-30 16:06:27 -04:00
ExamineKey.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Expire.hs changelog and minor style 2020-02-28 12:57:55 -04:00
Export.hs disable buggy concurrency in Command.Export 2020-05-26 13:54:08 -04:00
Find.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
FindRef.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Fix.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Forget.hs Sped up query commands that read the git-annex branch by around 5% 2020-04-09 13:54:43 -04:00
FromKey.hs fix absolute filenames fed into --batch and git-annex info 2020-04-15 16:04:05 -04:00
Fsck.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
FuzzTest.hs mostly finished with createDirectoryUnder conversion 2020-03-06 11:57:15 -04:00
GCryptSetup.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Get.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Group.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
GroupWanted.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Help.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Import.hs import: Added --no-content option, which avoids downloading files from a special remote 2020-07-03 13:41:57 -04:00
ImportFeed.hs importfeed: Added some additional --template variables for date and time 2020-06-24 14:24:50 -04:00
InAnnex.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Indirect.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Info.hs remove redundant imports 2020-06-22 11:05:34 -04:00
Init.hs auto-init autoenable=yes 2020-05-27 12:40:35 -04:00
InitRemote.hs remove redundant imports 2020-06-22 11:05:34 -04:00
Inprogress.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
List.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Lock.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
LockContent.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Log.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
LookupKey.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Map.hs convert to withCreateProcess for async exception safety 2020-06-04 15:45:52 -04:00
MatchExpression.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
Merge.hs Sped up query commands that read the git-annex branch by around 5% 2020-04-09 13:54:43 -04:00
MetaData.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Migrate.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Mirror.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Move.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Multicast.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
NotifyChanges.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
NumCopies.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
P2P.hs remoteConfig rework 2020-02-19 13:45:11 -04:00
P2PStdIO.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
PostReceive.hs sync --only-annex and annex.synconlyannex 2020-02-17 16:33:10 -04:00
PreCommit.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Proxy.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
ReadPresentKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
RecvKey.hs remove redundant imports 2020-06-22 11:05:34 -04:00
RegisterUrl.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Reinit.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Reinject.hs change retrieveExport and getKey to throw exception 2020-05-15 13:45:53 -04:00
ReKey.hs fix absolute filenames fed into --batch and git-annex info 2020-04-15 16:04:05 -04:00
RemoteDaemon.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
RenameRemote.hs be stricter about rejecting invalid configurations for remotes 2020-01-10 14:52:48 -04:00
Repair.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Required.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ResolveMerge.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
RmUrl.hs fix absolute filenames fed into --batch and git-annex info 2020-04-15 16:04:05 -04:00
Schedule.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Semitrust.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
SendKey.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
SetKey.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
SetPresentKey.hs fix absolute filenames fed into --batch and git-annex info 2020-04-15 16:04:05 -04:00
Smudge.hs fix deadlock 2020-06-18 12:56:29 -04:00
Status.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Sync.hs import: Added --no-content option, which avoids downloading files from a special remote 2020-07-03 13:41:57 -04:00
Test.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
TestRemote.hs testremote: Fix over-allocation of resources and bad caching 2020-06-22 14:25:49 -04:00
TransferInfo.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
TransferKey.hs make retrieveKeyFile and retrieveKeyFileCheap throw exceptions 2020-05-13 17:07:07 -04:00
TransferKeys.hs add back git-annex branch read cache 2020-07-06 12:22:33 -04:00
Trust.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Unannex.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Undo.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Ungroup.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Uninit.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Unlock.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Untrust.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Unused.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
Upgrade.hs Fix haddock parse error 2020-05-11 08:40:13 +02:00
VAdd.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
VCycle.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Version.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
VFilter.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Vicfg.hs remove redundant imports 2020-06-22 11:05:34 -04:00
View.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00
VPop.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Wanted.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Watch.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
WebApp.hs convert to withCreateProcess for async exception safety 2020-06-03 15:48:09 -04:00
Whereis.hs annex.skipunknown with transition plan 2020-05-28 15:55:17 -04:00