Detecting zombie files in output, even if their zombiness is only transitive

pmeunier
Jan 25, 2026, 6:13 PM
U7JXPYVLQ5XZPVURC3XBYVUXO7TD3QBKHWIY7QXIPDV3XRRMIGEQC

Dependencies

  • [2] CX2FTBQU Fixing compilation errors in
  • [3] 7UGR3U3W Fixing wrongly detected zombie files
  • [4] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [5] FXEDPLRI Resurrecting tests, and type cleanup (no need for Arc<RwLock<…>> anymore)
  • [6] SR3VSEJX Fixing a warning
  • [7] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [8] 3QXUJMZD More detailed display of conflicts

Change contents

  • replacement in libpijul/src/tests/file_conflicts.rs at line 948
    [4.40693][2.232:302]()
    changes: Vec::new(),
    inode: [Position::ROOT],
    [4.40693]
    [4.40693]
    changes: vec![Hash::None],
    inode: [Position {
    change: *txn_alice
    .read()
    .get_internal(&init_h.into())
    .unwrap()
    .unwrap(),
    pos: ChangePosition(L64(19u64.to_le())),
    }],
  • replacement in libpijul/src/tests/file_conflicts.rs at line 960
    [4.40774][2.303:373]()
    changes: Vec::new(),
    inode: [Position::ROOT],
    [4.40774]
    [4.40774]
    changes: vec![Hash::None],
    inode: [Position {
    change: *txn_alice
    .read()
    .get_internal(&init_h.into())
    .unwrap()
    .unwrap(),
    pos: ChangePosition(L64(34u64.to_le())),
    }],
  • replacement in libpijul/src/tests/file_conflicts.rs at line 972
    [4.40860][2.374:444]()
    changes: Vec::new(),
    inode: [Position::ROOT],
    [4.40860]
    [4.40860]
    changes: vec![Hash::None],
    inode: [Position {
    change: *txn_alice
    .read()
    .get_internal(&init_h.into())
    .unwrap()
    .unwrap(),
    pos: ChangePosition(L64(49u64.to_le())),
    }],
  • replacement in libpijul/src/tests/file_conflicts.rs at line 985
    [4.40963][2.445:541]()
    changes: Vec::new(),
    inode_vertex: [Position::ROOT],
    id: 0,
    [4.40963]
    [4.40963]
    changes: vec![charlie_h],
    inode_vertex: [Position {
    change: *txn_alice
    .read()
    .get_internal(&init_h.into())
    .unwrap()
    .unwrap(),
    pos: ChangePosition(L64(49u64.to_le())),
    }],
    id: 1,
  • replacement in libpijul/src/output/mod.rs at line 314
    [4.6057][3.21:114]()
    for e in iter_adjacent(txn, channel, pos.inode_vertex(), f, f | EdgeFlags::BLOCK)? {
    [4.6057]
    [4.6146]
    for e in iter_adjacent(
    txn,
    channel,
    pos.inode_vertex(),
    f,
    f | EdgeFlags::BLOCK | EdgeFlags::PSEUDO,
    )? {