Remove .pijul after a failed cloned, in the case we created it but did not its parent

[?]
Jan 13, 2021, 4:19 PM
23OFHED65KP272FJAYMST42OG7Z7NPAS6F3MUSQLO43B7EQ6GLWQC

Dependencies

  • [2] SQVWP4LU When clone fails, only remove directories we have created (not other directories)
  • [3] B3QWIGDE Fixing the Git features with the latest Pijul (+ conflicts in Cargo.toml)
  • [4] LYTVEPH3 Avoid cloning into an existing path
  • [*] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).

Change contents

  • replacement in pijul/src/commands/clone.rs at line 63
    [3.72][2.98:220]()
    if repo_path_.remove {
    std::fs::remove_dir_all(&repo_path_.path).unwrap_or(());
    }
    [3.72]
    [3.1705]
    repo_path_.remove();
  • replacement in pijul/src/commands/clone.rs at line 130
    [2.337][2.337:355]()
    remove: bool,
    [2.337]
    [2.355]
    remove_dir: bool,
    remove_dot: bool,
  • replacement in pijul/src/commands/clone.rs at line 137
    [2.429][2.429:484]()
    remove: std::fs::metadata(&path).is_err(),
    [2.429]
    [2.484]
    remove_dir: std::fs::metadata(&path).is_err(),
    remove_dot: std::fs::metadata(&path.join(libpijul::DOT_DIR)).is_err(),
  • edit in pijul/src/commands/clone.rs at line 142
    [2.518]
    [2.518]
    fn remove(&self) {
    if self.remove_dir {
    std::fs::remove_dir_all(&self.path).unwrap_or(());
    } else if self.remove_dot {
    std::fs::remove_dir_all(&self.path.join(libpijul::DOT_DIR)).unwrap_or(());
    }
    }
  • replacement in pijul/src/commands/clone.rs at line 153
    [3.393][2.521:619]()
    if self.remove {
    std::fs::remove_dir_all(&self.path).unwrap_or(());
    }
    [3.393]
    [3.449]
    self.remove()