git-annex/Git
Joey Hess 7298123520
build git trees using ContentIdentifier to speed up import
This gets the trees built, but it does not use them. Next step will be
to remember the tree for next time an import is done, and diff between
old and new trees to find the files that have changed.

Added --missing to the mktree parameters. That only disables a check, so
it's ok to do everywhere mktree is used. It probably also speeds up
mktree to disable the check.

Note that git fsck does not complain about the resulting tree objects
that point to shas that are not in the repository. Even with --strict.

A quick benchmark, importing 10000 files, this slowed it down
from 2:04.06 to 2:04.28. So it will more than pay for itself.

Sponsored-by: Luke Shumaker on Patreon
2023-05-31 12:46:54 -04:00
..
Command update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Remote Removed support for git versions older than 2.1 2019-09-11 16:14:43 -04:00
AutoCorrect.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Branch.hs sync --quiet 2021-07-19 11:28:47 -04:00
BuildVersion.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CatFile.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
CheckAttr.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
CheckIgnore.hs more RawFilePath conversion 2020-11-03 10:11:04 -04:00
Command.hs convert some error to giveup 2021-12-09 14:36:54 -04:00
Config.hs add git config debugging 2023-05-15 15:35:29 -04:00
ConfigTypes.hs Support core.sharedRepository=0xxx at long last 2023-04-26 17:03:29 -04:00
Construct.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
Credential.hs Windows: Support urls like "file:///c:/path" 2023-03-27 13:38:02 -04:00
CurrentRepo.hs Revert "revert recent bug fix temporarily for release" 2023-02-14 14:11:23 -04:00
DiffTree.hs rename Git.Filename to Git.Quote 2023-04-12 17:22:03 -04:00
DiffTreeItem.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Env.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
FileMode.hs Fix ambigous typos 2023-03-17 15:14:47 -04:00
FilePath.hs rename Git.Filename to Git.Quote 2023-04-12 17:22:03 -04:00
FilterProcess.hs filter-process: Fix protocol for empty files 2022-07-13 17:13:54 -04:00
Fsck.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
GCrypt.hs sync: Fix parsing of gcrypt::rsync:// urls that use a relative path 2023-03-23 15:20:00 -04:00
HashObject.hs make hashFile support paths with newlines 2023-03-13 13:43:40 -04:00
History.hs convert to withCreateProcess for async exception safety 2020-06-03 15:48:09 -04:00
Hook.hs fix build warnings on windows 2023-03-21 18:41:23 -04:00
Index.hs more RawFilePath conversion 2020-11-05 18:45:37 -04:00
LockFile.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
LsFiles.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
LsTree.hs rename Git.Filename to Git.Quote 2023-04-12 17:22:03 -04:00
Merge.hs sync --quiet 2021-07-19 11:28:47 -04:00
Objects.hs more RawFilePath conversion 2020-11-05 18:45:37 -04:00
PktLine.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
Queue.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Quote.hs rename Git.Filename to Git.Quote 2023-04-12 17:22:03 -04:00
Ref.hs remove errant print debug 2021-10-03 18:18:04 -04:00
RefLog.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Remote.hs sync: Fix parsing of gcrypt::rsync:// urls that use a relative path 2023-03-23 15:20:00 -04:00
Repair.hs repair: Fix handling of git ref names on Windows 2023-05-30 16:09:13 -04:00
Sha.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
Ssh.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Status.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Tree.hs build git trees using ContentIdentifier to speed up import 2023-05-31 12:46:54 -04:00
Types.hs skip checkRepoConfigInaccessible when git directory specified explicitly 2022-09-20 14:52:43 -04:00
UnionMerge.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
UpdateIndex.hs rawfilepath conversion 2023-02-27 15:06:32 -04:00
Url.hs avoid partial functions in Git.Url 2021-01-18 15:07:23 -04:00
Version.hs more RawFilePath conversion 2020-10-29 12:03:50 -04:00