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
2cfb3834f2
Log errors with %v
2016-06-18 09:36:47 +01:00
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
4c5b2833b3
Convert to using github.com/pkg/errors everywhere
2016-06-13 17:43:03 +01:00
661715733a
Make sure we don't use conflicting content types on upload - fixes #513
2016-06-09 17:52:58 +01:00
0a922ad1dc
acd: Reauth on 401 errors
...
Fixes #493
Fixes #501
2016-05-28 16:49:26 +01:00
c2d0e86431
Add more tests for List() and fix resulting problems
2016-05-07 14:50:35 +01:00
68ec6a9f5b
Add a directory parameter to Fs.List()
2016-05-06 16:52:34 +01:00
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
3a1198cac5
gcs: Don't configure the oauth token if service_account_file is supplied
2016-04-22 20:07:10 +01:00
022ab4516d
Add service account support for GCS
2016-04-22 19:53:27 +01:00
414b35ea56
Change the interface of SetModTime to return an error - #348
2016-03-22 15:56:44 +00:00
7d4e143dee
Make it obvious that the client secrets are encrypted
2016-02-28 19:57:19 +00:00
e08e35984c
Add help to remote chooser in rclone config - fixes #43
2016-02-21 13:40:16 +00:00
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
ccba859812
Test all available hashes for each remote
2016-01-23 09:10:36 +00:00
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
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
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
a795d93bc3
swift, s3, googlecloudstorage: Don't delete the container/bucket if fs wasn't at root - fixes #172
2015-11-07 15:32:40 +00:00
b257de4aba
Be more constistent with naming in remotes
...
* External objects are called Fs and Object
* Object.fs always points to the Fs
2015-11-07 11:14:46 +00:00
bf562d7373
Tweak wording on client/secret ids in acd, gcs and drive - fixes #155
2015-10-03 16:04:45 +01:00
e9c915e6fe
Fix golint warnings
2015-09-22 18:47:16 +01:00
0872ec3204
Allow user to override credentials again in drive, gcs and acd - fixes #139
2015-09-16 20:08:40 +01:00
c98a51b26c
Lightly obscure secrets
2015-09-01 22:33:34 +01:00
e2717a031e
Implement Mover and DirMover interfaces fixes #115
...
* unit tests
* local
* drive
* dropbox
2015-09-01 21:49:13 +01:00
92745aa950
Add Root() to Fs interface
2015-09-01 21:49:13 +01:00
7463a7a509
Use "golang.org/x/oauth2" as oauth libary of choice - fixes #102
...
* get rid of depreprecated "code.google.com/p/goauth2/oauth"
* store tokens in config file as before
* read old format tokens and write in new format seamlessly
* set our own transport to enforce timeouts etc
2015-08-29 17:47:23 +01:00
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
fedf81c2b7
Add Name() to Fs interface to return name as passed to NewFs
2015-08-23 13:36:38 +01:00
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
ba81277bbe
google cloud storage: Fix compile after API change in "google.golang.org/api/storage/v1"
...
The breaking change is: google-api-go-generator: remove underscores from identifiers.
2015-05-19 08:18:26 +01:00
ecb3c7bcef
drive, googlecloudstorage: remove SeekWrapper after googleapi fix
2015-03-04 20:47:59 +00:00
46d39ebaf7
Factor Mime Type guessing into fs.MimeType()
2015-03-02 09:21:15 +00:00
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
0fb35f081a
Use new location of Google API package - fixes #16
2014-12-12 20:02:08 +00:00
d3c16608e4
Test Listing the Root of each Fs
2014-07-31 23:20:39 +01:00
3e27ff1b95
Add Root List test and fs.Limited tests for single files
2014-07-31 21:35:29 +01:00
c389616657
all: make private functions / variables / constant which shouldn't be public
2014-07-29 17:50:07 +01:00
9711a5d647
google cloud storage: re-read metadata in SetModTime
2014-07-29 17:18:22 +01:00
cc679aa714
google cloud storage: fix ListDir on subdirectory
2014-07-29 17:18:22 +01:00
457ef2c190
Automatically generate the tests files for each Fs
2014-07-29 17:18:22 +01:00
17ffb0855f
Fixes after running errcheck
2014-07-25 18:19:49 +01:00
a5b0d88608
Make tests for each Fs
...
Factor tests out of rclonetest
2014-07-24 23:13:32 +01:00
80ecea82e8
google cloud storage: Fix crash on Update error - fixes #9
2014-07-21 21:25:46 +01:00
cad9479a00
google cloud storage: Update metadata on Put since we get it back
2014-07-16 12:12:36 +01:00
680283d69f
google cloud storage: fix download of files in sub directories
2014-07-15 19:27:31 +01:00
c71f339e01
google cloud storage: implement ACLs and delete
2014-07-15 19:27:31 +01:00
c91c96565f
google cloud storage: set the Content-Type from the file name
2014-07-15 19:27:31 +01:00
b72fc69fbe
google cloud storage: Make operations on single files work
2014-07-15 19:27:30 +01:00