1
0
mirror of https://github.com/rclone/rclone.git synced 2026-01-09 20:13:21 +00:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Nick Craig-Wood
45f7c687e2 Version v1.49.1 2019-08-28 17:51:23 +01:00
Nick Craig-Wood
a05dd6fc27 config: Fix generated passwords being stored as empty password - Fixes #3492 2019-08-28 14:24:18 +01:00
Nick Craig-Wood
642cb03121 googlephotos,onedrive: fix crash on error response - fixes #3491
This fixes a crash on the google photos backend when an error is
returned from the rest.Call function.

This turned out to be a mis-understanding of the rest docs so
- improved rest.Call docs
- fixed mis-understanding in google photos backend
- fixed similar mis-understading in onedrive backend
2019-08-28 14:24:08 +01:00
Chaitanya
da4dfdc3ec rcd: Added missing parameter for web-gui info logs. 2019-08-28 14:24:04 +01:00
82 changed files with 267 additions and 120 deletions

25
MANUAL.html generated
View File

@@ -17,7 +17,7 @@
<header> <header>
<h1 class="title">rclone(1) User Manual</h1> <h1 class="title">rclone(1) User Manual</h1>
<p class="author">Nick Craig-Wood</p> <p class="author">Nick Craig-Wood</p>
<p class="date">Aug 26, 2019</p> <p class="date">Aug 28, 2019</p>
</header> </header>
<h1 id="rclone---rsync-for-cloud-storage">Rclone - rsync for cloud storage</h1> <h1 id="rclone---rsync-for-cloud-storage">Rclone - rsync for cloud storage</h1>
<p>Rclone is a command line program to sync files and directories to and from:</p> <p>Rclone is a command line program to sync files and directories to and from:</p>
@@ -4590,7 +4590,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--use-json-log Use json log format. --use-json-log Use json log format.
--use-mmap Use mmap allocator (see docs). --use-mmap Use mmap allocator (see docs).
--use-server-modtime Use server modified time instead of object metadata --use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default &quot;rclone/v1.49.0&quot;) --user-agent string Set the user-agent to a specified string. The default is rclone/ version (default &quot;rclone/v1.49.1&quot;)
-v, --verbose count Print lots more stuff (repeat for more)</code></pre> -v, --verbose count Print lots more stuff (repeat for more)</code></pre>
<h2 id="backend-flags">Backend Flags</h2> <h2 id="backend-flags">Backend Flags</h2>
<p>These flags are available for every command. They control the backends and may be set in the config file.</p> <p>These flags are available for every command. They control the backends and may be set in the config file.</p>
@@ -12288,6 +12288,23 @@ $ tree /tmp/b
</ul> </ul>
<!--- autogenerated options stop --> <!--- autogenerated options stop -->
<h1 id="changelog">Changelog</h1> <h1 id="changelog">Changelog</h1>
<h2 id="v1.49.1---2019-08-28">v1.49.1 - 2019-08-28</h2>
<p>Point release to fix config bug and google photos backend.</p>
<ul>
<li>Bug Fixes
<ul>
<li>config: Fix generated passwords being stored as empty password (Nick Craig-Wood)</li>
<li>rcd: Added missing parameter for web-gui info logs. (Chaitanya)</li>
</ul></li>
<li>Googlephotos
<ul>
<li>Fix crash on error response (Nick Craig-Wood)</li>
</ul></li>
<li>Onedrive
<ul>
<li>Fix crash on error response (Nick Craig-Wood)</li>
</ul></li>
</ul>
<h2 id="v1.49.0---2019-08-26">v1.49.0 - 2019-08-26</h2> <h2 id="v1.49.0---2019-08-26">v1.49.0 - 2019-08-26</h2>
<ul> <ul>
<li>New backends <li>New backends
@@ -12302,8 +12319,10 @@ $ tree /tmp/b
<li>Experimental <a href="https://rclone.org/gui/">web GUI</a> (Chaitanya Bankanhal)</li> <li>Experimental <a href="https://rclone.org/gui/">web GUI</a> (Chaitanya Bankanhal)</li>
<li>Implement <code>--compare-dest</code> &amp; <code>--copy-dest</code> (yparitcher)</li> <li>Implement <code>--compare-dest</code> &amp; <code>--copy-dest</code> (yparitcher)</li>
<li>Implement <code>--suffix</code> without <code>--backup-dir</code> for backup to current dir (yparitcher)</li> <li>Implement <code>--suffix</code> without <code>--backup-dir</code> for backup to current dir (yparitcher)</li>
<li><code>config reconnect</code> to re-login (re-run the oauth login) for the backend. (Nick Craig-Wood)</li>
<li><code>config userinfo</code> to discover which user you are logged in as. (Nick Craig-Wood)</li>
<li><code>config disconnect</code> to disconnect you (log out) from the backend. (Nick Craig-Wood)</li>
<li>Add <code>--use-json-log</code> for JSON logging (justinalin)</li> <li>Add <code>--use-json-log</code> for JSON logging (justinalin)</li>
<li>Add <code>config reconnect</code>, <code>config userinfo</code> and <code>config disconnect</code> subcommands. (Nick Craig-Wood)</li>
<li>Add context propagation to rclone (Aleksandar Jankovic)</li> <li>Add context propagation to rclone (Aleksandar Jankovic)</li>
<li>Reworking internal statistics interfaces so they work with rc jobs (Aleksandar Jankovic)</li> <li>Reworking internal statistics interfaces so they work with rc jobs (Aleksandar Jankovic)</li>
<li>Add Higher units for ETA (AbelThar)</li> <li>Add Higher units for ETA (AbelThar)</li>

