Cleanup after the text changes refactoring

pmeunier
Nov 23, 2021, 12:12 PM
AF5AKUTO7AUAWFO5JS4W5BC5IG2F4EB4MGKYC5Q2CWJCVB65ZRYQC

Dependencies

  • [2] C73F2EFD Version bump
  • [3] QAXLX3UA Backwards-compatibility: moving old paths to the new "roots" feature
  • [4] VRDOV7DD Versions
  • [5] 3S4DR77Z Version updates
  • [6] JACZWIJ6 Version bump
  • [7] VYHHOEYH Versions and formatting
  • [8] 5FI6SBEZ Re-implement change printing and parsing
  • [9] A3RM526Y Integrating identity malleability
  • [10] XF3FRWJ6 Version bump (including clap 3.0.0-beta.4)
  • [11] XR7MNOMU file encoding in updates
  • [12] WIORLB47 Version bump
  • [13] UN64Q3P2 Version bump
  • [14] HDGRZISM Version updates
  • [15] VKBJ6XB6 Formatting and version bump
  • [16] GBSL4AZI Version bump
  • [17] 6F6AAHK4 Simplifying pijul::commands::log, and fixing Broken Pipe errors
  • [18] IIV3EL2X Cleanup, formatting, and fixing the Git feature
  • [19] 6XDVUSBM Version bump
  • [20] HKEOO4QJ Version bump
  • [21] ZRUPLBBT Colours in diff and change: separating concerns and dependencies
  • [22] FYUDBQ3C Formatting changes + version bump
  • [23] G6YZ7U65 Version bump
  • [24] RMDMAYRX Adding a root inode (aka supporting submodules)
  • [25] TPEH2XNB 1.0.0-alpha.28, with Tokio 1.0
  • [26] UFCZKKLX Upgrading to the latest Sanakirja/Rand
  • [27] WI5BS6BS New published versions
  • [28] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [29] G65S7FAW Version bump and cleanup
  • [30] HQ56ADNS Formatting, and version bump
  • [31] V4T4SC7O Testing binary diff
  • [32] ZTVNGFNT Version bump
  • [33] CCFJ7VO3 Renaming "Record" to "Hunk" in the changes
  • [34] QJXNUQFJ Solving conflicts
  • [35] CUHXXBDZ Fixing a bug in replacements, recently introduced during a fix of a graph corruption bug
  • [36] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [37] FGIVSUFH Fixing conflicts with the new patch parsing code, and introducing AddRoot
  • [38] QDP3R3BG Updating with the latest Sanakirja
  • [39] HW5Q7GGY Version bump
  • [40] I24UEJQL Various post-fire fixes
  • [41] XAY4DYRR Version bump
  • [42] YN63NUZO Sanakirja 1.0
  • [43] SAGSYAPX Various version bumps
  • [44] XL6Y64UP Fixing a panic when iterating over the basenames of a file
  • [45] NWYJJHDF Version bump
  • [46] 6O43WXDA Version bump
  • [47] NX5I5H53 New published versions
  • [48] OUWD436A Version bump
  • [49] PIQCNEEB Upgrading to Clap 3.0.0-alpha.5
  • [50] VO5OQW4W Removing anyhow in libpijul
  • [51] CT6FBU57 SDPX license + version bump
  • [52] TNN56XYK libpijul alpha.43
  • [53] JRENVH5D Reqwest 0.11
  • [54] 6DOXSHWG Cleanup, and version bump
  • [55] 3QGE6HRD Version bump (upgrade to zstd-seekable 0.2, take 2)
  • [56] B3QWIGDE Fixing the Git features with the latest Pijul (+ conflicts in Cargo.toml)
  • [57] OCBM7IFE New release: pijul-1.0.0-alpha.8
  • [58] FDPGJDXV Compiling Thrussh with feature OpenSSL by default
  • [59] JL4WKA5P Implement the Sanakirja concurrency model in a cross-process way
  • [60] YX3VCEOM Version bump
  • [61] HSVGP2G4 Version bump + formatting
  • [62] UN2M77YU Test new changes against the old code. Fix several small bugs.

