When moving a file to the remote failed, and partially transferred content was left behind in the directory, re-running the same move would think it succeeded and delete the local copy. I reproduced data loss when moving files to a partition that was almost full. Interrupting a transfer could have similar results. Easily fixed by using a temp file which is then moved atomically into place once the transfer completes. I've audited other calls to copyFileExternal, and other special remote file transfer code; everything else seems to use temp files correctly (rsync, git), or otherwise use atomic transfers (bup, S3). |
||
|---|---|---|
| .. | ||
| Helper | ||
| Bup.hs | ||
| Directory.hs | ||
| Git.hs | ||
| Hook.hs | ||
| List.hs | ||
| Rsync.hs | ||
| S3.hs | ||
| Web.hs | ||