Partial clones: including all the subtree of a directory when selecting patches

pmeunier
Feb 29, 2024, 2:19 PM
PYTC7DPVCWKYDXXBY44BBNB4DHZ3N4OQW3EOEQ7H6Z5P5XBG2EIAC

Dependencies

  • [2] DO2Y5TY5 Tag synchronisation
  • [3] I24UEJQL Various post-fire fixes
  • [4] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [5] MU5GSJAW Partial push and pull (WARNING: breaks the existing protocol)
  • [6] C3L2TLQW When downloading changes, check whether we have their dependencies and download them too
  • [7] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [8] EUZFFJSO Updating Pijul with the latest changes in Libpijul
  • [9] YN63NUZO Sanakirja 1.0
  • [10] S2B5MEWP Minor change in the type of sanakirja::GraphTxnT::Graph (prepare for more general backends)

Change contents

  • replacement in pijul-remote/src/local.rs at line 95
    [3.4530][3.4530:4571](),[3.4571][3.8693:8774](),[3.8774][3.4643:4729](),[3.10406][3.4643:4729](),[3.4643][3.4643:4729](),[3.4729][3.10407:10438]()
    result.insert(Position {
    change: remote_txn.get_external(&p.change)?.unwrap().into(),
    pos: p.pos,
    });
    paths_.insert(p);
    paths_.extend(
    [3.4530]
    [3.97]
    for p in std::iter::once(p).chain(
  • replacement in pijul-remote/src/local.rs at line 99
    [3.241][3.10681:10700](),[3.10681][3.10681:10700]()
    );
    [3.241]
    [3.81377]
    ) {
    paths_.insert(p);
    result.insert(Position {
    change: remote_txn.get_external(&p.change)?.unwrap().into(),
    pos: p.pos,
    });
    }
  • replacement in pijul-remote/src/lib.rs at line 1292
    [2.16882][2.16882:17273]()
    if let Some(h) = inode.change {
    inodes.contains(&Position {
    change: h,
    pos: inode.pos,
    })
    } else {
    false
    }
    [2.16882]
    [2.17273]
    inodes.contains(&Position {
    change: inode.change.unwrap_or(*h),
    pos: inode.pos,
    })
  • replacement in libpijul/src/fs.rs at line 524
    [3.13622][3.13622:13672]()
    if let Some(mut adj) = self.stack.pop() {
    [3.13622]
    [3.107355]
    while let Some(mut adj) = self.stack.pop() {