git-annex/Command
Joey Hess 40017089f2
use importChanges optimisation
Large speed up to importing trees from special remotes that contain a lot
of files, by only processing changed files.

Benchmarks:

Importing from a special remote that has 10000 files, that have all been
imported before, and 1 new file sped up from 26.06 to 2.59 seconds.

An import with no change and 10000 unchanged files sped up from 24.3 to
1.99 seconds.

Going up to 20000 files, an import with no changes sped up from
125.95 to 3.84 seconds.

Sponsored-by: k0ld on Patreon
2023-06-01 13:47:00 -04:00
..
Add.hs git-annex assist 2023-05-18 14:37:43 -04:00
AddUnused.hs addunused, dropunused: Support --json and --json-error-messages 2023-05-05 14:01:40 -04:00
AddUrl.hs importfeed: Support -J (and work toward supporting --json) 2023-05-09 16:13:56 -04:00
Adjust.hs rename to --unlock-present and better reverse adjusting 2020-11-13 14:56:43 -04:00
Assist.hs assist: honor gitignore 2023-05-24 14:04:09 -04:00
Assistant.hs git-annex assist 2023-05-18 14:37:43 -04:00
Benchmark.hs improve benchmark --databases 2019-11-21 17:25:20 -04:00
CalcKey.hs safe output to terminal for calckey inprogress and lookupkey 2023-04-12 14:03:44 -04:00
CheckPresentKey.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
Config.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
ConfigList.hs don't frontload reconcileStaged in git-annex init 2022-11-18 13:58:47 -04:00
ConfigRemote.hs configremote: Support --json and --json-error-messages 2023-05-10 14:21:42 -04:00
ContentLocation.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Copy.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Dead.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
Describe.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
DiffDriver.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -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 json object for FileNotFound 2023-04-25 19:26:20 -04:00
DropKey.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
DropUnused.hs addunused, dropunused: Support --json and --json-error-messages 2023-05-05 14:01:40 -04:00
EnableRemote.hs enableremote: Support --json and --json-error-messages 2023-05-10 14:09:27 -04:00
EnableTor.hs filter out control characters in all other Messages 2023-04-11 12:58:01 -04:00
ExamineKey.hs fix mojibake reversion in display of utf8 2023-04-12 13:53:30 -04:00
Expire.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
Export.hs filter out control characters in warning messages 2023-04-10 15:55:44 -04:00
FilterBranch.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
FilterProcess.hs smudge: Warn when encountering a pointer file that has other content appended to it 2022-02-23 15:17:08 -04:00
Find.hs avoid quoting spaces in git-annex find output to terminal 2023-04-26 00:18:30 -04:00
FindKeys.hs fix mojibake reversion in display of utf8 2023-04-12 13:53:30 -04:00
FindRef.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
Fix.hs fix: Support --json and --json-error-messages 2023-05-04 14:28:21 -04:00
Forget.hs filter out control characters in all other Messages 2023-04-11 12:58:01 -04:00
FromKey.hs filter out control characters in warning messages 2023-04-10 15:55:44 -04:00
Fsck.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
FuzzTest.hs eliminate showStart showStartOther 2023-04-10 16:28:58 -04:00
GCryptSetup.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Get.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Group.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
GroupWanted.hs git style quoting for ActionItemOther 2023-04-08 16:30:01 -04:00
Help.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Import.hs use importChanges optimisation 2023-06-01 13:47:00 -04:00
ImportFeed.hs include url in json output 2023-05-09 16:59:44 -04:00
InAnnex.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -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 back compat fix for info --json on unknown item 2023-05-01 12:05:21 -04:00
Init.hs init: Support --json and --json-error-messages 2023-05-08 14:58:08 -04:00
InitRemote.hs remove unused import 2023-05-11 13:24:34 -04:00
Inprogress.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
List.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Lock.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Log.hs log: Support --json and --json-error-messages 2023-05-04 12:36:31 -04:00
LookupKey.hs safe output to terminal for calckey inprogress and lookupkey 2023-04-12 14:03:44 -04:00
Map.hs filter out control characters in all other Messages 2023-04-11 12:58:01 -04:00
MatchExpression.hs split ProvidedInfo and UserProvidedInfo 2020-09-28 12:12:38 -04:00
Merge.hs merge: Support --json and --json-error-messages and --json-progress 2023-05-10 12:34:19 -04:00
MetaData.hs factor out maybeAddJSONField 2023-05-08 16:15:41 -04:00
Migrate.hs migrate, undo: Support --json and --json-error-messages 2023-05-04 16:34:35 -04:00
MinCopies.hs git style quoting for ActionItemOther 2023-04-08 16:30:01 -04:00
Mirror.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Move.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Multicast.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
NotifyChanges.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
NumCopies.hs git style quoting for ActionItemOther 2023-04-08 16:30:01 -04:00
P2P.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
P2PStdIO.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
PostReceive.hs remove direct mode remnant of merging unrelated histories 2021-07-19 11:41:26 -04:00
PreCommit.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Proxy.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Pull.hs git-annex pull and push 2023-05-16 16:51:07 -04:00
Push.hs git-annex pull and push 2023-05-16 16:51:07 -04:00
ReadPresentKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
RecvKey.hs avoid flushing keys db queue after each Annex action 2022-10-12 14:12:23 -04:00
RegisterUrl.hs filter out control characters in all other Messages 2023-04-11 12:58:01 -04:00
Reinit.hs reinit: Support --json and --json-error-messages 2023-05-08 15:07:40 -04:00
Reinject.hs factor out maybeAddJSONField 2023-05-08 16:15:41 -04:00
ReKey.hs rekey, setpresentkey: Support --json and --json-error-messages 2023-05-04 16:03:54 -04:00
RemoteDaemon.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
RenameRemote.hs renameremote: Support --json and --json-error-messages 2023-05-08 16:25:40 -04:00
Repair.hs move several readonly values to AnnexRead 2022-06-28 15:40:19 -04:00
Required.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ResolveMerge.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
Restage.hs restage: New git-annex command, handles restaging unlocked files 2022-09-23 16:29:59 -04:00
RmUrl.hs rmurl: Support --json and --json-error-messages 2023-05-04 11:28:27 -04:00
Schedule.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
Semitrust.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
SendKey.hs addurl, importfeed: Fix failure when annex.securehashesonly is set 2023-03-27 15:10:46 -04:00
SetKey.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
SetPresentKey.hs rekey, setpresentkey: Support --json and --json-error-messages 2023-05-04 16:03:54 -04:00
Smudge.hs filter out control characters in warning messages 2023-04-10 15:55:44 -04:00
Status.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
Sync.hs use importChanges optimisation 2023-06-01 13:47:00 -04:00
Test.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
TestRemote.hs filter out control characters in warning messages 2023-04-10 15:55:44 -04:00
TransferKey.hs filter out control characters in warning messages 2023-04-10 15:55:44 -04:00
TransferKeys.hs filter out control characters in warning messages 2023-04-10 15:55:44 -04:00
Transferrer.hs filter out control characters in warning messages 2023-04-10 15:55:44 -04:00
Trust.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
Unannex.hs unannex: Support --json and --json-error-messages 2023-05-03 15:56:20 -04:00
Undo.hs migrate, undo: Support --json and --json-error-messages 2023-05-04 16:34:35 -04:00
Ungroup.hs git style quoting for ActionItemOther 2023-04-08 16:30:01 -04:00
Uninit.hs clean up uninit output 2023-05-11 13:52:22 -04:00
Unlock.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
UnregisterUrl.hs restore old registerurl location tracking behavior 2023-04-05 17:06:44 -04:00
Untrust.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
Unused.hs remove unused imports 2023-05-16 16:33:02 -04:00
Upgrade.hs upgrade: Support --json and --json-error-messages and --json-progress 2023-05-10 12:54:48 -04:00
VAdd.hs filter out control characters in all other Messages 2023-04-11 12:58:01 -04:00
VCycle.hs filter out control characters in all other Messages 2023-04-11 12:58:01 -04:00
Version.hs version: Avoid error message when entire output is not read 2023-05-19 15:00:57 -04:00
VFilter.hs understand adjusted view branch names 2023-02-27 14:57:58 -04:00
Vicfg.hs vicfg: Include mincopies configuration 2022-09-15 15:11:59 -04:00
View.hs filter out control characters in all other Messages 2023-04-11 12:58:01 -04:00
VPop.hs git style quoting for ActionItemOther 2023-04-08 16:30:01 -04:00
Wanted.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
Watch.hs git-annex assist 2023-05-18 14:37:43 -04:00
WebApp.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Whereis.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
WhereUsed.hs whereused: Fix display of branch:file when run in a subdirectory 2023-04-12 15:18:04 -04:00