Nick Craig-Wood
70dc97231e
Convert more tests to use assert/require
2016-06-30 15:45:30 +01:00
Nick Craig-Wood
af4ef8ad8d
Implement --no-traverse flag to stop copy traversing the destination remote.
...
Refactor sync/copy/move
* Don't load the src listing unless doing a sync and --delete-before
* Don't load the dst listing if doing copy/move and --no-traverse is set
`rclone --no-traverse copy src dst` now won't load either of the
listings into memory so will use the minimum amount of memory.
This change will reduce the amount of memory rclone uses dramatically
too as in normal operations (copy without --notraverse or sync) as it
no longer loads the source file listing into memory at all.
Fixes #8
Fixes #544
Fixes #546
2016-06-29 17:38:50 +01:00
Nick Craig-Wood
13797a1fb8
Make retry logs be debug in main copy routine
2016-06-28 08:51:57 +01:00
Nick Craig-Wood
3ad8fb8634
Make DeleteFile and DeleteFiles return errors
2016-06-28 08:51:57 +01:00
Nick Craig-Wood
ab43005422
Make NewObject return an error
...
* make it return an error
* make a canonical error fs.ErrorNotFound
* make a test for it
* remove logs/debugs of error
2016-06-28 08:51:57 +01:00
Nick Craig-Wood
b1f131964e
Rename NewFsObject to NewObject
2016-06-28 08:51:57 +01:00
Nick Craig-Wood
1a87b69376
Get rid of LimitedFs - FIXME needs docs on copying single files
...
If remote:path points to a file make NewFs return a sentinel error
fs.ErrorIsFile and an Fs which points to the parent.
Use this to remove the LimitedFs and just add this file to the
--files-from list.
This means that server side operations can be used also.
Fixes #518
Fixes #545
2016-06-28 08:51:43 +01:00
Nick Craig-Wood
5a3b109e25
Fix issues identified by go vet -shadow - fixes #530
2016-06-21 21:17:52 +01:00
Klaus Post
e0aa4bb492
Fix incomplete local hashes.
...
Fixes #533
2016-06-19 16:51:49 +02:00
Nick Craig-Wood
bd0227450e
Version v1.30
2016-06-18 16:41:46 +01:00
Nick Craig-Wood
f438f1e9ef
Fix stats print
2016-06-18 16:41:46 +01:00
Nick Craig-Wood
d3dd672640
Document recursion requirements for Fses
2016-06-18 14:12:47 +01:00
Nick Craig-Wood
2a46be8cf3
b2: implement large file uploading - fixes #456
2016-06-18 13:38:05 +01:00
Nick Craig-Wood
1b4370bde1
Rework retry logic when copying objects
...
* Fix off by one retry logic - fixes #406
* Retry any retriable errors
* Restructure code
2016-06-18 10:55:58 +01:00
Nick Craig-Wood
2cfb3834f2
Log errors with %v
2016-06-18 09:36:47 +01:00
Nick Craig-Wood
46135d830e
Add --ignore-size flag - fixes #399
2016-06-17 17:20:08 +01:00
Nick Craig-Wood
df1092ef33
Change Fs.Put so that it must cope with existing files
...
This should fix duplicate files on drive and 409 errors on
amazonclouddrive however it will slow down the upload slightly as
another roundtrip will be needed.
None of the other Fses needed adjusting.
Fixes #483
2016-06-13 19:29:10 +01:00
Nick Craig-Wood
4c5b2833b3
Convert to using github.com/pkg/errors everywhere
2016-06-13 17:43:03 +01:00
Nick Craig-Wood
7fe653c350
Unwrap errors properly for patform specific connection retry code.
...
Include more possible errors for Windows.
For #442
2016-06-10 13:48:41 +01:00
Nick Craig-Wood
f17cb1bf50
Fix retry of Windows wsaend errors #442
...
Make the test for wsaend error less specific
2016-06-09 15:34:13 +01:00
Nick Craig-Wood
67d0375b98
Audit use of log.Print and change to Debug, Log, or ErrorLog as appropriate
2016-06-06 21:23:54 +01:00
Nick Craig-Wood
108760e17b
Log -v output to stdout by default - fixes #228
2016-06-04 18:49:27 +01:00
Nick Craig-Wood
e2788aa729
Display the transfer stats in more human readable form - fixes #428
2016-06-03 22:49:50 +01:00
Nick Craig-Wood
772f99fd74
Make SizeSuffix output without b
suffix for more useful printouts
2016-06-03 22:49:14 +01:00
Nick Craig-Wood
a21cc161de
Make 0 size files specifiable with --max-size 0b
- fixes #450
2016-06-03 21:54:27 +01:00
Nick Craig-Wood
e818b7c206
Represent -1 as "off" for SIZE values
2016-06-03 21:51:39 +01:00
Nick Craig-Wood
5723d788a4
Add b
suffix so we can specify bytes in --bwlimit, --min-size etc
...
Fixes #449
2016-06-03 21:16:48 +01:00
Nick Craig-Wood
1d6698a754
Build tweaks - fixes #484
...
* disable CGO for static builds everywhere
* override Version in release build script
* don't output symbol table in release binaries
2016-06-03 20:34:19 +01:00
Nick Craig-Wood
ccdd1ea6c4
Add --max-depth parameter
...
This will apply to ls/lsd/sync/copy etc
Fixes #412
Fixes #213
2016-06-03 17:05:39 +01:00
Nick Craig-Wood
ad85f6e413
Implement directory include filtering for efficiency
...
Fixes #395
2016-05-16 17:14:04 +01:00
Nick Craig-Wood
ac9c20b048
Make IsRetryError function
2016-05-14 17:11:19 +01:00
Nick Craig-Wood
2db35f0ce7
Dump out unexpected state in integration test
2016-05-07 21:19:26 +01:00
Nick Craig-Wood
dbfa7031d2
Factor Lister into own file, write tests and fix
2016-05-07 17:17:43 +01:00
Nick Craig-Wood
c2d0e86431
Add more tests for List() and fix resulting problems
2016-05-07 14:50:35 +01:00
Nick Craig-Wood
68ec6a9f5b
Add a directory parameter to Fs.List()
2016-05-06 16:52:34 +01:00
Nick Craig-Wood
753b0717be
Refactor the List and ListDir interface
...
Gives more accurate error propagation, control of depth of recursion
and short circuit recursion where possible.
Most of the the heavy lifting is done in the "fs" package, making file
system implementations a bit simpler.
This commit contains some code originally by Klaus Post.
Fixes #316
2016-05-06 16:52:34 +01:00
Nick Craig-Wood
1752ee3c8b
Retry errors which indicate the connection closed prematurely.
...
See discussion in #442
2016-04-29 17:29:34 +01:00
Nick Craig-Wood
5c2d8ffe33
Retry only the failing tests in the integration tests
2016-04-26 10:20:07 +01:00
Klaus Post
6c0c9abd57
Use "password:" instead of "password>" prompt
...
Fixes #410
2016-04-21 19:39:46 +01:00
Nick Craig-Wood
157d7d45f5
Version v1.29
2016-04-18 18:30:29 +01:00
Nick Craig-Wood
b5cba73cc3
Make test more reliable
2016-04-18 17:48:52 +01:00
Nick Craig-Wood
0f8e7c3843
Make rclone check obey the --size-only flag - fixes #419
2016-04-07 15:01:45 +01:00
Nick Craig-Wood
b835330714
Use "application/octet-stream" if mime.TypeByExtension returns invalid type
...
Fixes #424
2016-04-07 14:32:01 +01:00
Klaus Post
8f4d6973fb
Fix missing "quit" option when there are no remotes.
2016-03-23 16:57:56 +00:00
Nick Craig-Wood
ced3a4bc19
Implement -I, --ignore-times for unconditional upload - fixes #311
2016-03-22 17:02:27 +00:00
Nick Craig-Wood
cb22583212
b2: Enable mod time syncing - fixes #348
2016-03-22 15:56:44 +00:00
Nick Craig-Wood
414b35ea56
Change the interface of SetModTime to return an error - #348
2016-03-22 15:56:44 +00:00
Nick Craig-Wood
8ef551bf9c
Make dedupe remove identical copies without asking and add non interactive mode - fixes #338
...
* Now removes identical copies without asking
* Now obeys `--dry-run`
* Implement `--dedupe-mode` for non interactive running
* `--dedupe-mode interactive` - interactive the default.
* `--dedupe-mode skip` - removes identical files then skips anything left.
* `--dedupe-mode first` - removes identical files then keeps the first one.
* `--dedupe-mode newest` - removes identical files then keeps the newest one.
* `--dedupe-mode oldest` - removes identical files then keeps the oldest one.
* `--dedupe-mode rename` - removes identical files then renames the rest to be different.
* Add tests which will only run on Google Drive.
2016-03-06 18:15:01 +00:00
Nick Craig-Wood
874a64e5f6
A script to make a directory heirarchy for testing
2016-03-05 20:26:15 +00:00
Nick Craig-Wood
3c7f80f58f
Version v1.28
2016-03-01 09:00:01 +00:00
Nick Craig-Wood
229ea3f86c
Stop --update tests running on remotes which don't do mod time
2016-03-01 07:26:33 +00:00
Nick Craig-Wood
41eb386063
Reset password/config path in config tests to fix other tests
2016-02-29 21:43:37 +00:00
Nick Craig-Wood
dfc7cd97a3
Optionally disable gzip compression on downloads with --no-gzip-encoding
- fixes #353
2016-02-29 19:48:54 +00:00
Nick Craig-Wood
280ac26464
Implement -u/--update so creation times can be used on all remotes - #226
2016-02-29 17:46:40 +00:00
Nick Craig-Wood
88cca8a6eb
Simplify literals (after running gofmt -s over the code)
2016-02-29 16:57:23 +00:00
Nick Craig-Wood
3343c1afa4
Don't make directories if --dry-run set - fixes #342
2016-02-28 19:56:50 +00:00
Nick Craig-Wood
867a26fe4f
Implement --low-level-retries flag - fixes #266
2016-02-25 22:58:21 +00:00
Nick Craig-Wood
3890105cdc
Add -run-only flag to run_all test
2016-02-25 22:05:57 +00:00
Nick Craig-Wood
d2219a800a
Fix and document the move command - fixes #334
...
* Don't attempt to use server side Move unless they are on the same Fs
* Fix move in the presense of filters
2016-02-25 20:05:34 +00:00
Nick Craig-Wood
ccb59480bd
Add InActive method to Filter to detect when no fiters are in use.
2016-02-25 19:58:00 +00:00
Nick Craig-Wood
95e4d837ef
Make config chooser easier to understand
2016-02-21 13:40:16 +00:00
Nick Craig-Wood
e08e35984c
Add help to remote chooser in rclone config - fixes #43
2016-02-21 13:40:16 +00:00
Nick Craig-Wood
700e47d6e2
Stub out ReadPassword on plan9 and solaris to fix compilation
2016-02-21 10:31:53 +00:00
klauspost
ef06371c93
Create separate interface for object information.
...
Take out read-only information about a Fs in a separate struct to limit access.
See discussion at #282 .
2016-02-19 13:31:09 +00:00
klauspost
84b00b362f
Change back to original goconfig package.
...
Add documentation for `--ask-password`.
2016-02-17 11:45:05 +01:00
klauspost
bfd7601cf9
Add configuration file encryption
...
See #317 for details.
Use `rclone config` to add/change/remove password.
Tests that loads the default configuration will now fail with a better error message, and add a switch that makes it possible to disable password prompts and fail instead.
Make it possible to use the "RCLONE_CONFIG_PASS" environment variable as password for configuration.
2016-02-16 16:32:05 +01:00
Nick Craig-Wood
a6320bbad3
Fix delete command to wait until all finished - fixes missing deletes.
...
This also could affect deletes at the end of the sync command.
2016-02-15 16:43:59 +00:00
Nick Craig-Wood
85d99de26b
Fix typo in error strings
2016-02-09 16:15:50 +00:00
Nick Craig-Wood
e62c0a58a7
Version 1.27
2016-01-31 17:50:13 +00:00
Nick Craig-Wood
0f73129ab7
dedupe command to deduplicate a remote. Useful with google drive - fixes #41
2016-01-31 16:09:42 +00:00
Nick Craig-Wood
1373efaa39
Delete command which does obey the filters - fixes #327
2016-01-31 16:06:04 +00:00
Nick Craig-Wood
5c37b777fc
Make the --dry-run warnings into logs so they appear without the -v flag
2016-01-31 16:06:04 +00:00
Nick Craig-Wood
8c211fc8df
Warn the user about files with same name but different case
...
Relates to #107 & #119 .
2016-01-26 16:57:09 +00:00
Nick Craig-Wood
74a71f7824
Add tests for --delete-before, --delete-during and --delete-after
2016-01-26 16:57:09 +00:00
Nick Craig-Wood
12b51c5eb8
Remove duplicate check for filter IncludeObject
2016-01-26 16:57:09 +00:00
klauspost
14069fd8e6
Implement --delete-before, --delete-during, --delete-after - fixes #252 .
2016-01-26 16:57:09 +00:00
Nick Craig-Wood
cd62f41606
Reduce number of logs and show hash type where appropriate
2016-01-24 18:06:57 +00:00
Nick Craig-Wood
109d4ee490
Prefix all test remotes with rclone-test-
and make names more pronouncable
2016-01-24 12:37:46 +00:00
Nick Craig-Wood
18ebec8276
Check remote is empty between integration tests
2016-01-24 12:37:19 +00:00
Nick Craig-Wood
eda4130703
Fix integration tests so they can be run independently and out of order - fixes #291
...
* Make all integration tests start with an empty remote
* Add an -individual flag so this can be a different bucket/container/directory
* Fix up tests after changing the hashers
* Add sha1sum test
* Make directory checking in tests sleep more to fix acd inconsistencies
* Factor integration tests to make more maintainable
* Ensure remote writes have a fstest.CheckItems() before use
* this fixes eventual consistency on the directory listings later
* Call fs.Stats.ResetCounters() before every fs.Sync()
Note that the tests shouldn't be run concurrently as fs.Config is global state.
2016-01-23 17:02:09 +00:00
Nick Craig-Wood
27f67edb1a
Fix formatting problem in sha1sum
2016-01-17 13:56:42 +00:00
Nick Craig-Wood
3ffea738e6
Make hash constants start from 1 not 2
2016-01-17 10:47:24 +00:00
Nick Craig-Wood
e8daab7971
Fix integration tests for remotes with unsupported hash schemes
2016-01-16 09:45:15 +00:00
klauspost
78c3a5ccfa
Add support for multiple hash types.
...
Add support for multiple hash types with negotiation of common hash types for comparison.
Manually rebased version of #277 (see discussion there)
2016-01-11 13:39:33 +01:00
Nick Craig-Wood
af5f4ee724
Make --include rules add their implict exclude * at the end of the filter list
...
This means you can mix `--include` and `--include-from` with the
other filters (eg `--exclude`) but you must include all the files you
want in the include statement.
Fixes #280
2016-01-10 11:42:53 +00:00
klauspost
25f22ec561
Add "--ignore-existing" flag.
...
Add option to completely ignore existing files and not consider them for transfer.
Fixes #274
2016-01-08 08:20:04 +00:00
Nick Craig-Wood
5189231a34
Tweaks to rclone authorize
...
* Document the headless / remote setup procedure
* Move Config constants into fs
* Parse arguments in main for Authorize
2016-01-07 20:31:23 +00:00
klauspost
bcbd30bb8a
Add easier headless configuration.
...
This will allow setting up a remote with copy&paste of values to a headless machine. It will allow copy+pasting a token into the configuration.
This requires rclone to be on a machine with a proper browser. Custom client id and secrets are supported.
To test token generation, use `rclone auth "fs type"`.
2016-01-07 20:31:23 +00:00
Nick Craig-Wood
1ce3673006
Add -clean flag to test_all.go to clean left over test directories
2016-01-03 21:49:26 +00:00
Nick Craig-Wood
3423de65fa
Make canonical place for all fs in fs/all/all.go
2016-01-03 14:12:45 +00:00
Nick Craig-Wood
77fb8ac240
Version 1.26
2016-01-02 12:04:32 +00:00
dibu28
3ac4407b88
Implement Yandex storage backend - fixes #234
2015-12-30 12:11:46 +00:00
Nick Craig-Wood
8ea0d5212f
Add -verbose flag to test_all and fix tries count
2015-12-30 11:34:22 +00:00
Nick Craig-Wood
33b3eea6ec
Implement Backblaze B2 - fixes #224
2015-12-30 10:05:07 +00:00
Nick Craig-Wood
113624691a
Add -dump-headers and -dump-bodies flags for operations test debugging
2015-12-30 09:35:35 +00:00
Nick Craig-Wood
ddf39f2d57
Replace test_all.sh with test_all.go which is cross platform and parallel
2015-12-30 09:26:34 +00:00
Nick Craig-Wood
e69e181090
Fix --min-age and --max-age when only one is present
2015-12-17 14:22:43 +00:00
Nick Craig-Wood
ac65d8369e
Make fs.CheckClose public to stop duplication
2015-12-17 13:30:58 +00:00
Nick Craig-Wood
8057d668bb
Fix crash in http logging - fixes #223
...
A nil-pointer exception was caused if the http transaction ever
resulted in a go error while using `--dump-bodies`. Now don't ignore
the error and log it instead of the http body.
2015-12-17 13:30:58 +00:00
Nick Craig-Wood
36f1bc4a8a
Make ls/lsl/md5sum/size/check obey includes and excludes - fixes #169
...
* run check directory listings concurrently
2015-12-17 13:30:58 +00:00