Nick Craig-Wood
13591c7c00
Redo error handling for sync/copy/move
...
* Factor sync/copy/move into its own file
* Make fatal errors abort the sync
* Make Copy return errors
* Make Sync/Copy/Move return the last Copy error if there was one
* Prioritise returning Fatal errors
* NoRetry errors are returned if no other types of errors
2016-07-04 13:45:53 +01:00
Nick Craig-Wood
28f4061892
Add two more classes of error Fatal and NoRetry
...
These are for remotes to signal that they have a fatal error and don't
want to continue (eg cap exceeded) or that a particular file shouldn't
be retried for some reason.
2016-07-04 13:45:52 +01:00
Nick Craig-Wood
0a43ff9c13
Modify interface for accounting to take a string not an fs.Object
2016-07-02 16:58:50 +01:00
Nick Craig-Wood
9aae143833
Implement cleanup command for emptying trash / removing old versions of files
2016-07-01 16:35:36 +01:00
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