git-annex/Assistant/Threads
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
..
Committer.hs Make import --deduplicate and --skip-duplicates only hash once, not twice 2017-02-09 15:32:22 -04:00
ConfigMonitor.hs improve data type 2016-01-01 15:56:24 -04:00
Cronner.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
DaemonStatus.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Glacier.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
Merger.hs clean up some imports 2016-12-27 16:29:29 -04:00
MountWatcher.hs remove xmpp support 2016-11-14 14:53:08 -04:00
NetWatcher.hs remove xmpp support 2016-11-14 14:53:08 -04:00
PairListener.hs switch away from deprecated recvFrom 2016-09-05 12:10:24 -04:00
ProblemFixer.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Pusher.hs remove xmpp support 2016-11-14 14:53:08 -04:00
RemoteControl.hs remotedaemon: Fork to background by default. Added --foreground switch to enable old behavior. 2016-11-20 14:50:36 -04:00
SanityChecker.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
TransferPoller.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
Transferrer.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
TransferScanner.hs remove xmpp support 2016-11-14 14:53:08 -04:00
TransferWatcher.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
Upgrader.hs use more general module 2016-04-21 14:32:42 -04:00
UpgradeWatcher.hs make programPath return FilePath not Maybe FilePath 2015-02-28 16:59:52 -04:00
Watcher.hs annex.autocommit can be configured via git-annex config 2017-02-03 13:58:53 -04:00
WebApp.hs webapp: full wormhole pairing UI (untested) 2016-12-27 16:41:35 -04:00