More atomic "file moves+transaction"
[?]
Mar 9, 2021, 9:05 PM
EEOOHGQQK43J36LQJDSS3UK56M54DXPYE4VB3K4A2XAYGOYDJAXACDependencies
- [2]
PP3E3TREDo not move source if destination is wrong - [3]
L4JXJHWXpijul/*: reorganize imports and remove extern crate - [4]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [5]
Y7YAFMFFFix path prefix striping on Windows.
Change contents
- replacement in pijul/src/commands/file_operations.rs at line 2
use std::path::PathBuf;use std::path::{Path, PathBuf}; - replacement in pijul/src/commands/file_operations.rs at line 49
let target = std::fs::canonicalize(&target)?;let r = Rename {source: &source,target: &target,};std::fs::rename(r.source, r.target)?;let target = std::fs::canonicalize(r.target)?; - replacement in pijul/src/commands/file_operations.rs at line 61
std::fs::rename(&source, &target)?;std::mem::forget(r); - edit in pijul/src/commands/file_operations.rs at line 66
}struct Rename<'a> {source: &'a Path,target: &'a Path, - edit in pijul/src/commands/file_operations.rs at line 73
impl<'a> Drop for Rename<'a> {fn drop(&mut self) {std::fs::rename(self.target, self.source).unwrap_or(())}}