Fixing `pijul remove` when files are not deleted

[?]
Jan 11, 2021, 5:34 PM
CXM5CBS27BL35Z6TRCI7OS4AHWVJ4VFND7HECGAUC74ZQ5KFZXLAC

Dependencies

  • [2] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [3] IM6UFPOZ Fixing a test related to the tree/revtree tables
  • [4] I52XSRUH Massive cleanup, and simplification
  • [5] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [6] ZAEUSICJ File deletions were not shown with their names in the metadata during record
  • [7] 7T5STZYB Now you can `pijul remove` the root of a repository
  • [8] VO5OQW4W Removing anyhow in libpijul

Change contents

  • edit in libpijul/src/record.rs at line 213
    [2.32947]
    [3.493834]
    self.delete_obsolete_children(
    txn,
    T::graph(channel),
    working_copy,
    changes,
    &item.full_path,
    vertex,
    )?;
  • replacement in libpijul/src/record.rs at line 499
    [3.503650][3.503650:503681]()
    debug!("v = {:?}", v);
    [3.503650]
    [2.34285]
    debug!("delete_obsolete_children, v = {:?}", v);
  • edit in libpijul/src/record.rs at line 563
    [2.35430]
    [3.504972]
    debug!("push_children, item = {:?}", item);
  • replacement in libpijul/src/output/output.rs at line 293
    [2.83365][3.0:71](),[3.681523][3.0:71]()
    crate::fs::rec_delete(txn, file_id.clone(), inode)
    [2.83365]
    [3.21529]
    crate::fs::rec_delete(txn, file_id.clone(), inode, true)
  • replacement in libpijul/src/output/output.rs at line 302
    [2.83557][3.72:139](),[3.682008][3.72:139]()
    crate::fs::rec_delete(txn, file_id.clone(), inode)
    [2.83557]
    [3.21878]
    crate::fs::rec_delete(txn, file_id.clone(), inode, true)
  • replacement in libpijul/src/output/output.rs at line 311
    [2.83737][3.140:238](),[3.682457][3.140:238]()
    crate::fs::rec_delete(txn, file_id.clone(), inode).map_err(PristineOutputError::Fs)?;
    [2.83737]
    [3.682528]
    crate::fs::rec_delete(txn, file_id.clone(), inode, true).map_err(PristineOutputError::Fs)?;
  • edit in libpijul/src/fs.rs at line 301
    [3.747021]
    [2.104803]
    delete_inodes: bool,
  • replacement in libpijul/src/fs.rs at line 324
    [3.747710][3.534:571]()
    rec_delete(txn, k, inode_)?;
    [3.747710]
    [3.747762]
    rec_delete(txn, k, inode_, delete_inodes)?;
  • replacement in libpijul/src/fs.rs at line 334
    [2.105096][2.105096:105211]()
    if let Some(vertex) = txn.get_inodes(inode, None)? {
    del_inodes_with_rev(txn, inode, vertex)?;
    [2.105096]
    [3.748543]
    if delete_inodes {
    if let Some(vertex) = txn.get_inodes(inode, None)? {
    del_inodes_with_rev(txn, inode, vertex)?;
    }
  • replacement in libpijul/src/fs.rs at line 362
    [3.749037][3.572:609]()
    rec_delete(txn, parent, inode)?;
    [3.749037]
    [3.749081]
    rec_delete(txn, parent, inode, false)?;