Go to file
Nick Craig-Wood bd787e8f45 filter: Fix incorrect filtering with UseFilter context flag and wrapping backends
In this commit

8d1fff9a82 local: obey file filters in listing to fix errors on excluded files

We started using filters in the local backend so the user could short
circuit troublesome files/directories at a low level.

However this caused a number of integration tests to fail. This turned
out to be in backends wrapping the local backend. For example the
combine backend test failed because it changes the paths passed to the
local backend so they no longer match the paths in the current filter.

To fix this, a new feature flag `FilterAware` was added and the
UseFilter context flag is only passed to backends which support it. As
the wrapping backends don't support the flag, this fixes the problems
in the integration tests.

In future the wrapping backends could modify the active filters to
match the path modifications and then they could set the FilterAware
flag.

See #6376
2022-09-05 16:19:50 +01:00
.github Revert "build: lint with go1.18 until golangci-lint is updated" 2022-08-05 16:04:54 +01:00
backend filter: Fix incorrect filtering with UseFilter context flag and wrapping backends 2022-09-05 16:19:50 +01:00
bin new backend: hidrive - fixes #1069 2022-07-08 18:24:54 +01:00
cmd docs/sftp: document use of chunk_size option in sftp remote paired with serve sftp 2022-08-31 00:04:04 +02:00
cmdtest all: fix spelling across the project 2022-08-30 11:16:26 +02:00
contrib serve/docker: build docker plugin for multiple platforms #5668 2021-10-21 13:01:23 +03:00
docs Add Josh Soref to contributors 2022-09-05 12:10:59 +01:00
fs filter: Fix incorrect filtering with UseFilter context flag and wrapping backends 2022-09-05 16:19:50 +01:00
fstest all: fix spelling across the project 2022-08-30 11:16:26 +02:00
graphics build: Add file properties and icon to Windows executable (fixes #4304) 2020-06-11 09:26:14 +01:00
lib all: fix spelling across the project 2022-08-30 11:16:26 +02:00
librclone all: fix spelling across the project 2022-08-30 11:16:26 +02:00
vfs all: fix spelling across the project 2022-08-30 11:16:26 +02:00
.gitattributes build: add azure pipelines build 2019-08-06 10:31:32 +01:00
.gitignore chunker: fix md5all test for no-meta test remotes 2021-10-18 18:04:07 +03:00
.golangci.yml Revert "build: disable revive linter pending a fix in golangci-lint" 2022-08-03 13:14:51 +01:00
CONTRIBUTING.md all: fix spelling across the project 2022-08-30 11:16:26 +02:00
COPYING Initial commit - some small parts working 2012-11-18 17:32:31 +00:00
Dockerfile build: add an rclone user to the Docker image but don't use it by default 2021-02-11 17:45:44 +00:00
MAINTAINERS.md storj: rename tardigrade backend to storj backend #5616 2022-02-11 11:04:15 +00:00
MANUAL.html Version v1.59.0 2022-07-09 18:09:25 +01:00
MANUAL.md Version v1.59.0 2022-07-09 18:09:25 +01:00
MANUAL.txt Version v1.59.0 2022-07-09 18:09:25 +01:00
Makefile Configurable version suffix independent of version number 2022-05-17 12:10:01 +01:00
README.md new backend: hidrive - fixes #1069 2022-07-08 18:24:54 +01:00
RELEASE.md build: more docs on upgrading dependencies 2021-11-10 10:34:56 +00:00
VERSION Start v1.60.0-DEV development 2022-07-09 20:43:17 +01:00
go.mod build: update dependencies 2022-08-05 17:43:53 +01:00
go.sum build: update dependencies 2022-08-05 17:43:53 +01:00
notes.txt docs: spelling: etc. 2020-10-28 18:16:23 +00:00
rclone.1 Version v1.59.0 2022-07-09 18:09:25 +01:00
rclone.go lib: add plugin support 2019-09-29 11:05:10 +01:00

README.md

rclone logo rclone logo

Website | Documentation | Download | Contributing | Changelog | Installation | Forum

Build Status Go Report Card GoDoc Docker Pulls

Rclone

Rclone ("rsync for cloud storage") is a command-line program to sync files and directories to and from different cloud storage providers.

Storage providers

Please see the full list of all storage providers and their features

Virtual storage providers

These backends adapt or modify other storage providers

  • Alias: rename existing remotes 📄
  • Cache: cache remotes (DEPRECATED) 📄
  • Chunker: split large files 📄
  • Combine: combine multiple remotes into a directory tree 📄
  • Compress: compress files 📄
  • Crypt: encrypt files 📄
  • Hasher: hash files 📄
  • Union: join multiple remotes to work together 📄

Features

  • MD5/SHA-1 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, e.g. two different cloud accounts
  • Optional large file chunking (Chunker)
  • Optional transparent compression (Compress)
  • Optional encryption (Crypt)
  • Optional FUSE mount (rclone mount)
  • Multi-threaded downloads to local disk
  • Can serve local or remote files over HTTP/WebDAV/FTP/SFTP/DLNA

Installation & documentation

Please see the rclone website for:

Downloads

License

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