Propagate panics from Untracked iterator

dblsaiko
Apr 1, 2024, 4:14 PM
36OW3F4BW33NMPMFJZ5WWDMYGLBPTJ4LKWCXY5PSKMGC2J7HPW3AC

Dependencies

  • [2] J33DKFPM Do not traverse unindexed directories in `pijul diff -su`
  • [3] HSEYMLO2 Adding an untracked change iterator
  • [*] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).

Change contents

  • edit in libpijul/src/working_copy/filesystem.rs at line 134
    [3.3221]
    [3.3221]
    }
    impl Untracked {
    fn check_last_error(&mut self) -> Result<(), std::io::Error> {
    if let Some(j) = self.join.take() {
    return j.join().expect("iterator thread panicked");
    }
    Ok(())
    }
    }
    impl Drop for Untracked {
    fn drop(&mut self) {
    let _ = self.check_last_error();
    }
  • replacement in libpijul/src/working_copy/filesystem.rs at line 158
    [2.2326][2.2326:2480]()
    if let Some(j) = self.join.take() {
    if let Ok(Err(e)) = j.join() {
    return Some(Err(e));
    }
    [2.2326]
    [3.3567]
    if let Err(e) = self.check_last_error() {
    return Some(Err(e));