git-annex/Command
Joey Hess aeca7c2207
Sped up query commands that read the git-annex branch by around 5%
The only price paid is one additional MVar read per write to the journal.
Presumably writing a journal file dominiates over a MVar read time by
several orders of magnitude.

--batch does not get the speedup because then it needs to notice when
another process has made a change. Also made the assistant and other damon
modes bypass the optimisation, which would not help them anyway.
2020-04-09 13:54:43 -04:00
..
Add.hs add --force-small: Send all non-regular files through addFile 2020-03-26 13:14:16 -04:00
AddUnused.hs more RawFilePath 2019-12-18 17:10:28 -04:00
AddUrl.hs mostly finished with createDirectoryUnder conversion 2020-03-06 11:57:15 -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 convert KeySource to RawFilePath 2020-02-21 10:04:44 -04:00
CheckPresentKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Commit.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Config.hs git-annex config: guard against non-repo-global configs 2020-03-02 15:54:18 -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 get the most commonly used commands building again 2019-12-04 13:45:18 -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 get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
DropKey.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -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 Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Find.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
FindRef.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Fix.hs fix build 2020-03-09 12:31:14 -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 mostly finished with createDirectoryUnder conversion 2020-03-06 11:57:15 -04:00
Fsck.hs fix build 2020-03-09 12:31:14 -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 get the most commonly used commands building again 2019-12-04 13:45:18 -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 Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
ImportFeed.hs annex.addunlocked expressions 2019-12-20 15:56:25 -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 Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Init.hs changelog and minor style 2020-02-28 12:57:55 -04:00
InitRemote.hs automate remote.name.skipFetchAll 2020-02-19 13:58:26 -04:00
Inprogress.hs Merge branch 'master' into bs 2019-12-18 15:13:30 -04:00
List.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Lock.hs convert replaceFile to createDirectoryUnder 2020-03-06 11:31:01 -04:00
LockContent.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Log.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
LookupKey.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Map.hs more RawFilePath 2019-12-18 17:10:28 -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 get many more commands building again 2019-12-05 11:40:10 -04:00
Migrate.hs convert KeySource to RawFilePath 2020-02-21 10:04:44 -04:00
Mirror.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Move.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
Multicast.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -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 remove unused import 2020-03-30 16:07:10 -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 update licenses from GPL to AGPL 2019-03-13 15:48:14 -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 convert KeySource to RawFilePath 2020-02-21 10:04:44 -04:00
ReKey.hs convert replaceFile to createDirectoryUnder 2020-03-06 11:31:01 -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 all commands building except for assistant 2019-12-05 14:41:18 -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 make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Smudge.hs Fix bug that caused unlocked annexed dotfiles to be added to git by the smudge filter when annex.dotfiles was not set. 2020-03-09 14:20:02 -04:00
Status.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Sync.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Test.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
TestRemote.hs Merge branch 'v7' 2020-02-26 18:15:18 -04:00
TransferInfo.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
TransferKey.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
TransferKeys.hs Sped up query commands that read the git-annex branch by around 5% 2020-04-09 13:54:43 -04:00
Trust.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Unannex.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Undo.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
Ungroup.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Uninit.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Unlock.hs convert replaceFile to createDirectoryUnder 2020-03-06 11:31:01 -04:00
Untrust.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Unused.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Upgrade.hs fix problems with upgrade of local remotes 2020-03-09 16:49:28 -04: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 all commands building except for assistant 2019-12-05 14:41:18 -04:00
View.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -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 everything is building again 2019-12-05 15:10:23 -04:00
Whereis.hs catch whereisKey exception and provide error messages when external programs neglect to 2020-02-27 14:09:18 -04:00