git-annex/Assistant
Joey Hess f617988a29
Make import --deduplicate and --skip-duplicates only hash once, not twice
import: --deduplicate and --skip-duplicates were implemented inneficiently;
they unncessarily hashed each file twice. They have been improved to only
hash once.

The new approach is to lock down (minimally) and hash files, and then
reuse that information when importing them.

This was rather tricky, especially in detecting changes to files while
they are being imported.

The output of import changed slightly. While before it silently skipped
over files with eg --skip-duplicates, now it shows each file as it starts
to act on it. Since every file is hashed first thing, it would otherwise
not be clear what file import is chewing on. (Actually, it wasn't clear
before when any of the duplicates switches were used.)

This commit was sponsored by Alexander Thompson on Patreon.
2017-02-09 15:32:22 -04:00
..
Alert remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Install avoid warnings about not exported System.Directory.isSymbolicLink 2016-04-28 15:18:11 -04:00
Pairing switch away from deprecated interface 2016-09-05 14:39:44 -04:00
Threads Make import --deduplicate and --skip-duplicates only hash once, not twice 2017-02-09 15:32:22 -04:00
Types remove xmpp support 2016-11-14 14:53:08 -04:00
WebApp annex.autocommit can be configured via git-annex config 2017-02-03 13:58:53 -04:00
Alert.hs fix tricky warning with ghc 8 2016-11-15 18:51:07 -04:00
BranchChange.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Changes.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Commits.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Common.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
CredPairCache.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
DaemonStatus.hs remove xmpp support 2016-11-14 14:53:08 -04:00
DeleteRemote.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
Drop.hs add VerifiedCopy data type 2015-10-08 16:55:11 -04:00
Fsck.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
Gpg.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
Install.hs make assistant not write wrappers when GIT_ANNEX_PACKAGE_INSTALL is set 2016-04-27 14:05:46 -04:00
MakeRemote.hs add SetupStage parameter to RemoteType.setup 2017-02-07 14:55:58 -04:00
Monad.hs remove xmpp support 2016-11-14 14:53:08 -04:00
NamedThread.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Pairing.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Pushes.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
RemoteControl.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Repair.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
RepoProblem.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Restart.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
ScanRemotes.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Ssh.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Sync.hs mocked up wormhole pairing interface in webapp 2016-12-24 16:55:36 -04:00
TransferQueue.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
TransferrerPool.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
TransferSlots.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
Unused.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Upgrade.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
WebApp.hs unified AuthToken type between webapp and tor 2016-11-22 14:18:34 -04:00