1
mirror of https://github.com/rclone/rclone synced 2024-11-29 07:55:12 +01:00
Go to file
Nick Craig-Wood 1fa258c2b4 Define a new Features() method for Fs
Optional interfaces are becoming more important in rclone,
--track-renames and --backup-dir both rely on them.

Up to this point rclone has used interface upgrades to define optional
behaviour on Fs objects.  However when one Fs object wraps another it
is very difficult for this scheme to work accurately.  rclone has
relied on specific error messages being returned when the interface
isn't supported - this is unsatisfactory because it means you have to
call the interface to see whether it is supported.

This change enables accurate detection of optional interfaces by use
of a Features struct as returned by an obligatory Fs.Features()
method.  The Features struct contains flags and function pointers
which can be tested against nil to see whether they can be used.

As a result crypt and hubic can accurately reflect the capabilities of
the underlying Fs they are wrapping.
2017-01-16 17:33:25 +00:00
amazonclouddrive Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
b2 Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
bin Automatically upload betas on pushes to master 2016-10-05 12:47:57 +01:00
cmd Add obscure command for generating encrypted passwords for rclone's config 2017-01-10 13:18:09 +00:00
crypt Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
dircache Add directory parameter to Rmdir and Mkdir #100 #831 2016-11-26 12:02:53 +00:00
docs Implement --backup-dir - fixes #98 2017-01-16 17:33:25 +00:00
drive Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
dropbox Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
fs Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
fstest Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
Godeps Fix incorrect vendoring for swift library 2017-01-03 17:39:56 +00:00
googlecloudstorage Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
graphics New graphics used by forum.rclone.org 2016-10-04 11:31:42 +01:00
hubic Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
local Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
oauthutil Make all config file variables be settable in the environment 2017-01-03 22:42:47 +00:00
onedrive Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
pacer Make exponential backoff work exactly as per google specification - fixes #583 2016-10-17 17:57:09 +01:00
rest acd: Reset the headers on tempurl redirect #802 2016-10-26 18:42:41 +01:00
s3 Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
swift Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
vendor Fix incorrect vendoring for swift library 2017-01-03 17:39:56 +00:00
yandex Define a new Features() method for Fs 2017-01-16 17:33:25 +00:00
.gitignore Remove obsolete entry 2016-10-04 11:37:18 +01:00
.travis.yml Update go to 1.7.4 and 1.6.4 in CI 2016-12-09 17:12:11 +00:00
appveyor.yml Use a vendor directory for repeatable builds - fixes #816 2016-11-05 18:18:08 +00:00
CONTRIBUTING.md Notes on the vendor directory 2016-11-19 10:09:50 +00:00
COPYING Initial commit - some small parts working 2012-11-18 17:32:31 +00:00
ISSUE_TEMPLATE.md Add a link to the forum in the issue template 2016-10-24 12:34:18 +01:00
Makefile Save test dependencies too on make update 2016-11-19 10:22:23 +00:00
MANUAL.html Typo: the the -> the in docs and comments 2017-01-03 20:48:26 +00:00
MANUAL.md Typo: the the -> the in docs and comments 2017-01-03 20:48:26 +00:00
MANUAL.txt Typo: the the -> the in docs and comments 2017-01-03 20:48:26 +00:00
notes.txt Replace test_all.sh with test_all.go which is cross platform and parallel 2015-12-30 09:26:34 +00:00
rclone.1 Typo: the the -> the in docs and comments 2017-01-03 20:48:26 +00:00
rclone.go Make sure high level retries show with -q - fixes #648 2016-09-12 17:50:19 +01:00
README.md Add links to the forum in the main pages 2016-12-08 10:42:42 +00:00
RELEASE.md Version v1.35 2017-01-02 15:33:06 +00:00

Logo

Website | Documentation | Contributing | Changelog | Installation | Forum G+

Build Status Windows Build Status GoDoc

Rclone is a command line program to sync files and directories to and from

  • Google Drive
  • Amazon S3
  • Openstack Swift / Rackspace cloud files / Memset Memstore
  • Dropbox
  • Google Cloud Storage
  • Amazon Drive
  • Microsoft One Drive
  • Hubic
  • Backblaze B2
  • Yandex Disk
  • The local filesystem

Features

  • MD5/SHA1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, eg two different cloud accounts
  • Optional encryption (Crypt)
  • Optional FUSE mount

See the home page for installation, usage, documentation, changelog and configuration walkthroughs.

License

This is free software under the terms of MIT the license (check the COPYING file included in this package).