Moving to temporary paths when outputting
[?]
Apr 25, 2021, 8:27 AM
YCEZL7VFBZNOZTSSI24D36ACJVZKXCCEOIFWIHQWK22QPB4PDTRACDependencies
- [2]
I24UEJQLVarious post-fire fixes - [3]
VNBLGT6GDo not output unmodified files when resetting (fix) - [4]
JP3BYVXXFixing file paths on Windows - [5]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [6]
VO5OQW4WRemoving anyhow in libpijul
Change contents
- edit in libpijul/src/working_copy/filesystem.rs at line 310
}if let Err(e) = std::fs::rename(&former, &new) {error!("while renaming {:?} to {:?}: {:?}", former, new, e) - edit in libpijul/src/working_copy/filesystem.rs at line 311
std::fs::rename(&former, &new)?; - replacement in libpijul/src/output/output.rs at line 71
work: Arc<crossbeam_deque::Injector<(OutputItem, String)>>,work: Arc<crossbeam_deque::Injector<(OutputItem, String, Option<String>)>>, - replacement in libpijul/src/output/output.rs at line 80
Steal::Success((item, path)) => {Steal::Success((item, path, tmp)) => { - replacement in libpijul/src/output/output.rs at line 82
info!("Outputting {:?}, on thread {}", path, t);info!("Outputting {:?} (tmp {:?}), on thread {}", path, tmp, t);let path = tmp.as_deref().unwrap_or(&path); - replacement in libpijul/src/output/output.rs at line 91
&path,path, - replacement in libpijul/src/output/output.rs at line 94
repo.set_permissions(&path, item.meta.permissions())repo.set_permissions(path, item.meta.permissions()) - edit in libpijul/src/output/output.rs at line 178
None, - edit in libpijul/src/output/output.rs at line 258
if let Some(ref mut tmp) = output_item.tmp {path::push(tmp, file_name);} - edit in libpijul/src/output/output.rs at line 262
let mut tmp = output_item.tmp.take(); - edit in libpijul/src/output/output.rs at line 269
&mut tmp, - replacement in libpijul/src/output/output.rs at line 288
repo.create_dir_all(&path)let tmp_ = tmp.as_deref().unwrap_or(&path);repo.create_dir_all(tmp_) - edit in libpijul/src/output/output.rs at line 301
tmp.as_deref(), - replacement in libpijul/src/output/output.rs at line 307
repo.set_permissions(&path, output_item.meta.permissions())repo.set_permissions(tmp_, output_item.meta.permissions()) - replacement in libpijul/src/output/output.rs at line 311
work.push((output_item.clone(), path.clone()));work.push((output_item.clone(), path.clone(), tmp.clone())); - edit in libpijul/src/output/output.rs at line 325
for (a, b) in actual_moves.iter() {repo.rename(a, b).map_err(OutputError::WorkingCopy)?} - replacement in libpijul/src/output/output.rs at line 326
let o = output_loop(repo, changes, txn, channel, work, stop, 0);let o = output_loop(repo.clone(), changes, txn, channel, work, stop, 0); - edit in libpijul/src/output/output.rs at line 331
for (a, b) in actual_moves.iter() {repo.rename(a, b).map_err(OutputError::WorkingCopy)?} - edit in libpijul/src/output/output.rs at line 368
tmp: &mut Option<String>, - edit in libpijul/src/output/output.rs at line 404
if let Some(ref mut tmp) = tmp {crate::path::push(tmp, &s);} else {*tmp = Some(tmp_path.clone());} - edit in libpijul/src/output/mod.rs at line 84
tmp: Option<String>, - edit in libpijul/src/output/mod.rs at line 97
tmp: Option<&str>, - edit in libpijul/src/output/mod.rs at line 171
tmp: tmp.map(String::from), - edit in libpijul/src/output/archive.rs at line 158
None, - edit in libpijul/src/output/archive.rs at line 228
None,