Change contents

  • replacement in pijul/Cargo.toml at line 55
    [4.197438][2.28:118]()
    libpijul = { path = "../libpijul", version = "1.0.0-alpha.49", features = [ "tarball" ] }
    [4.197438]
    [4.197523]
    libpijul = { path = "../libpijul", version = "1.0.0-alpha.50", features = [ "tarball" ] }
  • replacement in libpijul/src/tests/text_changes.rs at line 84
    [4.5849][4.266:370]()
    let change0 = Change::read_old(std::io::Cursor::new(&v_old[..]), &mut HashMap::default()).unwrap();
    [4.5849]
    [4.5849]
    let change0 =
    Change::read_old(std::io::Cursor::new(&v_old[..]), &mut HashMap::default()).unwrap();
  • replacement in libpijul/src/small_string.rs at line 343
    [4.3395][4.3395:3441]()
    impl ::sanakirja::debug::Check for SmallStr{}
    [4.3395]
    [4.488071]
    impl ::sanakirja::debug::Check for SmallStr {}
  • replacement in libpijul/src/record.rs at line 466
    [3.399][3.399:502]()
    let age = txn.get_changeset(txn.changes(&*channel), &vertex.change)?.unwrap();
    [3.399]
    [3.502]
    let age = txn
    .get_changeset(txn.changes(&*channel), &vertex.change)?
    .unwrap();
  • replacement in libpijul/src/record.rs at line 761
    [4.8413][3.1255:1339]()
    *new_root = Some((Position { change: None, pos: pos2 }, u64::MAX));
    [4.8413]
    [3.1339]
    *new_root = Some((
    Position {
    change: None,
    pos: pos2,
    },
    u64::MAX,
    ));
  • replacement in libpijul/src/record.rs at line 1061
    [3.1506][3.1506:1604]()
    let item_v_papa = if !moved.edges.is_empty()
    && moved.need_new_name
    {
    [3.1506]
    [3.1604]
    let item_v_papa = if !moved.edges.is_empty() && moved.need_new_name {
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2206
    [4.94965][4.2387:2428]()
    impl ::sanakirja::debug::Check for L64{}
    [4.94965]
    [4.576850]
    impl ::sanakirja::debug::Check for L64 {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2209
    [4.94990][4.2429:2475]()
    impl ::sanakirja::debug::Check for ChangeId{}
    [4.94990]
    [4.576899]
    impl ::sanakirja::debug::Check for ChangeId {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2212
    [4.95023][4.2476:2530]()
    impl ::sanakirja::debug::Check for Vertex<ChangeId>{}
    [4.95023]
    [4.2530]
    impl ::sanakirja::debug::Check for Vertex<ChangeId> {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2215
    [4.95057][4.2532:2588]()
    impl ::sanakirja::debug::Check for Position<ChangeId>{}
    [4.95057]
    [4.578062]
    impl ::sanakirja::debug::Check for Position<ChangeId> {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2218
    [4.95088][4.2589:2641](),[4.2641][4.95088:95089](),[4.95088][4.95088:95089]()
    impl ::sanakirja::debug::Check for SerializedEdge{}
    [4.95088]
    [4.2642]
    impl ::sanakirja::debug::Check for SerializedEdge {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2220
    [4.2643][4.2643:2687]()
    impl ::sanakirja::debug::Check for PathId{}
    [4.2643]
    [4.95089]
    impl ::sanakirja::debug::Check for PathId {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2270
    [4.96378][4.2688:2731]()
    impl ::sanakirja::debug::Check for Inode{}
    [4.96378]
    [4.96378]
    impl ::sanakirja::debug::Check for Inode {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2272
    [4.96410][4.2732:2786]()
    impl ::sanakirja::debug::Check for SerializedMerkle{}
    [4.96410]
    [4.96410]
    impl ::sanakirja::debug::Check for SerializedMerkle {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2274
    [4.96440][4.2787:2839]()
    impl ::sanakirja::debug::Check for SerializedHash{}
    [4.96440]
    [4.582759]
    impl ::sanakirja::debug::Check for SerializedHash {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2276
    [4.582760][4.2840:2949]()
    impl<A: ::sanakirja::debug::Check, B: ::sanakirja::debug::Check> ::sanakirja::debug::Check for Pair<A, B>{
    [4.582760]
    [4.2949]
    impl<A: ::sanakirja::debug::Check, B: ::sanakirja::debug::Check> ::sanakirja::debug::Check
    for Pair<A, B>
    {
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2328
    [4.97813][4.3235:3289]()
    impl ::sanakirja::debug::Check for SerializedRemote{}
    [4.97813]
    [4.33063]
    impl ::sanakirja::debug::Check for SerializedRemote {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2390
    [4.34670][4.3290:3345]()
    impl ::sanakirja::debug::Check for SerializedChannel{}
    [4.34670]
    [4.3345]
    impl ::sanakirja::debug::Check for SerializedChannel {}
  • replacement in libpijul/src/pristine/sanakirja.rs at line 2393
    [4.34694][4.3347:3393]()
    impl ::sanakirja::debug::Check for RemoteId{}
    [4.34694]
    impl ::sanakirja::debug::Check for RemoteId {}
  • edit in libpijul/src/change.rs at line 17
    [4.36136][4.406:461]()
    #[cfg(feature = "text-changes")]
    mod text_changes_old;
  • replacement in libpijul/src/change.rs at line 860
    [4.560][4.560:579]()
    },
    [4.560]
    [4.855085]
    }
  • replacement in libpijul/src/change.rs at line 923
    [4.5597][4.580:679]()
    Hunk::AddRoot { ref inode, ref name } | Hunk::DelRoot { ref inode, ref name } => {
    [4.5597]
    [4.679]
    Hunk::AddRoot {
    ref inode,
    ref name,
    }
    | Hunk::DelRoot {
    ref inode,
    ref name,
    } => {
  • replacement in libpijul/src/change.rs at line 933
    [4.756][4.756:775]()
    },
    [4.756]
    [4.857285]
    }
  • replacement in libpijul/src/change.rs at line 1015
    [4.6340][4.776:875]()
    Hunk::AddRoot { ref name, ref inode } | Hunk::DelRoot { ref name, ref inode } => {
    [4.6340]
    [4.875]
    Hunk::AddRoot {
    ref name,
    ref inode,
    }
    | Hunk::DelRoot {
    ref name,
    ref inode,
    } => {
  • replacement in libpijul/src/change.rs at line 1025
    [4.952][4.952:971]()
    },
    [4.952]
    [4.860058]
    }
  • replacement in libpijul/src/change.rs at line 1257
    [4.866586][4.972:1182]()
    BaseHunk::AddRoot { name, inode } => BaseHunk::AddRoot { name: f(name)?, inode: f(inode)? },
    BaseHunk::DelRoot { name, inode } => BaseHunk::DelRoot { name: f(name)?, inode: f(inode)? },
    [4.866586]
    [4.122493]
    BaseHunk::AddRoot { name, inode } => BaseHunk::AddRoot {
    name: f(name)?,
    inode: f(inode)?,
    },
    BaseHunk::DelRoot { name, inode } => BaseHunk::DelRoot {
    name: f(name)?,
    inode: f(inode)?,
    },
  • edit in libpijul/src/change/text_changes.rs at line 473
    [4.18068][4.18068:18116]()
    // TODO: should this panic?
  • replacement in libpijul/src/change/text_changes.rs at line 974
    [4.5402][4.5402:5425]()
    })
    [4.5402]
    [4.5425]
    }),
  • edit in libpijul/src/change/text_changes.rs at line 1146
    [4.88449]
    impl LocalChange<Hunk<Option<Hash>, Local>, Author> {
    pub fn write_all_deps<F: FnMut(Hash) -> Result<(), ChangeError>>(
    &self,
    mut f: F,
    ) -> Result<(), ChangeError> {
    for c in self.changes.iter() {
    for c in c.iter() {
    match *c {
    Atom::NewVertex(ref n) => {
    for change in n
    .up_context
    .iter()
    .chain(n.down_context.iter())
    .map(|c| c.change)
    .chain(std::iter::once(n.inode.change))
    {
    if let Some(change) = change {
    if let Hash::None = change {
    continue;
    }
    f(change)?
    }
    }
    }
    Atom::EdgeMap(ref e) => {
    for edge in e.edges.iter() {
    for change in &[
    edge.from.change,
    edge.to.change,
    edge.introduced_by,
    e.inode.change,
    ] {
    if let Some(change) = *change {
    if let Hash::None = change {
    continue;
    }
    f(change)?
    }
    }
    }
    }
    }
    }
    }
    Ok(())
    }
    }
  • replacement in libpijul/src/change/printable.rs at line 565
    [4.52014][4.6211:6274]()
    AddRoot {
    start
    } => {
    [4.52014]
    [4.6274]
    AddRoot { start } => {
  • replacement in libpijul/src/change/printable.rs at line 570
    [4.6415][4.6415:6449]()
    start, start,
    [4.6415]
    [4.6449]
    start,
    start,
  • replacement in libpijul/src/change/printable.rs at line 574
    [4.6483][4.6483:6653]()
    DelRoot {
    name, inode
    } => {
    writeln!(
    w,
    "Root del",
    )?;
    [4.6483]
    [4.6653]
    DelRoot { name, inode } => {
    writeln!(w, "Root del",)?;
  • replacement in libpijul/src/change/parse.rs at line 311
    [4.7380][4.7380:7469]()
    Ok((
    i,
    PrintableHunk::AddRoot {
    start
    },
    ))
    [4.7380]
    [4.7469]
    Ok((i, PrintableHunk::AddRoot { start }))
  • edit in libpijul/src/change/parse.rs at line 315
    [4.7543][4.7543:7544]()
  • replacement in libpijul/src/change/parse.rs at line 320
    [4.7732][4.7732:7827]()
    Ok((
    i,
    PrintableHunk::DelRoot {
    inode, name
    },
    ))
    [4.7732]
    [4.7827]
    Ok((i, PrintableHunk::DelRoot { inode, name }))
  • replacement in libpijul/Cargo.toml at line 4
    [4.1020894][2.119:146]()
    version = "1.0.0-alpha.49"
    [4.1020894]
    [4.27]
    version = "1.0.0-alpha.50"
  • edit in libpijul/Cargo.toml at line 33
    [4.230]
    [4.1021443]
    "src/change/parse.rs",
    "src/change/printable.rs",
  • replacement in Cargo.lock at line 1052
    [4.22930][2.147:174]()
    version = "1.0.0-alpha.49"
    [4.22930]
    [4.22957]
    version = "1.0.0-alpha.50"