Commits on Jan 20, 2017
  1. Fix tests under Windows

    committed Jan 20, 2017
  2. crypt: fix crypt writer getting stuck in a loop #902

    This happened when the underlying reader returned io.ErrUnexpectedEOF.
    The error handling for the call to io.ReadFull failed to take this
    into account.
    io.ErrUnexpectedEOF is reasonably common when SSL connections go wrong
    when communicating with ACD, so it manifested itself as transfers from
    non-encrypted ACD to encrypted ACD getting stuck.
    committed Jan 20, 2017
Commits on Jan 19, 2017
  1. Fix race in Lister.Finished which was causing the tests to be unreliable

    committed Jan 19, 2017
  2. Implement --suffix for use with --backup-dir only #98

    This also makes sure we remove files we are about to override in the
    --backup-dir properly.
    committed Jan 19, 2017
  3. acd: After moving a file, wait for the file to no longer be in the di…

    This fixes a Move followed quickly by a Copy updating the wrong file.
    committed Jan 19, 2017
Commits on Jan 17, 2017
  1. b2: fix upload url not being refreshed properly #825

    committed Jan 17, 2017
  2. mount: fix retry on network failure when reading off crypt - fixes #1042

    committed Jan 17, 2017
Commits on Jan 16, 2017
  1. Make "make quicktest" ignore a config file if present for local running

    This means "make quicktest" should give the same result as when run by
    committed Jan 16, 2017
  2. oauthutil: copy the config before modifying it

    The stops simultaneous use of oauth configs with different client IDs
    causing a problem.
    committed Jan 16, 2017
  3. acd, onedrive: make sure we have found the root before purging

    If we don't, purge can try to trash the root node which fortunately
    doesn't succeed.
    committed Jan 15, 2017
  4. 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.
    committed Jan 13, 2017
  5. Implement --backup-dir - fixes #98

    The parameter of backup-dir specifies a remote that all deleted or
    overwritten files will be copied to.
    committed with Jan 10, 2017
Commits on Jan 14, 2017
  1. Factor server side move detection

    committed with Jan 10, 2017
  2. acd: fix panic when renaming files - fixes #973

    Fixed by no longer overwriting the parameters in a retry loop
    committed Jan 14, 2017
Commits on Jan 12, 2017
  1. Add Brandur to contributors

    committed Jan 12, 2017
  2. Return error on not found from ListFn

    This changes `ListFn`'s implementation so that if it encounters a not
    found error, instead of sending a fatal error to log, it coordinates the
    return of the error between checker goroutines and sends it back to the
    The main impetus here is that it allows an external program compiling
    against rclone as a package to handle a not found, where it currently it
    This does change error output on a not found a little bit, we go from
        2017/01/09 21:14:03 directory not found
    To this:
        2017/01/09 21:13:44 Failed to ls: directory not found
    brandur committed with Jan 10, 2017
Commits on Jan 10, 2017
  1. Add T.C. Ferguson to contributors

    committed Jan 10, 2017
  2. Add emyarod to contributors

    committed Jan 10, 2017
Commits on Jan 8, 2017
  1. Update

    0xJAKE committed on GitHub Jan 8, 2017
Commits on Jan 6, 2017
  1. mount: implement proper directory handling (mkdir, rmdir)

    Before this change mount only simulated rmdir & mkdir, now it actually
    runs mkdir & rmdir on the underlying remote, using the new parmaeters
    to fs.Mkdir and fs.Rmdir.
    Fixes #956
    committed Jan 6, 2017
Commits on Jan 5, 2017
  1. Update docs on server side copy

    committed Jan 5, 2017
  2. Fix filters to add ** rules to directory rules

    This fixes `--exclude ".*{,/**}"` to exclude all . files and
    . directories.
    committed Dec 7, 2016
  3. Stop --track-renames hashing matching files - fixes #984

    Also only hash files of the correct size.
    This speeds it up a lot.
    committed Jan 3, 2017
  4. Only start bandwidth ticker when necessary.

    - Only start the token ticker when the timetable entry has more than one
    - This fixes the "Scheduled bandwidth change" log message when no
      bwlimit is specified.
    - Fixes #987
    marcopaganini committed Jan 5, 2017
Commits on Jan 4, 2017
  1. Document environment variable usage

    committed Jan 3, 2017
Commits on Jan 3, 2017
  1. Make all config file variables be settable in the environment

    These are set in the form RCLONE_CONFIG_remote_option where remote is
    the uppercased remote name and option is the uppercased config file
    option name.  Note that RCLONE_CONFIG_remote_TYPE must be set if
    defining a new remote.
    Fixes #616
    committed Dec 20, 2016
  2. Allow all options to be set from environment variables

    The option names are munged changing - to _ making upper case and
    prepending RCLONE_.  The values are as parsed by pflag.
    committed Dec 20, 2016
  3. Add time-based bandwidth limits.

    - Change the --bwlimit command line parameter to accept both a limit (as
      before) or a full timetable (formatted as "hh:mm,limit
    - The timetable is checked once a minute by a ticker function. A new
      tokenBucket is created every time a bandwidth change is necessary.
    - This change is compatible with the SIGUSR2 change to toggle bandwidth
    This resolves #221.
    marcopaganini committed with Jan 3, 2017
  4. Add Lukas Loesche to contributors

    committed Jan 3, 2017