20
MANUAL.md generated
View File

@@ -1,6 +1,6 @@
% rclone(1) User Manual % rclone(1) User Manual
% Nick Craig-Wood % Nick Craig-Wood
% Aug 26, 2019 % Aug 28, 2019
# Rclone - rsync for cloud storage # Rclone - rsync for cloud storage
@@ -8245,7 +8245,7 @@ These flags are available for every command.
--use-json-log Use json log format. --use-json-log Use json log format.
--use-mmap Use mmap allocator (see docs). --use-mmap Use mmap allocator (see docs).
--use-server-modtime Use server modified time instead of object metadata --use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.49.0") --user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.49.1")
-v, --verbose count Print lots more stuff (repeat for more) -v, --verbose count Print lots more stuff (repeat for more)
``` ```
@@ -18466,6 +18466,18 @@ to override the default choice.
# Changelog # Changelog
## v1.49.1 - 2019-08-28
Point release to fix config bug and google photos backend.
* Bug Fixes
* config: Fix generated passwords being stored as empty password (Nick Craig-Wood)
* rcd: Added missing parameter for web-gui info logs. (Chaitanya)
* Googlephotos
* Fix crash on error response (Nick Craig-Wood)
* Onedrive
* Fix crash on error response (Nick Craig-Wood)
## v1.49.0 - 2019-08-26 ## v1.49.0 - 2019-08-26
* New backends * New backends
@@ -18477,8 +18489,10 @@ to override the default choice.
* Experimental [web GUI](https://rclone.org/gui/) (Chaitanya Bankanhal) * Experimental [web GUI](https://rclone.org/gui/) (Chaitanya Bankanhal)
* Implement `--compare-dest` & `--copy-dest` (yparitcher) * Implement `--compare-dest` & `--copy-dest` (yparitcher)
* Implement `--suffix` without `--backup-dir` for backup to current dir (yparitcher) * Implement `--suffix` without `--backup-dir` for backup to current dir (yparitcher)
* `config reconnect` to re-login (re-run the oauth login) for the backend. (Nick Craig-Wood)
* `config userinfo` to discover which user you are logged in as. (Nick Craig-Wood)
* `config disconnect` to disconnect you (log out) from the backend. (Nick Craig-Wood)
* Add `--use-json-log` for JSON logging (justinalin) * Add `--use-json-log` for JSON logging (justinalin)
* Add `config reconnect`, `config userinfo` and `config disconnect` subcommands. (Nick Craig-Wood)
* Add context propagation to rclone (Aleksandar Jankovic) * Add context propagation to rclone (Aleksandar Jankovic)
* Reworking internal statistics interfaces so they work with rc jobs (Aleksandar Jankovic) * Reworking internal statistics interfaces so they work with rc jobs (Aleksandar Jankovic)
* Add Higher units for ETA (AbelThar) * Add Higher units for ETA (AbelThar)

26
MANUAL.txt generated
View File

@@ -1,6 +1,6 @@
rclone(1) User Manual rclone(1) User Manual
Nick Craig-Wood Nick Craig-Wood
Aug 26, 2019 Aug 28, 2019
@@ -7824,7 +7824,7 @@ These flags are available for every command.
--use-json-log Use json log format. --use-json-log Use json log format.
--use-mmap Use mmap allocator (see docs). --use-mmap Use mmap allocator (see docs).
--use-server-modtime Use server modified time instead of object metadata --use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.49.0") --user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.49.1")
-v, --verbose count Print lots more stuff (repeat for more) -v, --verbose count Print lots more stuff (repeat for more)
@@ -17923,6 +17923,20 @@ override the default choice.
CHANGELOG CHANGELOG
v1.49.1 - 2019-08-28
Point release to fix config bug and google photos backend.
- Bug Fixes
- config: Fix generated passwords being stored as empty password
(Nick Craig-Wood)
- rcd: Added missing parameter for web-gui info logs. (Chaitanya)
- Googlephotos
- Fix crash on error response (Nick Craig-Wood)
- Onedrive
- Fix crash on error response (Nick Craig-Wood)
v1.49.0 - 2019-08-26 v1.49.0 - 2019-08-26
- New backends - New backends
@@ -17935,9 +17949,13 @@ v1.49.0 - 2019-08-26
- Implement --compare-dest & --copy-dest (yparitcher) - Implement --compare-dest & --copy-dest (yparitcher)
- Implement --suffix without --backup-dir for backup to current - Implement --suffix without --backup-dir for backup to current
dir (yparitcher) dir (yparitcher)
- config reconnect to re-login (re-run the oauth login) for the
backend. (Nick Craig-Wood)
- config userinfo to discover which user you are logged in as.
(Nick Craig-Wood)
- config disconnect to disconnect you (log out) from the backend.
(Nick Craig-Wood)
- Add --use-json-log for JSON logging (justinalin) - Add --use-json-log for JSON logging (justinalin)
- Add config reconnect, config userinfo and config disconnect
subcommands. (Nick Craig-Wood)
- Add context propagation to rclone (Aleksandar Jankovic) - Add context propagation to rclone (Aleksandar Jankovic)
- Reworking internal statistics interfaces so they work with rc - Reworking internal statistics interfaces so they work with rc
jobs (Aleksandar Jankovic) jobs (Aleksandar Jankovic)

