rclone/fs
Saksham Khanna 4d8ef7bca7
cmd/dedupe: make largest directory primary to minimize data moved (#3648)
This change makes dedupe recursively count elements in same-named directories
and make the largest one primary. This allows to minimize the amount of data
moved (or at least the amount of API calls) when dedupe merges them.
It also adds a new fs.Object interface `ParentIDer` with function `ParentID` and
implements it for the drive and opendrive backends. This function returns
parent directory ID for objects on filesystems that allow same-named dirs.
We use it to correctly count sizes of same-named directories.

Fixes #2568

Co-authored-by: Ivan Andreev <ivandeex@gmail.com>
2021-03-11 20:40:29 +03:00
..
accounting config: move account initialisation out into accounting 2021-03-11 17:29:26 +00:00
asyncreader fs: deglobalise the config #4685 2020-11-26 16:40:12 +00:00
cache feat: add multiple paths support to --compare-dest and --copy-dest flag 2021-02-16 18:17:04 +00:00
chunkedreader Spelling fixes 2020-10-14 15:21:31 +01:00
config config: split up main file more and move tests into correct packages 2021-03-11 17:29:26 +00:00
dirtree build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
driveletter Break the fs package up into smaller parts. 2018-01-15 17:51:14 +00:00
filter filter: Make --exclude "dir/" equivalent to --exclude "dir/**" 2021-02-07 17:29:16 +00:00
fserrors vfs: support synchronous cache space recovery upon ENOSPC 2020-08-25 21:12:06 +01:00
fshttp fshttp: fix bandwidth limiting after bad merge 2021-02-13 12:45:12 +00:00
fspath fs: Fix parsing of .. when joining remotes - Fixes #4862 2020-12-18 13:06:39 +00:00
hash hash: add MultiHasher.Sum() to retrieve a single specific hash 2020-11-13 02:31:59 +01:00
list filter: deglobalise to put filter config into the context #4685 2020-11-27 17:28:42 +00:00
log fs/log: don't compile systemd log integration for non unix systems 2020-12-28 23:07:12 +00:00
march fs: support multi-threads to head dst object 2020-12-02 16:26:37 +00:00
object Remove backend dependency from fs/hash 2019-10-01 16:29:58 +01:00
operations cmd/dedupe: make largest directory primary to minimize data moved (#3648) 2021-03-11 20:40:29 +03:00
rc config: make config file system pluggable 2021-03-11 17:29:26 +00:00
sync feat: add multiple paths support to --compare-dest and --copy-dest flag 2021-02-16 18:17:04 +00:00
walk filter: deglobalise to put filter config into the context #4685 2020-11-27 17:28:42 +00:00
bwtimetable.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
bwtimetable_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
config.go dropbox,ftp,onedrive,yandex: make --timeout 0 work properly 2021-03-01 12:08:58 +00:00
config_list.go Make flags show up with their proper names, eg SizeSuffix rather than int 2019-02-07 11:57:26 +00:00
config_list_test.go fs: fix tests for *SepList 2018-08-21 10:58:59 +01:00
config_test.go fs: deglobalise the config #4685 2020-11-26 16:40:12 +00:00
cutoffmode.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
cutoffmode_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
deletemode.go Break the fs package up into smaller parts. 2018-01-15 17:51:14 +00:00
dir.go cmd/dedupe: make largest directory primary to minimize data moved (#3648) 2021-03-11 20:40:29 +03:00
direntries.go fs: Allow sync of a file and a directory with the same name 2019-06-09 15:57:05 +01:00
direntries_test.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
dump.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
dump_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
fingerprint.go fs: add Fingerprint to detect changes in an object 2020-06-30 12:01:36 +01:00
fingerprint_test.go test: Add context to mockfs.NewFs #3257 #4685 2020-11-09 18:05:54 +00:00
fs.go cmd/dedupe: make largest directory primary to minimize data moved (#3648) 2021-03-11 20:40:29 +03:00
fs_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
log.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
log_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
mimetype.go Add context propagation to rclone 2019-06-19 11:59:46 +01:00
options.go docs: spelling: e.g. 2020-10-28 18:16:23 +00:00
options_test.go fs: fix FixRangeOption so it doesn't add HTTPOptions in place of bad Ranges 2020-04-24 12:32:09 +01:00
parseduration.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
parseduration_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
sizesuffix.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
sizesuffix_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
version.go Start v1.55.0-DEV development 2021-02-02 16:30:58 +00:00
versioncheck.go build: raise minimum go version to go1.13 2021-02-03 17:41:06 +00:00