mirror of
https://github.com/rclone/rclone.git
synced 2024-11-22 00:13:49 +01:00
pcloud: delete half uploaded files on upload error
Sometimes pcloud will leave a half uploaded file when the transfer actually failed. This patch deletes the file if it exists. This problem was spotted by the integration tests.
This commit is contained in:
parent
b4d86d5450
commit
32ab4e9ac6
@ -1107,6 +1107,12 @@ func (o *Object) Update(in io.Reader, src fs.ObjectInfo, options ...fs.OpenOptio
|
||||
return shouldRetry(resp, err)
|
||||
})
|
||||
if err != nil {
|
||||
// sometimes pcloud leaves a half complete file on
|
||||
// error, so delete it if it exists
|
||||
delObj, delErr := o.fs.NewObject(o.remote)
|
||||
if delErr == nil && delObj != nil {
|
||||
_ = delObj.Remove()
|
||||
}
|
||||
return err
|
||||
}
|
||||
if len(result.Items) != 1 {
|
||||
|
@ -379,6 +379,8 @@ func Run(t *testing.T, opt *Opt) {
|
||||
//
|
||||
// It makes sure that aborting a file half way through does not create
|
||||
// a file on the remote.
|
||||
//
|
||||
// go test -v -run 'TestIntegration/Test(Setup|Init|FsMkdir|FsPutError)$'
|
||||
t.Run("TestFsPutError", func(t *testing.T) {
|
||||
skipIfNotOk(t)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user