View File

@@ -956,7 +956,6 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op
err = o.fs.pacer.CallNoRetry(func() (bool, error) { err = o.fs.pacer.CallNoRetry(func() (bool, error) {
resp, err = o.fs.srv.Call(&opts) resp, err = o.fs.srv.Call(&opts)
if err != nil { if err != nil {
_ = resp.Body.Close()
return shouldRetry(resp, err) return shouldRetry(resp, err)
} }
token, err = rest.ReadBody(resp) token, err = rest.ReadBody(resp)

View File

@@ -1464,22 +1464,24 @@ func (o *Object) uploadFragment(url string, start int64, totalSize int64, chunk
} }
// var response api.UploadFragmentResponse // var response api.UploadFragmentResponse
var resp *http.Response var resp *http.Response
var body []byte
err = o.fs.pacer.Call(func() (bool, error) { err = o.fs.pacer.Call(func() (bool, error) {
_, _ = chunk.Seek(0, io.SeekStart) _, _ = chunk.Seek(0, io.SeekStart)
resp, err = o.fs.srv.Call(&opts) resp, err = o.fs.srv.Call(&opts)
if resp != nil { if err != nil {
defer fs.CheckClose(resp.Body, &err) return shouldRetry(resp, err)
} }
retry, err := shouldRetry(resp, err) body, err = rest.ReadBody(resp)
if !retry && resp != nil { if err != nil {
if resp.StatusCode == 200 || resp.StatusCode == 201 { return shouldRetry(resp, err)
// we are done :)
// read the item
info = &api.Item{}
return false, json.NewDecoder(resp.Body).Decode(info)
}
} }
return retry, err if resp.StatusCode == 200 || resp.StatusCode == 201 {
// we are done :)
// read the item
info = &api.Item{}
return false, json.Unmarshal(body, info)
}
return false, nil
}) })
return info, err return info, err
} }

View File

@@ -61,7 +61,7 @@ See the [rc documentation](/rc/) for more info on the rc flags.
} }
if rcflags.Opt.HTTPOptions.BasicUser == "" { if rcflags.Opt.HTTPOptions.BasicUser == "" {
rcflags.Opt.HTTPOptions.BasicUser = "gui" rcflags.Opt.HTTPOptions.BasicUser = "gui"
fs.Infof("Using default username: %s \n", rcflags.Opt.HTTPOptions.BasicUser) fs.Infof(nil, "Using default username: %s \n", rcflags.Opt.HTTPOptions.BasicUser)
} }
if rcflags.Opt.HTTPOptions.BasicPass == "" { if rcflags.Opt.HTTPOptions.BasicPass == "" {
randomPass, err := random.Password(128) randomPass, err := random.Password(128)
@@ -69,7 +69,7 @@ See the [rc documentation](/rc/) for more info on the rc flags.
log.Fatalf("Failed to make password: %v", err) log.Fatalf("Failed to make password: %v", err)
} }
rcflags.Opt.HTTPOptions.BasicPass = randomPass rcflags.Opt.HTTPOptions.BasicPass = randomPass
fs.Infof("No password specified. Using random password: %s \n", randomPass) fs.Infof(nil, "No password specified. Using random password: %s \n", randomPass)
} }
rcflags.Opt.Serve = true rcflags.Opt.Serve = true
} }

View File

