Fixing path search for cyclic directories

pmeunier
Jan 4, 2022, 12:31 PM
UDI52FVAUZ3HQXFIRZPTC2D5333QZCE6KQEE2X2FCHYMXVANTOCAC

Dependencies

  • [2] RMDMAYRX Adding a root inode (aka supporting submodules)
  • [3] LEDABF7O Formatting
  • [4] KNB3RZMS Fixing path crashes related to the new non-null roots
  • [5] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [6] U56SMNHU Breaking out of potentially infinite loops in follow_oldest_path
  • [*] YN63NUZO Sanakirja 1.0

Change contents

  • edit in libpijul/src/fs.rs at line 865
    [4.759531]
    [4.759531]
    let mut seen = HashSet::new();
  • replacement in libpijul/src/fs.rs at line 914
    [4.1963][4.1963:2050]()
    current = iter_adjacent(txn, txn.graph(channel), *next, flag0, flag1)?
    [4.1963]
    [4.2050]
    let current_ = iter_adjacent(txn, txn.graph(channel), *next, flag0, flag1)?
  • replacement in libpijul/src/fs.rs at line 918
    [4.94][3.201:224]()
    break;
    [4.94]
    [4.2137]
    if seen.insert(current_) {
    current = current_;
    break;
    }
  • edit in libpijul/src/fs.rs at line 940
    [4.761250]
    [4.761250]
    let mut seen = HashSet::new();
  • edit in libpijul/src/fs.rs at line 945
    [2.26962]
    [4.761401]
    debug!("path = {:?}", path);
  • edit in libpijul/src/fs.rs at line 973
    [4.761761]
    [4.761761]
  • edit in libpijul/src/fs.rs at line 1003
    [4.762767]
    [8.133611]
    if !seen.insert(next.dest()) {
    continue;
    }