Nick Craig-Wood
d033e92234
Stop single file and --files-from
operations iterating through the source bucket.
...
This works by making sure directory listings that use a filter only
iterate the files provided in the filter (if any).
Single file copies now don't iterate the source or destination
buckets.
Note that this could potentially slow down very long `--files-from`
lists - this is easy to fix (with another flag probably) if it causes
anyone a problem.
Fixes #610
Fixes #769
2016-10-07 11:39:39 +01:00
Nick Craig-Wood
e94850f322
Fix timeouts not working when set to 0 and firing too often - #766
2016-10-06 10:23:23 +01:00
Nick Craig-Wood
aef2ac5c04
Add options for Open and implement Range for all remotes
2016-10-05 21:03:56 +01:00
Nick Craig-Wood
9ea20bac42
Fix accidentally committed test in move code
2016-10-03 20:16:41 +01:00
Nick Craig-Wood
945f49ab5e
Make ContentType be preserved for cloud -> cloud copies - fixes #733
2016-10-03 20:02:04 +01:00
Nick Craig-Wood
6c9a258d82
Fix move command
...
* Delete src files which already existed in dst - fixes #751
* Fix deletion of src file when dst file older
2016-10-03 19:58:44 +01:00
Nick Craig-Wood
f2eeb4301c
Make --dump-bodies imply --dump-headers
2016-09-22 08:40:37 +01:00
Nick Craig-Wood
0caac70994
Fix build for < go1.7
2016-09-13 11:36:14 +01:00
Nick Craig-Wood
83ba59749f
Make failed uploads not count as "Transferred" - fixes #708
2016-09-12 18:15:58 +01:00
Nick Craig-Wood
bbf819e2d1
Move versioncheck so it happens earlier in the compile process.
2016-09-12 17:50:19 +01:00
Nick Craig-Wood
0cb9bb3b54
Redo http Transport code
...
* Insert User-Agent in Transport - fixes #199
* Update timeouts to use Context
* Modernise transport
2016-09-12 17:50:19 +01:00
Nick Craig-Wood
2eaac80c86
b2 with crypt: fix crash when uploading large files - fixes #673
2016-09-05 18:10:01 +01:00
Nick Craig-Wood
3996bbb8cb
Version v1.33
2016-08-24 23:02:05 +01:00
Nick Craig-Wood
059743a1b0
crypt: add to integration tests
2016-08-23 17:45:37 +01:00
Nick Craig-Wood
a54806e5c1
Fix Move when underlying remote returns ErrorCantMove
2016-08-23 17:45:37 +01:00
Nick Craig-Wood
226c2a0d83
Implement crypt for encrypted remotes - #219
2016-08-23 17:45:37 +01:00
Nick Craig-Wood
9985fc40f4
Make Password parameters obey Optional flag and offer to generate random ones
2016-08-23 17:45:37 +01:00
Nick Craig-Wood
b1de4c8cba
Implement password Option and re-implement editing
...
Editing now shows all the options for the fs and asks one at a time
whether they should be changed.
2016-08-23 17:45:37 +01:00
Nick Craig-Wood
6a4e424630
Re-implement Obscure/Reveal so they use AES-CTR encryption
2016-08-23 17:45:37 +01:00
Nick Craig-Wood
ebb67c135e
Fix listToChan passing nil objects to DeleteFile
2016-08-23 17:45:37 +01:00
Nick Craig-Wood
037a000cc8
b2: fix stats accounting for upload - fixes #602
2016-08-22 21:19:38 +01:00
Nick Craig-Wood
84eb7031bb
Implement the rclone cat command
2016-08-18 22:45:32 +01:00
Nick Craig-Wood
d7b79b4481
Mark the compiled from source version with -DEV - fixes #627
2016-08-18 21:31:10 +01:00
Nick Craig-Wood
b5faaf7116
Fix double close of abort channel - fixes #592
2016-08-18 18:56:57 +01:00
Nick Craig-Wood
0805ec051f
Add BasicInfo interface shared between Dir and Object
2016-08-05 17:45:27 +01:00
Nick Craig-Wood
ae56df7d4f
Add --dedupe-mode only to dedupe command
2016-08-04 21:47:14 +01:00
Nick Craig-Wood
67562081f7
Version v1.32
2016-07-13 17:32:39 +01:00
Nick Craig-Wood
63f6827a0d
Version v1.31
2016-07-13 12:28:01 +01:00
Nick Craig-Wood
ac3c83f966
Fix integration tests for drive
2016-07-12 21:38:15 +01:00
Nick Craig-Wood
b9c8e61d39
Explicitly check the state in tests after writing files
...
...otherwise Amazon Drive will fail.
2016-07-12 21:36:39 +01:00
Nick Craig-Wood
a6056408dd
Fix move command - stop it running for overlapping fses - fixes #577
...
* Make move command check for overlapping remotes and refuse to run
* Do copy/delete rather than all the copies then all the deletes
* Doesn't purge the source - this was unexpected behaviour see #512 and #416
* Add -list-retries flag to test suite to control retries
This changes the semantics of `move` slightly. However it now errs on
the side of not deleting stuff.
2016-07-12 10:49:37 +01:00
Nick Craig-Wood
b9479cf7ab
Implement --no-update-modtime flag - fixes #511
2016-07-12 10:46:45 +01:00
Nick Craig-Wood
a20d80565b
Tidy stats output - fixes #541
2016-07-11 13:04:30 +01:00
Nick Craig-Wood
4bd9932703
Fix wording in verbose copy logs - fixes #574
2016-07-09 10:11:57 +01:00
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
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
Adriano Aurélio Meirelles
3cbd57d9ad
Add support to filter files based on their age
2015-12-17 09:52:38 -02:00
Nick Craig-Wood
7f0020a407
Version v1.25
2015-11-14 13:06:39 +00:00
Nick Craig-Wood
fcea3777c0
Implement Hubic storage system - fixes #200
2015-11-14 08:08:52 +00:00
Nick Craig-Wood
bed01a303f
Add UnWrapper interface and implement in LimitedFs
2015-11-14 08:08:51 +00:00
Nick Craig-Wood
2c2cb84ca7
Make it so optional interface Purge can fail so it can be wrapped
2015-11-14 08:08:51 +00:00
Nick Craig-Wood
e9dda25c60
Implement Move in limited fs
2015-11-14 08:08:51 +00:00
Nick Craig-Wood
80ffbade22
Fix deletion of some excluded files without --delete-excluded #205
...
This only happened if the destination file was present but the source
file was missing.
2015-11-12 11:46:04 +00:00
Nick Craig-Wood
4276abc58b
Version v1.24
2015-11-07 16:23:12 +00:00
Nick Craig-Wood
d42cb11b84
Fix tests to run all tests again and add onedrive
2015-11-07 11:21:15 +00:00
Nick Craig-Wood
365b4babae
Make filter test files pass errcheck
2015-11-07 10:27:47 +00:00
Nick Craig-Wood
2fcb8f5db7
Add support for Microsoft One Drive - fixes #10
...
* Still to do
* Copy
* Move
* MoveDir
2015-11-07 10:19:10 +00:00
Nick Craig-Wood
ff16e0f6df
Factor common error handling into fs module
2015-11-06 15:26:58 +00:00
Nick Craig-Wood
ed72c678f8
Protect accounting from being closed twice
2015-11-06 15:26:58 +00:00
klauspost
b85ddc4e4f
Extend CI tests to include formatting checks.
...
CI tests now tests 'go vet', 'go fmt' (via goimports) and golint.
Adds Travis experimental OSX support.
2015-11-03 13:50:29 +01:00
klauspost
b872ff0237
Add option to disable server certificate verification.
...
The option name mirrors the 'wget' option (also `--no-check-certificate`). The cURL equivalent is called `--insecure`, which is a bit unclear.
Put in the "developers" section in documentation with proper warnings.
Fixes #168
2015-10-29 16:42:25 +01:00
Nick Craig-Wood
1b95718460
Fix typos in filter docs and unit test assertions
2015-10-20 09:16:47 +01:00
Nick Craig-Wood
4e952af614
Allow spaces in remotes and check remote names for validity at creation time - fixes #171
2015-10-12 17:54:09 +01:00
Klaus Post
6344c3051c
Add async readahead buffer
...
This adds an async read buffer of 4x4MB when copying files >10MB.
This fixes #164 and reduces the number of IO operations for copy/move.
2015-10-12 08:30:27 +01:00
Nick Craig-Wood
3a900e5bb7
Version v1.23
2015-10-03 16:24:07 +01:00
Nick Craig-Wood
b4d7741611
Improve output of --dump-headers
2015-10-03 16:04:51 +01:00
Nick Craig-Wood
177dbbc29a
Implement rclone size for measuring remotes - fixes #153
2015-10-03 16:04:21 +01:00
Nick Craig-Wood
57aad81b68
Version v1.22
2015-09-28 19:38:20 +01:00
Nick Craig-Wood
a91bcaaeb0
Implement rsync like include and exclude - fixes #27
...
* Implement include/exclude
* Implement rsync compatible file globbing
* Implement command line filtering flags
* --delete-excluded - Delete files on dest excluded from sync
* --filter - Add a file-filtering rule
* --filter-from - Read filtering patterns from a file
* --exclude - Exclude files matching pattern
* --exclude-from - Read exclude patterns from file
* --include - Include files matching pattern
* --include-from - Read include patterns from file
* --files-from - Read list of source-file nam
* --min-size - Don't transfer any file smaller than this in k or suffix k|M|G
* --max-size - Don't transfer any file larger than this in k or suffix k|M|G
* Document
2015-09-28 19:18:21 +01:00
Nick Craig-Wood
5d4b149884
Version v1.21
2015-09-22 21:05:11 +01:00
Nick Craig-Wood
5f20ae707d
Make lsl output times in localtime and fix tests - fixes #141
2015-09-22 19:04:12 +01:00
Nick Craig-Wood
e9c915e6fe
Fix golint warnings
2015-09-22 18:47:16 +01:00
Nick Craig-Wood
2ed158aba3
Fixes from go vet and errcheck
2015-09-22 07:31:12 +01:00
Nick Craig-Wood
e391311512
gofmt
2015-09-17 18:42:39 +01:00
klauspost
788ef76f1c
Show more of the filename and align output.
...
Print more of the file name, and make the output aligned, so it is nicer on frequent updates.
2015-09-17 15:53:45 +02:00
klauspost
0a5870208e
Display individual transfer progress
...
Improve progress printing by displaying individual file progress, as well
as a moving average speed with ETA. Example output:
2015/09/15 16:38:21
Transferred: 183599104 Bytes (4646.49 kByte/s)
Errors: 0
Checks: 1
Transferred: 0
Elapsed time: 38.5s
Transferring:
* 01_06_14.mp3: 33% done. avg: 1280.5, cur: 1288.8 kByte/s. ETA: 1m12s
* 01_12_15.mp3: 33% done. avg: 1002.2, cur: 943.4 kByte/s. ETA: 1m17s
* 01_13_14.mp3: 48% done. avg: 1456.8, cur: 1425.2 kByte/s. ETA: 39s
* 01_19_15.mp3: 28% done. avg: 1226.9, cur: 1114.4 kByte/s. ETA: 1m37s
2015-09-16 19:42:46 +01:00
Nick Craig-Wood
34193fd8d9
Version v1.20
2015-09-15 07:42:31 +01:00
Nick Craig-Wood
a288c2b3a3
Make a retry error wrapper for a plain error
2015-09-09 23:22:41 +01:00
Nick Craig-Wood
fec16b0ac8
acd: Skip test on FS which don't support ModifiedTime
2015-09-09 23:21:50 +01:00
Nick Craig-Wood
dd8717797e
Implement --dump-headers and --dump-bodies debug flags
2015-09-08 21:02:48 +01:00
Nick Craig-Wood
8c3df224ef
Implement Amazon Cloud Drive - fixes #45
...
* Optional interfaces Copier, Mover, DirMover not done
2015-09-08 21:02:48 +01:00
Nick Craig-Wood
c98a51b26c
Lightly obscure secrets
2015-09-01 22:33:34 +01:00
Nick Craig-Wood
8d33ce0154
Check for source and dest being the same in sync/copy/move
2015-09-01 21:49:13 +01:00
Nick Craig-Wood
92745aa950
Add Root() to Fs interface
2015-09-01 21:49:13 +01:00
Nick Craig-Wood
0168f55f3e
Switch to spf13 fork of pflag - fixes #116
...
This supports --long value as well as --long=value which is as
expected for a unix utility.
2015-08-29 18:14:24 +01:00
Nick Craig-Wood
9ed2de3d6e
Version v1.19
2015-08-28 09:47:13 +01:00
Nick Craig-Wood
59ba8f28c8
Implement move command - fixes #35
...
* Define Mover interface to move a single object
* Define DirMover interface to move a directory
* Implement DirMove operation
* Add `rclone move` command
* Tests for Dir Move
To Do
* Implement Move, DirMover in local, drive, dropbox
* unit test for Mover
* unit test for DirMover
2015-08-28 08:49:16 +01:00
Nick Craig-Wood
5c226e91c0
Ignore rmdir in limited fs rather than throwing error - fixes #112
2015-08-25 19:16:25 +01:00
Nick Craig-Wood
a96b522958
Implement server side copies if possible - fixes #99
...
Add optional fs.Copier interface
Implemented for
* swift
* s3
* drive
* dropbox
* google cloud storage
2015-08-23 21:18:38 +01:00
Nick Craig-Wood
fedf81c2b7
Add Name() to Fs interface to return name as passed to NewFs
2015-08-23 13:36:38 +01:00
Nick Craig-Wood
0c6f816a49
Implement --retries flag - fixes #109
2015-08-20 21:07:00 +01:00
Nick Craig-Wood
dfe771fb0c
Correct log messages for remotes which don't support modtime/md5sum
2015-08-20 20:48:58 +01:00
Nick Craig-Wood
2fcc18779b
Version v1.18
2015-08-17 17:59:37 +01:00
Nick Craig-Wood
1d9e76bb0f
dropbox: remove datastore - Fixes #55 #84
...
This means that dropbox no longer stores MD5SUMs and modified times.
Fixup the tests so that blank MD5SUMs are ignored, and that if
Precision is set to a fs.ModTimeNotSupported, ModTimes can be ignored too.
This opens the door for other FSs which don't support metadata easily.
2015-08-17 17:26:36 +01:00
Nick Craig-Wood
771e60bd07
Show errors when reading the config file
2015-08-15 17:15:02 +01:00
Leonid Shalupov
3fcff32524
do not print stats in quiet mode - fixes #70
...
...unless had some errors or stats interval requested.
Add fs.ErrorLog to differentiate between Logs which should be
suppressed and errors which shouldn't.
2015-08-10 11:17:54 +01:00
Nick Craig-Wood
9d9a17547a
Version v1.17
2015-06-14 15:36:16 +01:00
Leonid Shalupov
bd5f685d0a
fix TestLsLong on non-UTC timezones
2015-06-14 15:23:56 +01:00
Nick Craig-Wood
539ad44757
Version v1.16
2015-06-09 18:00:33 +01:00
Nick Craig-Wood
74994a2ec1
Fix uploading big files which was causing timeouts or panics
...
The symtom was one of these two on upload of files only
* panic: d.nx != 0 in crypto/md5.(*digest).checkSum
* read tcp: i/o timeout
It turned out to be a combination of two upstream bugs
* 5a2187309e
* https://groups.google.com/forum/#!topic/golang-dev/0Nl6k5Sj6UU
This commit contains a work-around for the second problem, I've fixed
the first and had the change accepted upstream.
2015-06-09 17:32:45 +01:00
Nick Craig-Wood
97dced6a0b
Don't check md5sum after download with --size-only - fixes #75
2015-06-09 13:18:40 +01:00
Nick Craig-Wood
e04acb09ce
Version v1.15
2015-06-06 15:45:00 +01:00
Nick Craig-Wood
90744301d3
Fix package docs so they appear in godoc correctly
2015-06-06 14:24:30 +01:00
Nick Craig-Wood
e22b445cff
Implement --size-only flag to sync on size not checksum & modtime - fixes #75
2015-06-06 08:49:01 +01:00
Alex Couper
7af1282375
Add --checksum flag to only discard transfers by MD5SUM - fixes #61
...
Useful for copying between backends where checksum fetching is fast,
ie any of s3, swift, drive or googlecloudstorage.
2015-06-05 19:46:03 +01:00
Nick Craig-Wood
d9fcc32f70
Version v1.14
2015-05-21 20:13:40 +01:00
Nick Craig-Wood
88293a4b8a
Version v1.13
2015-05-10 12:39:06 +01:00
Nick Craig-Wood
1d254a3674
Implement --timeout and --conntimeout - fixes #54
...
NB dropbox still to do
2015-05-10 11:29:55 +01:00
Nick Craig-Wood
ba2091725e
Version v1.12
2015-03-15 15:55:38 +00:00
Nick Craig-Wood
5cc5429f99
drive: switch to insert from update when a failed copy deletes the upload
2015-03-15 15:27:55 +00:00
Nick Craig-Wood
09d71239b6
Make file size render more neatly and prevent from being < 0
2015-03-15 15:27:55 +00:00
Nick Craig-Wood
c643e4585e
core: Log duplicate files if they are detected
2015-03-15 15:27:55 +00:00
Nick Craig-Wood
873db29391
Log all objects more informatively
2015-03-15 15:27:55 +00:00
Nick Craig-Wood
ecb3c7bcef
drive, googlecloudstorage: remove SeekWrapper after googleapi fix
2015-03-04 20:47:59 +00:00
Nick Craig-Wood
80000b904c
Version v1.11
2015-03-04 17:59:31 +00:00
Nick Craig-Wood
b4a0941d4c
In remote paths, change native directory separators to / - fixes #37
2015-03-02 17:04:34 +00:00
Nick Craig-Wood
46d39ebaf7
Factor Mime Type guessing into fs.MimeType()
2015-03-02 09:21:15 +00:00
Nick Craig-Wood
fe68737268
Fix niggles found by go vet
2015-02-28 15:35:54 +00:00
Nick Craig-Wood
2360bf907a
Add synchronization to list output to stop corruptions - fixes #29
2015-02-28 15:30:40 +00:00
Nick Craig-Wood
a287e3ced7
Implement --bwlimit to limit data transfer bandwidth
2015-02-27 15:03:47 +00:00
Nick Craig-Wood
cf208ad21b
Version v1.10
2015-02-12 18:00:20 +00:00
Nick Craig-Wood
8d1c0ad07c
Fix config loop - fixes #25
2015-02-10 16:48:04 +00:00
Nick Craig-Wood
165e89c266
Version v1.09
2015-02-07 22:44:23 +00:00
Nick Craig-Wood
b4e19cfd62
windows: make tests work properly
2015-02-07 22:32:51 +00:00
Nick Craig-Wood
20ad96f3cd
windows: Stop drive letters (eg C:) getting mixed up with remotes (eg drive:)
...
This was done by stopping the user configuring single letter remotes
and making sure we don't treat single letter remotes as a remote name,
but as a drive letter.
2015-02-07 22:32:51 +00:00
Nick Craig-Wood
5fb6f94579
drive: fix rate limit exceeded errors - fixes #20
...
This is done by pacing the requests to drive and backing them off
using an exponential increase. Put and Modify operations can now be
retried also.
2015-02-07 22:32:51 +00:00
Nick Craig-Wood
18a8a61cc5
Release v1.08
2015-02-04 22:31:56 +00:00
Nick Craig-Wood
cfdb48c864
Version v1.07
2014-12-23 11:26:32 +00:00
Nick Craig-Wood
14567952b3
google cloud storage: Fix memory leak - fixes #17
...
This was the same problem as issue #5 (which affected google drive)
2014-12-23 11:03:34 +00:00
Nick Craig-Wood
439a126af6
Version v1.06
2014-12-12 20:13:03 +00:00
Nick Craig-Wood
af9c447146
Fix "Couldn't find home directory" on OSX - fixes #15
2014-12-12 19:18:23 +00:00
Nick Craig-Wood
839133c5e1
Version v1.05
2014-08-09 17:22:17 +01:00
Nick Craig-Wood
18439cf2d7
Move rclonetest into go tests for fs module
2014-08-03 11:18:25 +01:00
Nick Craig-Wood
3e27ff1b95
Add Root List test and fs.Limited tests for single files
2014-07-31 21:35:29 +01:00
Nick Craig-Wood
ff91698fb5
Skip tests if test remote not configured
2014-07-31 08:51:39 +01:00
Nick Craig-Wood
2f9f9afac2
fs: Document that Purger returns error on empty directory, test and fix
2014-07-29 17:18:22 +01:00
Nick Craig-Wood
17ffb0855f
Fixes after running errcheck
2014-07-25 18:19:49 +01:00
Nick Craig-Wood
a5b0d88608
Make tests for each Fs
...
Factor tests out of rclonetest
2014-07-24 23:13:32 +01:00
Nick Craig-Wood
e09ef62d5b
core: Fix race detected by go race detector
2014-07-22 23:03:14 +01:00
Nick Craig-Wood
a75bc0703f
Version 1.04
2014-07-21 21:32:37 +01:00
Nick Craig-Wood
54cd46372a
Version 1.03
2014-07-20 11:28:50 +01:00
Nick Craig-Wood
9aa4b6bd9b
Version 1.02
2014-07-19 13:24:48 +01:00
Nick Craig-Wood
e559194fb2
fs: Verify sizes are the same after transfer in Copy()
2014-07-19 13:05:07 +01:00
Nick Craig-Wood
8a76568ea8
core: Verify MD5 sums after each transfer
2014-07-15 19:27:05 +01:00
Nick Craig-Wood
c1a245d1c8
Factor UserAgent to fs and move Version to fs
2014-07-13 19:19:58 +01:00
Nick Craig-Wood
eb2b4ea8aa
rclone: Don't purge if --dry-run set
2014-07-13 10:54:30 +01:00
Nick Craig-Wood
e055ed0489
rclone: change "ls" and add "lsl" and "md5sum" commands
...
Changed "ls" command not to show modification time by default only
size and path. That is because it is slow for nearly all the remotes
as it requires extra metadata lookup. All remotes can look up files
and sizes without extra operations.
Added "lsl" which does what "ls" used to - namely show modification
time, size and path.
Added "md5sum" which produces the same output as the md5sum command -
md5sums and paths that is.
2014-07-12 12:09:20 +01:00
Nick Craig-Wood
7ebf48ef42
Fix --dry-run not working and add tests for it - fixes #3
2014-06-26 15:33:06 +01:00
Nick Craig-Wood
1d67b014cb
Make compatible with go 1.1 - fixes #1
2014-06-26 15:18:48 +01:00
Nick Craig-Wood
99695d57ab
Implement single file operations for all file systems
2014-05-05 22:17:57 +01:00
Nick Craig-Wood
8fd59f2e7d
drive: Use o.Update and fs.Put to optimise transfers
2014-04-18 17:49:01 +01:00
Nick Craig-Wood
02afcb00e9
Factor Fs.Put into Object.Update and call Update rather than Put if possible
2014-04-18 17:49:01 +01:00
Nick Craig-Wood
d6a5bfe2d4
Get rid of fs.CopyFs and replace with fs.Sync in preparation for Object.Update
2014-04-18 17:48:46 +01:00
Nick Craig-Wood
92ec29fe3f
Factor the generic code into fs and add some more intefaces
2014-03-28 22:26:42 +00:00
Nick Craig-Wood
b0064e6405
Change remote format one last time
2014-03-27 17:31:57 +00:00
Nick Craig-Wood
3eda36f6da
Factor rclone main() in preparation for tests
2014-03-27 17:26:24 +00:00
Nick Craig-Wood
a628bef9c2
Use pflag for gnu style flags
2014-03-27 16:55:29 +00:00
Nick Craig-Wood
1b3a49929b
Add ability for FS to have a Config helper function run
2014-03-16 13:54:43 +00:00
Nick Craig-Wood
1ea9972be7
Set strict permissions on the config file
2014-03-16 13:53:51 +00:00
Nick Craig-Wood
7d786204b4
Add -config option to specify a config file
2014-03-15 17:01:13 +00:00
Nick Craig-Wood
b3f1a45bbf
Config fixes
...
* Fix empty config configuration
* Alter menus when no remotes
* Save config file after delete remote
2014-03-15 16:52:51 +00:00
Nick Craig-Wood
0a108832e2
Remove filesystem flags and put in config file with editor
2014-03-15 16:06:11 +00:00
Nick Craig-Wood
754c54b64f
Fix differences print out on check
2013-07-02 08:33:17 +01:00
Nick Craig-Wood
43be26d1f8
Make local filesystem go last
2013-06-29 12:15:55 +01:00
Nick Craig-Wood
b1f681b912
Rename fs.FsX to fs.X
2013-06-28 08:57:32 +01:00
Nick Craig-Wood
6085dc1b5a
Refactor into sub filesystems
2013-06-27 22:17:51 +01:00