@@ -1,11 +1,23 @@
--- ---
title: "Documentation" title: "Documentation"
description: "Rclone Changelog" description: "Rclone Changelog"
date: "2019-08-26" date: "2019-08-28"
--- ---
# Changelog # Changelog
## v1.49.1 - 2019-08-28
Point release to fix config bug and google photos backend.
* Bug Fixes
* config: Fix generated passwords being stored as empty password (Nick Craig-Wood)
* rcd: Added missing parameter for web-gui info logs. (Chaitanya)
* Googlephotos
* Fix crash on error response (Nick Craig-Wood)
* Onedrive
* Fix crash on error response (Nick Craig-Wood)
## v1.49.0 - 2019-08-26 ## v1.49.0 - 2019-08-26
* New backends * New backends

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone" title: "rclone"
slug: rclone slug: rclone
url: /commands/rclone/ url: /commands/rclone/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone about" title: "rclone about"
slug: rclone_about slug: rclone_about
url: /commands/rclone_about/ url: /commands/rclone_about/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone authorize" title: "rclone authorize"
slug: rclone_authorize slug: rclone_authorize
url: /commands/rclone_authorize/ url: /commands/rclone_authorize/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone cachestats" title: "rclone cachestats"
slug: rclone_cachestats slug: rclone_cachestats
url: /commands/rclone_cachestats/ url: /commands/rclone_cachestats/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone cat" title: "rclone cat"
slug: rclone_cat slug: rclone_cat
url: /commands/rclone_cat/ url: /commands/rclone_cat/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone check" title: "rclone check"
slug: rclone_check slug: rclone_check
url: /commands/rclone_check/ url: /commands/rclone_check/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone cleanup" title: "rclone cleanup"
slug: rclone_cleanup slug: rclone_cleanup
url: /commands/rclone_cleanup/ url: /commands/rclone_cleanup/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config" title: "rclone config"
slug: rclone_config slug: rclone_config
url: /commands/rclone_config/ url: /commands/rclone_config/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config create" title: "rclone config create"
slug: rclone_config_create slug: rclone_config_create
url: /commands/rclone_config_create/ url: /commands/rclone_config_create/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config delete" title: "rclone config delete"
slug: rclone_config_delete slug: rclone_config_delete
url: /commands/rclone_config_delete/ url: /commands/rclone_config_delete/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config disconnect" title: "rclone config disconnect"
slug: rclone_config_disconnect slug: rclone_config_disconnect
url: /commands/rclone_config_disconnect/ url: /commands/rclone_config_disconnect/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config dump" title: "rclone config dump"
slug: rclone_config_dump slug: rclone_config_dump
url: /commands/rclone_config_dump/ url: /commands/rclone_config_dump/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config edit" title: "rclone config edit"
slug: rclone_config_edit slug: rclone_config_edit
url: /commands/rclone_config_edit/ url: /commands/rclone_config_edit/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config file" title: "rclone config file"
slug: rclone_config_file slug: rclone_config_file
url: /commands/rclone_config_file/ url: /commands/rclone_config_file/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config password" title: "rclone config password"
slug: rclone_config_password slug: rclone_config_password
url: /commands/rclone_config_password/ url: /commands/rclone_config_password/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config providers" title: "rclone config providers"
slug: rclone_config_providers slug: rclone_config_providers
url: /commands/rclone_config_providers/ url: /commands/rclone_config_providers/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config reconnect" title: "rclone config reconnect"
slug: rclone_config_reconnect slug: rclone_config_reconnect
url: /commands/rclone_config_reconnect/ url: /commands/rclone_config_reconnect/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config show" title: "rclone config show"
slug: rclone_config_show slug: rclone_config_show
url: /commands/rclone_config_show/ url: /commands/rclone_config_show/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config update" title: "rclone config update"
slug: rclone_config_update slug: rclone_config_update
url: /commands/rclone_config_update/ url: /commands/rclone_config_update/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone config userinfo" title: "rclone config userinfo"
slug: rclone_config_userinfo slug: rclone_config_userinfo
url: /commands/rclone_config_userinfo/ url: /commands/rclone_config_userinfo/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone copy" title: "rclone copy"
slug: rclone_copy slug: rclone_copy
url: /commands/rclone_copy/ url: /commands/rclone_copy/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone copyto" title: "rclone copyto"
slug: rclone_copyto slug: rclone_copyto
url: /commands/rclone_copyto/ url: /commands/rclone_copyto/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone copyurl" title: "rclone copyurl"
slug: rclone_copyurl slug: rclone_copyurl
url: /commands/rclone_copyurl/ url: /commands/rclone_copyurl/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone cryptcheck" title: "rclone cryptcheck"
slug: rclone_cryptcheck slug: rclone_cryptcheck
url: /commands/rclone_cryptcheck/ url: /commands/rclone_cryptcheck/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone cryptdecode" title: "rclone cryptdecode"
slug: rclone_cryptdecode slug: rclone_cryptdecode
url: /commands/rclone_cryptdecode/ url: /commands/rclone_cryptdecode/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone dbhashsum" title: "rclone dbhashsum"
slug: rclone_dbhashsum slug: rclone_dbhashsum
url: /commands/rclone_dbhashsum/ url: /commands/rclone_dbhashsum/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone dedupe" title: "rclone dedupe"
slug: rclone_dedupe slug: rclone_dedupe
url: /commands/rclone_dedupe/ url: /commands/rclone_dedupe/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone delete" title: "rclone delete"
slug: rclone_delete slug: rclone_delete
url: /commands/rclone_delete/ url: /commands/rclone_delete/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone deletefile" title: "rclone deletefile"
slug: rclone_deletefile slug: rclone_deletefile
url: /commands/rclone_deletefile/ url: /commands/rclone_deletefile/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone genautocomplete" title: "rclone genautocomplete"
slug: rclone_genautocomplete slug: rclone_genautocomplete
url: /commands/rclone_genautocomplete/ url: /commands/rclone_genautocomplete/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone genautocomplete bash" title: "rclone genautocomplete bash"
slug: rclone_genautocomplete_bash slug: rclone_genautocomplete_bash
url: /commands/rclone_genautocomplete_bash/ url: /commands/rclone_genautocomplete_bash/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone genautocomplete zsh" title: "rclone genautocomplete zsh"
slug: rclone_genautocomplete_zsh slug: rclone_genautocomplete_zsh
url: /commands/rclone_genautocomplete_zsh/ url: /commands/rclone_genautocomplete_zsh/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone gendocs" title: "rclone gendocs"
slug: rclone_gendocs slug: rclone_gendocs
url: /commands/rclone_gendocs/ url: /commands/rclone_gendocs/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone hashsum" title: "rclone hashsum"
slug: rclone_hashsum slug: rclone_hashsum
url: /commands/rclone_hashsum/ url: /commands/rclone_hashsum/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone link" title: "rclone link"
slug: rclone_link slug: rclone_link
url: /commands/rclone_link/ url: /commands/rclone_link/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone listremotes" title: "rclone listremotes"
slug: rclone_listremotes slug: rclone_listremotes
url: /commands/rclone_listremotes/ url: /commands/rclone_listremotes/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone ls" title: "rclone ls"
slug: rclone_ls slug: rclone_ls
url: /commands/rclone_ls/ url: /commands/rclone_ls/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone lsd" title: "rclone lsd"
slug: rclone_lsd slug: rclone_lsd
url: /commands/rclone_lsd/ url: /commands/rclone_lsd/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone lsf" title: "rclone lsf"
slug: rclone_lsf slug: rclone_lsf
url: /commands/rclone_lsf/ url: /commands/rclone_lsf/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone lsjson" title: "rclone lsjson"
slug: rclone_lsjson slug: rclone_lsjson
url: /commands/rclone_lsjson/ url: /commands/rclone_lsjson/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone lsl" title: "rclone lsl"
slug: rclone_lsl slug: rclone_lsl
url: /commands/rclone_lsl/ url: /commands/rclone_lsl/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone md5sum" title: "rclone md5sum"
slug: rclone_md5sum slug: rclone_md5sum
url: /commands/rclone_md5sum/ url: /commands/rclone_md5sum/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone mkdir" title: "rclone mkdir"
slug: rclone_mkdir slug: rclone_mkdir
url: /commands/rclone_mkdir/ url: /commands/rclone_mkdir/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone mount" title: "rclone mount"
slug: rclone_mount slug: rclone_mount
url: /commands/rclone_mount/ url: /commands/rclone_mount/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone move" title: "rclone move"
slug: rclone_move slug: rclone_move
url: /commands/rclone_move/ url: /commands/rclone_move/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone moveto" title: "rclone moveto"
slug: rclone_moveto slug: rclone_moveto
url: /commands/rclone_moveto/ url: /commands/rclone_moveto/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone ncdu" title: "rclone ncdu"
slug: rclone_ncdu slug: rclone_ncdu
url: /commands/rclone_ncdu/ url: /commands/rclone_ncdu/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone obscure" title: "rclone obscure"
slug: rclone_obscure slug: rclone_obscure
url: /commands/rclone_obscure/ url: /commands/rclone_obscure/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone purge" title: "rclone purge"
slug: rclone_purge slug: rclone_purge
url: /commands/rclone_purge/ url: /commands/rclone_purge/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone rc" title: "rclone rc"
slug: rclone_rc slug: rclone_rc
url: /commands/rclone_rc/ url: /commands/rclone_rc/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone rcat" title: "rclone rcat"
slug: rclone_rcat slug: rclone_rcat
url: /commands/rclone_rcat/ url: /commands/rclone_rcat/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone rcd" title: "rclone rcd"
slug: rclone_rcd slug: rclone_rcd
url: /commands/rclone_rcd/ url: /commands/rclone_rcd/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone rmdir" title: "rclone rmdir"
slug: rclone_rmdir slug: rclone_rmdir
url: /commands/rclone_rmdir/ url: /commands/rclone_rmdir/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone rmdirs" title: "rclone rmdirs"
slug: rclone_rmdirs slug: rclone_rmdirs
url: /commands/rclone_rmdirs/ url: /commands/rclone_rmdirs/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone serve" title: "rclone serve"
slug: rclone_serve slug: rclone_serve
url: /commands/rclone_serve/ url: /commands/rclone_serve/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone serve dlna" title: "rclone serve dlna"
slug: rclone_serve_dlna slug: rclone_serve_dlna
url: /commands/rclone_serve_dlna/ url: /commands/rclone_serve_dlna/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone serve ftp" title: "rclone serve ftp"
slug: rclone_serve_ftp slug: rclone_serve_ftp
url: /commands/rclone_serve_ftp/ url: /commands/rclone_serve_ftp/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone serve http" title: "rclone serve http"
slug: rclone_serve_http slug: rclone_serve_http
url: /commands/rclone_serve_http/ url: /commands/rclone_serve_http/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone serve restic" title: "rclone serve restic"
slug: rclone_serve_restic slug: rclone_serve_restic
url: /commands/rclone_serve_restic/ url: /commands/rclone_serve_restic/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone serve sftp" title: "rclone serve sftp"
slug: rclone_serve_sftp slug: rclone_serve_sftp
url: /commands/rclone_serve_sftp/ url: /commands/rclone_serve_sftp/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone serve webdav" title: "rclone serve webdav"
slug: rclone_serve_webdav slug: rclone_serve_webdav
url: /commands/rclone_serve_webdav/ url: /commands/rclone_serve_webdav/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone settier" title: "rclone settier"
slug: rclone_settier slug: rclone_settier
url: /commands/rclone_settier/ url: /commands/rclone_settier/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone sha1sum" title: "rclone sha1sum"
slug: rclone_sha1sum slug: rclone_sha1sum
url: /commands/rclone_sha1sum/ url: /commands/rclone_sha1sum/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone size" title: "rclone size"
slug: rclone_size slug: rclone_size
url: /commands/rclone_size/ url: /commands/rclone_size/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone sync" title: "rclone sync"
slug: rclone_sync slug: rclone_sync
url: /commands/rclone_sync/ url: /commands/rclone_sync/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone touch" title: "rclone touch"
slug: rclone_touch slug: rclone_touch
url: /commands/rclone_touch/ url: /commands/rclone_touch/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone tree" title: "rclone tree"
slug: rclone_tree slug: rclone_tree
url: /commands/rclone_tree/ url: /commands/rclone_tree/

