git-annex/Annex
Joey Hess c941ab6f5b
avoid double work in git-annex init, second try
reconcileStaged populates the db, so scanAnnexedFiles does not need to
do it again. It still makes a pass over the HEAD tree, but populating
the db was most of the expensive part.

Benchmarking with 100,000 files, git-annex init now takes 40 seconds,
vs 37 seconds with the old, buggy version of this fix. It should be
possible to win those 3 precious seconds per 100k files back, in the
case when when annex.thin is not set, with improvements to reconcileStaged
that avoid needing this second pass.

Sponsored-by: Dartmouth College's Datalad project
2021-06-08 09:36:53 -04:00
..
AdjustedBranch annex.adjustedbranchrefresh 2020-11-16 14:27:28 -04:00
Branch implemented filter-branch for key info 2021-05-17 11:11:39 -04:00
Concurrent differentiate between concurrency enabled at command line and by git config 2020-09-16 11:47:12 -04:00
Content incremental checksum on download from ssh or p2p 2021-02-09 17:03:27 -04:00
Debug implement fastDebug 2021-04-06 15:24:28 -04:00
LockPool Display a message when git-annex has to wait for a pid lock file held by another process 2020-08-26 13:05:34 -04:00
MetaData
SpecialRemote remove redundant imports 2020-06-22 11:05:34 -04:00
VectorClock generate more compact git-annex branch for imports 2020-12-23 15:25:16 -04:00
View fix test failure on windows 2020-11-26 11:48:52 -04:00
Action.hs start splitting out readonly values from AnnexState 2021-04-02 15:51:44 -04:00
AdjustedBranch.hs fix hardcoded origin name in checkAdjustedClone 2021-04-14 18:53:27 -04:00
AutoMerge.hs Git.Queue: allow providing git common options like -c 2021-01-04 12:51:55 -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 createMessage 2021-05-17 13:07:47 -04:00
BranchState.hs Avoid excess commits to the git-annex branch when stall detection is enabled 2021-04-02 11:57:18 -04:00
CatFile.hs fileRef: make paths relative and simplified 2021-05-07 13:25:59 -04:00
ChangedRefs.hs more RawFilePath conversion 2020-10-29 14:20:57 -04:00
CheckAttr.hs mincopies 2021-01-06 14:15:19 -04:00
CheckIgnore.hs more RawFilePath conversion 2020-11-03 10:11:04 -04:00
Common.hs use fastDebug everywhere it can be used 2021-04-06 15:41:24 -04:00
Concurrent.hs avoid displaying the scanning annexed files message when repo is not large 2021-06-04 13:16:48 -04:00
Content.hs make getViaTmpFrom no longer update location log 2020-12-11 11:50:13 -04:00
CopyFile.hs directory CoW on import 2021-04-14 16:10:09 -04:00
CurrentBranch.hs
Debug.hs fix fastDebug to check if debugging is actually enabled 2021-04-06 16:28:37 -04:00
Difference.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
DirHashes.hs Added http special remote, which is useful for accessing other remotes that publish content stored in them via http/https. 2020-09-01 15:16:35 -04:00
Drop.hs prevent dropping required content of other file using same content 2021-05-25 11:34:06 -04:00
Environment.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
Export.hs simplify 2021-03-05 14:22:04 -04:00
ExternalAddonProcess.hs use fastDebug everywhere it can be used 2021-04-06 15:41:24 -04:00
FileMatcher.hs prep for fixing find --branch --unlocked 2021-03-02 13:39:31 -04:00
Fixup.hs fix a bug that prevented git-annex init from working in a submodule 2021-01-21 15:33:15 -04:00
GitOverlay.hs add: Significantly speed up adding lots of non-large files to git 2021-01-04 13:12:28 -04:00
HashObject.hs more RawFilePath conversion 2020-10-28 17:25:59 -04:00
Hook.hs don't try to remove pre-commit-annex and post-update-annex-hooks 2020-10-19 13:13:49 -04:00
Import.hs simplify 2021-03-05 14:22:04 -04:00
Ingest.hs fromkey unlocked files support 2021-05-03 11:26:18 -04:00
Init.hs avoid displaying the scanning annexed files message when repo is not large 2021-06-04 13:16:48 -04:00
InodeSentinal.hs finished this stage of the RawFilePath conversion 2020-11-06 14:10:58 -04:00
Journal.hs implement annex.privateremote and remote.name.private configs 2021-04-23 14:21:57 -04:00
Link.hs start splitting out readonly values from AnnexState 2021-04-02 15:51:44 -04:00
Locations.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
LockFile.hs more RawFilePath conversion 2020-10-29 10:50:29 -04:00
LockPool.hs
Magic.hs Serialize use of C magic library, which is not thread safe. 2020-09-17 17:27:42 -04:00
MetaData.hs Windows: include= and exclude= containing '/' will also match filenames that are written using '\' 2020-12-15 12:39:34 -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 message 2021-04-27 13:44:08 -04:00
Path.hs assistant: Fix a crash on startup by avoiding using forkProcess 2021-05-12 15:08:03 -04:00
Perms.hs more RawFilePath conversion 2020-11-05 18:45:37 -04:00
PidLock.hs propagate git-annex -c on to transferrer child process 2020-12-15 11:36:25 -04:00
Queue.hs Git.Queue: allow providing git common options like -c 2021-01-04 12:51:55 -04:00
RemoteTrackingBranch.hs refactor 2019-11-11 19:10:52 -04:00
ReplaceFile.hs more RawFilePath conversion 2020-10-29 12:03:50 -04:00
SpecialRemote.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Ssh.hs Added annex.adviceNoSshCaching config. 2021-05-27 12:37:49 -04:00
StallDetection.hs suggest when user may want annex.stalldetection 2021-02-03 15:57:19 -04:00
TaggedPush.hs Ref ByteString conversion done 2020-04-07 17:41:09 -04:00
Tmp.hs propagate signals to the transferrer process group 2020-12-11 15:32:00 -04:00
Transfer.hs start splitting out readonly values from AnnexState 2021-04-02 15:51:44 -04:00
TransferrerPool.hs use fastDebug everywhere it can be used 2021-04-06 15:41:24 -04:00
UntrustedFilePath.hs importfeed: Fix reversion that caused some '.' in filenames to be replaced with '_' 2020-08-05 11:35:00 -04:00
UpdateInstead.hs v7 for all repositories 2019-08-30 14:09:14 -04:00
Url.hs Improved display of errors when accessing a git http remote fails. 2021-03-24 14:19:32 -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 generate more compact git-annex branch for imports 2020-12-23 15:25:16 -04:00
Verify.hs incremental checksum on download from ssh or p2p 2021-02-09 17:03:27 -04:00
Version.hs jump right to v8, don't stop part way 2020-02-24 13:21:00 -04:00
View.hs Fix a bug in view filename generation when a metadata value ended with "/" 2021-01-22 14:05:14 -04:00
Wanted.hs prevent dropping required content of other file using same content 2021-05-25 11:34:06 -04:00
WorkerPool.hs start splitting out readonly values from AnnexState 2021-04-02 15:51:44 -04:00
WorkTree.hs avoid double work in git-annex init, second try 2021-06-08 09:36:53 -04:00
YoutubeDl.hs add searchPathContents 2021-02-02 19:06:15 -04:00