Compare commits
10 commits
tcl/master
...
v1.62-stab
Author | SHA1 | Date | |
---|---|---|---|
|
78d0f48b98 | ||
|
785c6d5ab6 | ||
|
f99d4cd5c7 | ||
|
0056c22c6f | ||
|
4452be379d | ||
|
fa053a88ee | ||
|
4603580c24 | ||
|
2d696f0842 | ||
|
34f5cc743a | ||
|
d08c577adf |
16 changed files with 161 additions and 41 deletions
|
@ -11,7 +11,7 @@ RUN ./rclone version
|
|||
# Begin final image
|
||||
FROM alpine:latest
|
||||
|
||||
RUN apk --no-cache add ca-certificates fuse tzdata && \
|
||||
RUN apk --no-cache add ca-certificates fuse3 tzdata && \
|
||||
echo "user_allow_other" >> /etc/fuse.conf
|
||||
|
||||
COPY --from=builder /go/src/github.com/rclone/rclone/rclone /usr/local/bin/
|
||||
|
|
29
MANUAL.html
generated
29
MANUAL.html
generated
|
@ -19,7 +19,7 @@
|
|||
<header id="title-block-header">
|
||||
<h1 class="title">rclone(1) User Manual</h1>
|
||||
<p class="author">Nick Craig-Wood</p>
|
||||
<p class="date">Mar 14, 2023</p>
|
||||
<p class="date">Mar 16, 2023</p>
|
||||
</header>
|
||||
<h1 id="rclone-syncs-your-files-to-cloud-storage">Rclone syncs your files to cloud storage</h1>
|
||||
<p><img width="50%" src="https://rclone.org/img/logo_on_light__horizontal_color.svg" alt="rclone logo" style="float:right; padding: 5px;" ></p>
|
||||
|
@ -785,7 +785,7 @@ rclone --dry-run --min-size 100M delete remote:path</code></pre>
|
|||
<p>Counts objects in the path and calculates the total size. Prints the result to standard output.</p>
|
||||
<p>By default the output is in human-readable format, but shows values in both human-readable format as well as the raw numbers (global option <code>--human-readable</code> is not considered). Use option <code>--json</code> to format output as JSON instead.</p>
|
||||
<p>Recurses by default, use <code>--max-depth 1</code> to stop the recursion.</p>
|
||||
<p>Some backends do not always provide file sizes, see for example <a href="https://rclone.org/googlephotos/#size">Google Photos</a> and <a href="https://rclone.org/drive/#limitations-of-google-docs">Google Drive</a>. Rclone will then show a notice in the log indicating how many such files were encountered, and count them in as empty files in the output of the size command.</p>
|
||||
<p>Some backends do not always provide file sizes, see for example <a href="https://rclone.org/googlephotos/#size">Google Photos</a> and <a href="https://rclone.org/drive/#limitations-of-google-docs">Google Docs</a>. Rclone will then show a notice in the log indicating how many such files were encountered, and count them in as empty files in the output of the size command.</p>
|
||||
<pre><code>rclone size remote:path [flags]</code></pre>
|
||||
<h2 id="options-14">Options</h2>
|
||||
<pre><code> -h, --help help for size
|
||||
|
@ -8642,7 +8642,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
|
|||
--use-json-log Use json log format
|
||||
--use-mmap Use mmap allocator (see docs)
|
||||
--use-server-modtime Use server modified time instead of object metadata
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.62.0")
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.62.2")
|
||||
-v, --verbose count Print lots more stuff (repeat for more)</code></pre>
|
||||
<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>
|
||||
|
@ -29922,6 +29922,29 @@ $ tree /tmp/b
|
|||
<li>"error": return an error based on option value</li>
|
||||
</ul>
|
||||
<h1 id="changelog">Changelog</h1>
|
||||
<h2 id="v1.62.2---2023-03-16">v1.62.2 - 2023-03-16</h2>
|
||||
<p><a href="https://github.com/rclone/rclone/compare/v1.62.1...v1.62.2">See commits</a></p>
|
||||
<ul>
|
||||
<li>Bug Fixes
|
||||
<ul>
|
||||
<li>docker volume plugin: Add missing fuse3 dependency (Nick Craig-Wood)</li>
|
||||
<li>docs: Fix size documentation (asdffdsazqqq)</li>
|
||||
</ul></li>
|
||||
<li>FTP
|
||||
<ul>
|
||||
<li>Fix 426 errors on downloads with vsftpd (Lesmiscore)</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h2 id="v1.62.1---2023-03-15">v1.62.1 - 2023-03-15</h2>
|
||||
<p><a href="https://github.com/rclone/rclone/compare/v1.62.0...v1.62.1">See commits</a></p>
|
||||
<ul>
|
||||
<li>Bug Fixes
|
||||
<ul>
|
||||
<li>docker: Add missing fuse3 dependency (cycneuramus)</li>
|
||||
<li>build: Update release docs to be more careful with the tag (Nick Craig-Wood)</li>
|
||||
<li>build: Set Github release to draft while uploading binaries (Nick Craig-Wood)</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h2 id="v1.62.0---2023-03-14">v1.62.0 - 2023-03-14</h2>
|
||||
<p><a href="https://github.com/rclone/rclone/compare/v1.61.0...v1.62.0">See commits</a></p>
|
||||
<ul>
|
||||
|
|
25
MANUAL.md
generated
25
MANUAL.md
generated
|
@ -1,6 +1,6 @@
|
|||
% rclone(1) User Manual
|
||||
% Nick Craig-Wood
|
||||
% Mar 14, 2023
|
||||
% Mar 16, 2023
|
||||
|
||||
# Rclone syncs your files to cloud storage
|
||||
|
||||
|
@ -1593,7 +1593,7 @@ recursion.
|
|||
|
||||
Some backends do not always provide file sizes, see for example
|
||||
[Google Photos](https://rclone.org/googlephotos/#size) and
|
||||
[Google Drive](https://rclone.org/drive/#limitations-of-google-docs).
|
||||
[Google Docs](https://rclone.org/drive/#limitations-of-google-docs).
|
||||
Rclone will then show a notice in the log indicating how many such
|
||||
files were encountered, and count them in as empty files in the output
|
||||
of the size command.
|
||||
|
@ -14940,7 +14940,7 @@ These flags are available for every command.
|
|||
--use-json-log Use json log format
|
||||
--use-mmap Use mmap allocator (see docs)
|
||||
--use-server-modtime Use server modified time instead of object metadata
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.62.0")
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.62.2")
|
||||
-v, --verbose count Print lots more stuff (repeat for more)
|
||||
```
|
||||
|
||||
|
@ -42464,6 +42464,25 @@ Options:
|
|||
|
||||
# Changelog
|
||||
|
||||
## v1.62.2 - 2023-03-16
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.62.1...v1.62.2)
|
||||
|
||||
* Bug Fixes
|
||||
* docker volume plugin: Add missing fuse3 dependency (Nick Craig-Wood)
|
||||
* docs: Fix size documentation (asdffdsazqqq)
|
||||
* FTP
|
||||
* Fix 426 errors on downloads with vsftpd (Lesmiscore)
|
||||
|
||||
## v1.62.1 - 2023-03-15
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.62.0...v1.62.1)
|
||||
|
||||
* Bug Fixes
|
||||
* docker: Add missing fuse3 dependency (cycneuramus)
|
||||
* build: Update release docs to be more careful with the tag (Nick Craig-Wood)
|
||||
* build: Set Github release to draft while uploading binaries (Nick Craig-Wood)
|
||||
|
||||
## v1.62.0 - 2023-03-14
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.61.0...v1.62.0)
|
||||
|
|
28
MANUAL.txt
generated
28
MANUAL.txt
generated
|
@ -1,6 +1,6 @@
|
|||
rclone(1) User Manual
|
||||
Nick Craig-Wood
|
||||
Mar 14, 2023
|
||||
Mar 16, 2023
|
||||
|
||||
Rclone syncs your files to cloud storage
|
||||
|
||||
|
@ -1472,7 +1472,7 @@ as JSON instead.
|
|||
Recurses by default, use --max-depth 1 to stop the recursion.
|
||||
|
||||
Some backends do not always provide file sizes, see for example Google
|
||||
Photos and Google Drive. Rclone will then show a notice in the log
|
||||
Photos and Google Docs. Rclone will then show a notice in the log
|
||||
indicating how many such files were encountered, and count them in as
|
||||
empty files in the output of the size command.
|
||||
|
||||
|
@ -14483,7 +14483,7 @@ These flags are available for every command.
|
|||
--use-json-log Use json log format
|
||||
--use-mmap Use mmap allocator (see docs)
|
||||
--use-server-modtime Use server modified time instead of object metadata
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.62.0")
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.62.2")
|
||||
-v, --verbose count Print lots more stuff (repeat for more)
|
||||
|
||||
Backend Flags
|
||||
|
@ -41964,6 +41964,28 @@ Options:
|
|||
|
||||
Changelog
|
||||
|
||||
v1.62.2 - 2023-03-16
|
||||
|
||||
See commits
|
||||
|
||||
- Bug Fixes
|
||||
- docker volume plugin: Add missing fuse3 dependency (Nick
|
||||
Craig-Wood)
|
||||
- docs: Fix size documentation (asdffdsazqqq)
|
||||
- FTP
|
||||
- Fix 426 errors on downloads with vsftpd (Lesmiscore)
|
||||
|
||||
v1.62.1 - 2023-03-15
|
||||
|
||||
See commits
|
||||
|
||||
- Bug Fixes
|
||||
- docker: Add missing fuse3 dependency (cycneuramus)
|
||||
- build: Update release docs to be more careful with the tag (Nick
|
||||
Craig-Wood)
|
||||
- build: Set Github release to draft while uploading binaries
|
||||
(Nick Craig-Wood)
|
||||
|
||||
v1.62.0 - 2023-03-14
|
||||
|
||||
See commits
|
||||
|
|
|
@ -10,7 +10,7 @@ This file describes how to make the various kinds of releases
|
|||
## Making a release
|
||||
|
||||
* git checkout master # see below for stable branch
|
||||
* git pull
|
||||
* git pull # IMPORTANT
|
||||
* git status - make sure everything is checked in
|
||||
* Check GitHub actions build for master is Green
|
||||
* make test # see integration test server or run locally
|
||||
|
@ -21,6 +21,7 @@ This file describes how to make the various kinds of releases
|
|||
* git status - to check for new man pages - git add them
|
||||
* git commit -a -v -m "Version v1.XX.0"
|
||||
* make retag
|
||||
* git push origin # without --follow-tags so it doesn't push the tag if it fails
|
||||
* git push --follow-tags origin
|
||||
* # Wait for the GitHub builds to complete then...
|
||||
* make fetch_binaries
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
v1.62.0
|
||||
v1.62.2
|
||||
|
|
|
@ -315,10 +315,17 @@ func (dl *debugLog) Write(p []byte) (n int, err error) {
|
|||
return len(p), nil
|
||||
}
|
||||
|
||||
// Return a *textproto.Error if err contains one or nil otherwise
|
||||
func textprotoError(err error) (errX *textproto.Error) {
|
||||
if errors.As(err, &errX) {
|
||||
return errX
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// returns true if this FTP error should be retried
|
||||
func isRetriableFtpError(err error) bool {
|
||||
switch errX := err.(type) {
|
||||
case *textproto.Error:
|
||||
if errX := textprotoError(err); errX != nil {
|
||||
switch errX.Code {
|
||||
case ftp.StatusNotAvailable, ftp.StatusTransfertAborted:
|
||||
return true
|
||||
|
@ -471,8 +478,7 @@ func (f *Fs) putFtpConnection(pc **ftp.ServerConn, err error) {
|
|||
*pc = nil
|
||||
if err != nil {
|
||||
// If not a regular FTP error code then check the connection
|
||||
var tpErr *textproto.Error
|
||||
if !errors.As(err, &tpErr) {
|
||||
if tpErr := textprotoError(err); tpErr != nil {
|
||||
nopErr := c.NoOp()
|
||||
if nopErr != nil {
|
||||
fs.Debugf(f, "Connection failed, closing: %v", nopErr)
|
||||
|
@ -621,8 +627,7 @@ func (f *Fs) Shutdown(ctx context.Context) error {
|
|||
|
||||
// translateErrorFile turns FTP errors into rclone errors if possible for a file
|
||||
func translateErrorFile(err error) error {
|
||||
switch errX := err.(type) {
|
||||
case *textproto.Error:
|
||||
if errX := textprotoError(err); errX != nil {
|
||||
switch errX.Code {
|
||||
case ftp.StatusFileUnavailable, ftp.StatusFileActionIgnored:
|
||||
err = fs.ErrorObjectNotFound
|
||||
|
@ -633,8 +638,7 @@ func translateErrorFile(err error) error {
|
|||
|
||||
// translateErrorDir turns FTP errors into rclone errors if possible for a directory
|
||||
func translateErrorDir(err error) error {
|
||||
switch errX := err.(type) {
|
||||
case *textproto.Error:
|
||||
if errX := textprotoError(err); errX != nil {
|
||||
switch errX.Code {
|
||||
case ftp.StatusFileUnavailable, ftp.StatusFileActionIgnored:
|
||||
err = fs.ErrorDirNotFound
|
||||
|
@ -925,8 +929,7 @@ func (f *Fs) mkdir(ctx context.Context, abspath string) error {
|
|||
}
|
||||
err = c.MakeDir(f.dirFromStandardPath(abspath))
|
||||
f.putFtpConnection(&c, err)
|
||||
switch errX := err.(type) {
|
||||
case *textproto.Error:
|
||||
if errX := textprotoError(err); errX != nil {
|
||||
switch errX.Code {
|
||||
case ftp.StatusFileUnavailable: // dir already exists: see issue #2181
|
||||
err = nil
|
||||
|
@ -1167,8 +1170,7 @@ func (f *ftpReadCloser) Close() error {
|
|||
// mask the error if it was caused by a premature close
|
||||
// NB StatusAboutToSend is to work around a bug in pureftpd
|
||||
// See: https://github.com/rclone/rclone/issues/3445#issuecomment-521654257
|
||||
switch errX := err.(type) {
|
||||
case *textproto.Error:
|
||||
if errX := textprotoError(err); errX != nil {
|
||||
switch errX.Code {
|
||||
case ftp.StatusTransfertAborted, ftp.StatusFileUnavailable, ftp.StatusAboutToSend:
|
||||
err = nil
|
||||
|
@ -1246,13 +1248,10 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op
|
|||
}
|
||||
err = c.Stor(o.fs.opt.Enc.FromStandardPath(path), in)
|
||||
// Ignore error 250 here - send by some servers
|
||||
if err != nil {
|
||||
switch errX := err.(type) {
|
||||
case *textproto.Error:
|
||||
switch errX.Code {
|
||||
case ftp.StatusRequestedFileActionOK:
|
||||
err = nil
|
||||
}
|
||||
if errX := textprotoError(err); errX != nil {
|
||||
switch errX.Code {
|
||||
case ftp.StatusRequestedFileActionOK:
|
||||
err = nil
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
|
|
|
@ -26,7 +26,8 @@ echo "Making release ${VERSION} anchor ${ANCHOR} to repo ${REPO}"
|
|||
gh release create "${VERSION}" \
|
||||
--repo ${REPO} \
|
||||
--title "rclone ${VERSION}" \
|
||||
--notes-file "/tmp/${VERSION}-release-notes"
|
||||
--notes-file "/tmp/${VERSION}-release-notes" \
|
||||
--draft=true
|
||||
|
||||
for build in build/*; do
|
||||
case $build in
|
||||
|
@ -40,6 +41,10 @@ for build in build/*; do
|
|||
"${build}"
|
||||
done
|
||||
|
||||
gh release edit "${VERSION}" \
|
||||
--repo ${REPO} \
|
||||
--draft=false
|
||||
|
||||
gh release view "${VERSION}" \
|
||||
--repo ${REPO}
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ recursion.
|
|||
|
||||
Some backends do not always provide file sizes, see for example
|
||||
[Google Photos](/googlephotos/#size) and
|
||||
[Google Drive](/drive/#limitations-of-google-docs).
|
||||
[Google Docs](/drive/#limitations-of-google-docs).
|
||||
Rclone will then show a notice in the log indicating how many such
|
||||
files were encountered, and count them in as empty files in the output
|
||||
of the size command.
|
||||
|
|
|
@ -8,7 +8,7 @@ FROM alpine:latest
|
|||
COPY --from=binaries /usr/local/bin/rclone /usr/bin/rclone
|
||||
|
||||
RUN mkdir -p /data/config /data/cache /mnt \
|
||||
&& apk --no-cache add ca-certificates fuse tzdata \
|
||||
&& apk --no-cache add ca-certificates fuse3 tzdata \
|
||||
&& echo "user_allow_other" >> /etc/fuse.conf \
|
||||
&& rclone version
|
||||
|
||||
|
|
|
@ -5,6 +5,25 @@ description: "Rclone Changelog"
|
|||
|
||||
# Changelog
|
||||
|
||||
## v1.62.2 - 2023-03-16
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.62.1...v1.62.2)
|
||||
|
||||
* Bug Fixes
|
||||
* docker volume plugin: Add missing fuse3 dependency (Nick Craig-Wood)
|
||||
* docs: Fix size documentation (asdffdsazqqq)
|
||||
* FTP
|
||||
* Fix 426 errors on downloads with vsftpd (Lesmiscore)
|
||||
|
||||
## v1.62.1 - 2023-03-15
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.62.0...v1.62.1)
|
||||
|
||||
* Bug Fixes
|
||||
* docker: Add missing fuse3 dependency (cycneuramus)
|
||||
* build: Update release docs to be more careful with the tag (Nick Craig-Wood)
|
||||
* build: Set Github release to draft while uploading binaries (Nick Craig-Wood)
|
||||
|
||||
## v1.62.0 - 2023-03-14
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.61.0...v1.62.0)
|
||||
|
|
|
@ -26,7 +26,7 @@ recursion.
|
|||
|
||||
Some backends do not always provide file sizes, see for example
|
||||
[Google Photos](/googlephotos/#size) and
|
||||
[Google Drive](/drive/#limitations-of-google-docs).
|
||||
[Google Docs](/drive/#limitations-of-google-docs).
|
||||
Rclone will then show a notice in the log indicating how many such
|
||||
files were encountered, and count them in as empty files in the output
|
||||
of the size command.
|
||||
|
|
|
@ -171,7 +171,7 @@ These flags are available for every command.
|
|||
--use-json-log Use json log format
|
||||
--use-mmap Use mmap allocator (see docs)
|
||||
--use-server-modtime Use server modified time instead of object metadata
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.62.0")
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.62.2")
|
||||
-v, --verbose count Print lots more stuff (repeat for more)
|
||||
```
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
v1.62.0
|
||||
v1.62.2
|
|
@ -1,4 +1,4 @@
|
|||
package fs
|
||||
|
||||
// VersionTag of rclone
|
||||
var VersionTag = "v1.62.0"
|
||||
var VersionTag = "v1.62.2"
|
||||
|
|
38
rclone.1
generated
38
rclone.1
generated
|
@ -1,7 +1,7 @@
|
|||
.\"t
|
||||
.\" Automatically generated by Pandoc 2.9.2.1
|
||||
.\"
|
||||
.TH "rclone" "1" "Mar 14, 2023" "User Manual" ""
|
||||
.TH "rclone" "1" "Mar 16, 2023" "User Manual" ""
|
||||
.hy
|
||||
.SH Rclone syncs your files to cloud storage
|
||||
.PP
|
||||
|
@ -2078,7 +2078,7 @@ Recurses by default, use \f[C]--max-depth 1\f[R] to stop the recursion.
|
|||
.PP
|
||||
Some backends do not always provide file sizes, see for example Google
|
||||
Photos (https://rclone.org/googlephotos/#size) and Google
|
||||
Drive (https://rclone.org/drive/#limitations-of-google-docs).
|
||||
Docs (https://rclone.org/drive/#limitations-of-google-docs).
|
||||
Rclone will then show a notice in the log indicating how many such files
|
||||
were encountered, and count them in as empty files in the output of the
|
||||
size command.
|
||||
|
@ -20461,7 +20461,7 @@ These flags are available for every command.
|
|||
--use-json-log Use json log format
|
||||
--use-mmap Use mmap allocator (see docs)
|
||||
--use-server-modtime Use server modified time instead of object metadata
|
||||
--user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.62.0\[dq])
|
||||
--user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.62.2\[dq])
|
||||
-v, --verbose count Print lots more stuff (repeat for more)
|
||||
\f[R]
|
||||
.fi
|
||||
|
@ -58046,6 +58046,38 @@ Options:
|
|||
.IP \[bu] 2
|
||||
\[dq]error\[dq]: return an error based on option value
|
||||
.SH Changelog
|
||||
.SS v1.62.2 - 2023-03-16
|
||||
.PP
|
||||
See commits (https://github.com/rclone/rclone/compare/v1.62.1...v1.62.2)
|
||||
.IP \[bu] 2
|
||||
Bug Fixes
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
docker volume plugin: Add missing fuse3 dependency (Nick Craig-Wood)
|
||||
.IP \[bu] 2
|
||||
docs: Fix size documentation (asdffdsazqqq)
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
FTP
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Fix 426 errors on downloads with vsftpd (Lesmiscore)
|
||||
.RE
|
||||
.SS v1.62.1 - 2023-03-15
|
||||
.PP
|
||||
See commits (https://github.com/rclone/rclone/compare/v1.62.0...v1.62.1)
|
||||
.IP \[bu] 2
|
||||
Bug Fixes
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
docker: Add missing fuse3 dependency (cycneuramus)
|
||||
.IP \[bu] 2
|
||||
build: Update release docs to be more careful with the tag (Nick
|
||||
Craig-Wood)
|
||||
.IP \[bu] 2
|
||||
build: Set Github release to draft while uploading binaries (Nick
|
||||
Craig-Wood)
|
||||
.RE
|
||||
.SS v1.62.0 - 2023-03-14
|
||||
.PP
|
||||
See commits (https://github.com/rclone/rclone/compare/v1.61.0...v1.62.0)
|
||||
|
|
Loading…
Add table
Reference in a new issue