View File

@@ -1,5 +1,5 @@
--- ---
date: 2019-08-26T15:19:45+01:00 date: 2019-08-28T17:50:40+01:00
title: "rclone version" title: "rclone version"
slug: rclone_version slug: rclone_version
url: /commands/rclone_version/ url: /commands/rclone_version/

View File

@@ -1,7 +1,7 @@
--- ---
title: "Global Flags" title: "Global Flags"
description: "Rclone Global Flags" description: "Rclone Global Flags"
date: "2019-08-26T15:19:45+01:00" date: "2019-08-28T17:50:40+01:00"
--- ---
# Global Flags # Global Flags
@@ -127,7 +127,7 @@ These flags are available for every command.
--use-json-log Use json log format. --use-json-log Use json log format.
--use-mmap Use mmap allocator (see docs). --use-mmap Use mmap allocator (see docs).
--use-server-modtime Use server modified time instead of object metadata --use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.49.0") --user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.49.1")
-v, --verbose count Print lots more stuff (repeat for more) -v, --verbose count Print lots more stuff (repeat for more)
``` ```

View File

@@ -1 +1 @@
v1.49.0 v1.49.1

View File

@@ -89,6 +89,9 @@ var (
// For security reasons, the temp file is deleted once the configKey is successfully loaded. // For security reasons, the temp file is deleted once the configKey is successfully loaded.
// This can be used to pass the configKey to a child process. // This can be used to pass the configKey to a child process.
PassConfigKeyForDaemonization = false PassConfigKeyForDaemonization = false
// Password can be used to configure the random password generator
Password = random.Password
) )
func init() { func init() {
@@ -854,6 +857,7 @@ func ChooseOption(o *fs.Option, name string) string {
actions = append(actions, "nNo leave this optional password blank") actions = append(actions, "nNo leave this optional password blank")
} }
var password string var password string
var err error
switch i := Command(actions); i { switch i := Command(actions); i {
case 'y': case 'y':
password = ChangePassword("the") password = ChangePassword("the")
@@ -861,7 +865,7 @@ func ChooseOption(o *fs.Option, name string) string {
for { for {
fmt.Printf("Password strength in bits.\n64 is just about memorable\n128 is secure\n1024 is the maximum\n") fmt.Printf("Password strength in bits.\n64 is just about memorable\n128 is secure\n1024 is the maximum\n")
bits := ChooseNumber("Bits", 64, 1024) bits := ChooseNumber("Bits", 64, 1024)
password, err := random.Password(bits) password, err = Password(bits)
if err != nil { if err != nil {
log.Fatalf("Failed to make password: %v", err) log.Fatalf("Failed to make password: %v", err)
} }

View File

@@ -30,6 +30,7 @@ func testConfigFile(t *testing.T, configFileName string) func() {
oldConfig := fs.Config oldConfig := fs.Config
oldConfigFile := configFile oldConfigFile := configFile
oldReadLine := ReadLine oldReadLine := ReadLine
oldPassword := Password
os.Stdout = nil os.Stdout = nil
ConfigPath = path ConfigPath = path
fs.Config = &fs.ConfigInfo{} fs.Config = &fs.ConfigInfo{}
@@ -63,6 +64,7 @@ func testConfigFile(t *testing.T, configFileName string) func() {
os.Stdout = oldOsStdout os.Stdout = oldOsStdout
ConfigPath = oldConfigPath ConfigPath = oldConfigPath
ReadLine = oldReadLine ReadLine = oldReadLine
Password = oldPassword
fs.Config = oldConfig fs.Config = oldConfig
configFile = oldConfigFile configFile = oldConfigFile
@@ -71,24 +73,28 @@ func testConfigFile(t *testing.T, configFileName string) func() {
} }
} }
func TestCRUD(t *testing.T) { // makeReadLine makes a simple readLine which returns a fixed list of
defer testConfigFile(t, "crud.conf")() // strings
func makeReadLine(answers []string) func() string {
// expect script for creating remote
i := 0 i := 0
ReadLine = func() string { return func() string {
answers := []string{
"config_test_remote", // type
"true", // bool value
"y", // type my own password
"secret", // password
"secret", // repeat
"y", // looks good, save
}
i = i + 1 i = i + 1
return answers[i-1] return answers[i-1]
} }
}
func TestCRUD(t *testing.T) {
defer testConfigFile(t, "crud.conf")()
// script for creating remote
ReadLine = makeReadLine([]string{
"config_test_remote", // type
"true", // bool value
"y", // type my own password
"secret", // password
"secret", // repeat
"y", // looks good, save
})
NewRemote("test") NewRemote("test")
assert.Equal(t, []string{"test"}, configFile.GetSectionList()) assert.Equal(t, []string{"test"}, configFile.GetSectionList())
@@ -97,7 +103,11 @@ func TestCRUD(t *testing.T) {
assert.Equal(t, "secret", obscure.MustReveal(FileGet("test", "pass"))) assert.Equal(t, "secret", obscure.MustReveal(FileGet("test", "pass")))
// normal rename, test → asdf // normal rename, test → asdf
ReadLine = func() string { return "asdf" } ReadLine = makeReadLine([]string{
"asdf",
"asdf",
"asdf",
})
RenameRemote("test") RenameRemote("test")
assert.Equal(t, []string{"asdf"}, configFile.GetSectionList()) assert.Equal(t, []string{"asdf"}, configFile.GetSectionList())
@@ -118,6 +128,41 @@ func TestCRUD(t *testing.T) {
assert.Equal(t, []string{}, configFile.GetSectionList()) assert.Equal(t, []string{}, configFile.GetSectionList())
} }
func TestChooseOption(t *testing.T) {
defer testConfigFile(t, "crud.conf")()
// script for creating remote
ReadLine = makeReadLine([]string{
"config_test_remote", // type
"false", // bool value
"x", // bad choice
"g", // generate password
"1024", // very big
"y", // password OK
"y", // looks good, save
})
Password = func(bits int) (string, error) {
assert.Equal(t, 1024, bits)
return "not very random password", nil
}
NewRemote("test")
assert.Equal(t, "false", FileGet("test", "bool"))
assert.Equal(t, "not very random password", obscure.MustReveal(FileGet("test", "pass")))
// script for creating remote
ReadLine = makeReadLine([]string{
"config_test_remote", // type
"true", // bool value
"n", // not required
"y", // looks good, save
})
NewRemote("test")
assert.Equal(t, "true", FileGet("test", "bool"))
assert.Equal(t, "", FileGet("test", "pass"))
}
func TestCreateUpatePasswordRemote(t *testing.T) { func TestCreateUpatePasswordRemote(t *testing.T) {
defer testConfigFile(t, "update.conf")() defer testConfigFile(t, "update.conf")()

View File

@@ -1,4 +1,4 @@
package fs package fs
// Version of rclone // Version of rclone
var Version = "v1.49.0" var Version = "v1.49.1"

View File

@@ -46,7 +46,7 @@ func ReadBody(resp *http.Response) (result []byte, err error) {
} }
// defaultErrorHandler doesn't attempt to parse the http body, just // defaultErrorHandler doesn't attempt to parse the http body, just
// returns it in the error message // returns it in the error message closing resp.Body
func defaultErrorHandler(resp *http.Response) (err error) { func defaultErrorHandler(resp *http.Response) (err error) {
body, err := ReadBody(resp) body, err := ReadBody(resp)
if err != nil { if err != nil {
@@ -178,9 +178,11 @@ func ClientWithNoRedirects(c *http.Client) *http.Client {
// Call makes the call and returns the http.Response // Call makes the call and returns the http.Response
// //
// if err != nil then resp.Body will need to be closed unless // if err == nil then resp.Body will need to be closed unless
// opt.NoResponse is set // opt.NoResponse is set
// //
// if err != nil then resp.Body will have been closed
//
// it will return resp if at all possible, even if err is set // it will return resp if at all possible, even if err is set
func (api *Client) Call(opts *Opts) (resp *http.Response, err error) { func (api *Client) Call(opts *Opts) (resp *http.Response, err error) {
api.mu.RLock() api.mu.RLock()

44
rclone.1 generated
View File

@@ -1,7 +1,7 @@
.\"t .\"t
.\" Automatically generated by Pandoc 2.2.1 .\" Automatically generated by Pandoc 2.2.1
.\" .\"
.TH "rclone" "1" "Aug 26, 2019" "User Manual" "" .TH "rclone" "1" "Aug 28, 2019" "User Manual" ""
.hy .hy
.SH Rclone \- rsync for cloud storage .SH Rclone \- rsync for cloud storage
.PP .PP
@@ -10462,7 +10462,7 @@ These flags are available for every command.
\ \ \ \ \ \ \-\-use\-json\-log\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ json\ log\ format. \ \ \ \ \ \ \-\-use\-json\-log\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ json\ log\ format.
\ \ \ \ \ \ \-\-use\-mmap\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ mmap\ allocator\ (see\ docs). \ \ \ \ \ \ \-\-use\-mmap\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ mmap\ allocator\ (see\ docs).
\ \ \ \ \ \ \-\-use\-server\-modtime\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ server\ modified\ time\ instead\ of\ object\ metadata \ \ \ \ \ \ \-\-use\-server\-modtime\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ server\ modified\ time\ instead\ of\ object\ metadata
\ \ \ \ \ \ \-\-user\-agent\ string\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Set\ the\ user\-agent\ to\ a\ specified\ string.\ The\ default\ is\ rclone/\ version\ (default\ "rclone/v1.49.0") \ \ \ \ \ \ \-\-user\-agent\ string\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Set\ the\ user\-agent\ to\ a\ specified\ string.\ The\ default\ is\ rclone/\ version\ (default\ "rclone/v1.49.1")
\ \ \-v,\ \-\-verbose\ count\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Print\ lots\ more\ stuff\ (repeat\ for\ more) \ \ \-v,\ \-\-verbose\ count\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Print\ lots\ more\ stuff\ (repeat\ for\ more)
\f[] \f[]
.fi .fi
@@ -23648,6 +23648,31 @@ Type: bool
.IP \[bu] 2 .IP \[bu] 2
Default: false Default: false
.SH Changelog .SH Changelog
.SS v1.49.1 \- 2019\-08\-28
.PP
Point release to fix config bug and google photos backend.
.IP \[bu] 2
Bug Fixes
.RS 2
.IP \[bu] 2
config: Fix generated passwords being stored as empty password (Nick
Craig\-Wood)
.IP \[bu] 2
rcd: Added missing parameter for web\-gui info logs.
(Chaitanya)
.RE
.IP \[bu] 2
Googlephotos
.RS 2
.IP \[bu] 2
Fix crash on error response (Nick Craig\-Wood)
.RE
.IP \[bu] 2
Onedrive
.RS 2
.IP \[bu] 2
Fix crash on error response (Nick Craig\-Wood)
.RE
.SS v1.49.0 \- 2019\-08\-26 .SS v1.49.0 \- 2019\-08\-26
.IP \[bu] 2 .IP \[bu] 2
New backends New backends
@@ -23673,12 +23698,19 @@ Implement \f[C]\-\-compare\-dest\f[] & \f[C]\-\-copy\-dest\f[]
Implement \f[C]\-\-suffix\f[] without \f[C]\-\-backup\-dir\f[] for Implement \f[C]\-\-suffix\f[] without \f[C]\-\-backup\-dir\f[] for
backup to current dir (yparitcher) backup to current dir (yparitcher)
.IP \[bu] 2 .IP \[bu] 2
Add \f[C]\-\-use\-json\-log\f[] for JSON logging (justinalin) \f[C]config\ reconnect\f[] to re\-login (re\-run the oauth login) for
.IP \[bu] 2 the backend.
Add \f[C]config\ reconnect\f[], \f[C]config\ userinfo\f[] and
\f[C]config\ disconnect\f[] subcommands.
(Nick Craig\-Wood) (Nick Craig\-Wood)
.IP \[bu] 2 .IP \[bu] 2
\f[C]config\ userinfo\f[] to discover which user you are logged in as.
(Nick Craig\-Wood)
.IP \[bu] 2
\f[C]config\ disconnect\f[] to disconnect you (log out) from the
backend.
(Nick Craig\-Wood)
.IP \[bu] 2
Add \f[C]\-\-use\-json\-log\f[] for JSON logging (justinalin)
.IP \[bu] 2
Add context propagation to rclone (Aleksandar Jankovic) Add context propagation to rclone (Aleksandar Jankovic)
.IP \[bu] 2 .IP \[bu] 2
Reworking internal statistics interfaces so they work with rc jobs Reworking internal statistics interfaces so they work with rc jobs