rclone/vfs
Nick Craig-Wood 20e15e52a9 vfs: fix Create causing windows explorer to truncate files on CTRL-C CTRL-V
Before this fix, doing CTRL-C and CTRL-V on a file in Windows explorer
caused the **source** and the the destination to be truncated to 0.

This is because Windows opens the source file with Create with flags
`O_RDWR|O_CREATE|O_EXCL` but doesn't write to it - it only reads from
it. Rclone was taking the call to Create as a signal to always make a
new file, but this is incorrect.

This fix reads an existing file from the directory if it exists when
Create is called rather than always creating a new one. This fixes the
problem.

Fixes #5181
2021-03-31 14:48:02 +01:00
..
test_vfs lib/random: unify random string generation into random.String 2019-08-06 12:44:08 +01:00
vfscache vfs: rename files in cache and cancel uploads on directory rename 2021-03-22 09:07:01 +00:00
vfscommon vfs: --vfs-used-is-size to report used space using recursive scan (#4043) 2021-02-17 23:36:13 +03:00
vfsflags vfs: --vfs-used-is-size to report used space using recursive scan (#4043) 2021-02-17 23:36:13 +03:00
vfstest mount: more user friendly mounting as network drive on windows 2020-12-28 13:59:34 +00:00
dir.go vfs: fix Create causing windows explorer to truncate files on CTRL-C CTRL-V 2021-03-31 14:48:02 +01:00
dir_handle.go Spelling fixes 2020-10-14 15:21:31 +01:00
dir_handle_test.go vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +01:00
dir_test.go vfs: fix Create causing windows explorer to truncate files on CTRL-C CTRL-V 2021-03-31 14:48:02 +01:00
errors.go build: drop support for go1.8 2019-04-15 21:49:58 +01:00
errors_test.go vfs: add tests and subsequent fixes 2017-11-04 10:24:10 +00:00
file.go vfs: fix modtime set if --vfs-cache-mode writes/full and no write 2021-03-16 13:36:48 +00:00
file_test.go vfs: fix modtime set if --vfs-cache-mode writes/full and no write 2021-03-16 13:36:48 +00:00
help.go vfs: --vfs-used-is-size to report used space using recursive scan (#4043) 2021-02-17 23:36:13 +03:00
make_open_tests.go vfs: bring DO NOT EDIT comments in line with "go help generate" 2020-04-30 12:24:44 +01:00
open_test.go vfs: bring DO NOT EDIT comments in line with "go help generate" 2020-04-30 12:24:44 +01:00
rc.go vfs: fix vfs/refresh calls with fs= parameter 2020-11-07 14:26:33 +00:00
rc_test.go vfs: fix vfs/refresh calls with fs= parameter 2020-11-07 14:26:33 +00:00
read.go fs: deglobalise the config #4685 2020-11-26 16:40:12 +00:00
read_test.go vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +01:00
read_write.go vfs: fix modtime set if --vfs-cache-mode writes/full and no write 2021-03-16 13:36:48 +00:00
read_write_test.go vfs: Make tests run reliably 2020-06-30 12:01:36 +01:00
vfs.go vfs: --vfs-used-is-size to report used space using recursive scan (#4043) 2021-02-17 23:36:13 +03:00
vfs_case_test.go vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +01:00
vfs_test.go Spelling fixes 2020-10-14 15:21:31 +01:00
vfstest_test.go mount: change interface of mount commands to take mount options 2020-07-24 10:48:51 +01:00
vstate_string.go vfs: fix virtual entries causing deleted files to still appear 2020-11-10 16:47:25 +00:00
write.go docs: spelling: etc. 2020-10-28 18:16:23 +00:00
write_test.go vfs: add --vfs-writeback option to delay writes back to cloud storage 2020-06-30 12:01:36 +01:00