Recording only the required metadata (can even be changed later!)

[?]
Feb 26, 2021, 5:41 PM
X243Z3Y54ULINQMMRIKLHRV5T237B7VUOAHVJ7DMPOQ6A6GQXY2AC

Dependencies

  • [2] KJDQ2WOM Fixing the parsing of section headers in the text change format
  • [3] NO2QPRFL Adding rollback test
  • [4] JRENVH5D Reqwest 0.11
  • [5] DJ5JYH3K COPYING
  • [6] IUH7IMWE Contributor license agreements
  • [7] CCFJ7VO3 Renaming "Record" to "Hunk" in the changes
  • [8] ERV3644Q Adding the block module
  • [9] G65S7FAW Version bump and cleanup
  • [10] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [11] JP3BYVXX Fixing file paths on Windows
  • [12] YN63NUZO Sanakirja 1.0
  • [13] FBXYP7QM Forgot to add remote::http
  • [14] NE4A4WUK Parsing of file addition metadata
  • [15] G734WNM6 flake.nix: use crate2nix
  • [16] VO5OQW4W Removing anyhow in libpijul
  • [17] UBCBQ5FG Removing pijul/src/commands/checkout.rs (unused file), as well as litorg comments
  • [18] JL4WKA5P Implement the Sanakirja concurrency model in a cross-process way
  • [19] HYRH4E55 rustfmt.toml: init

Change contents

  • file move: shell.nix (-xw-x--x--)shell.nix (----------)
    [1.0]
    [7.12]
  • file move: rustfmt.toml (-xw-x--x--)rustfmt.toml (----------)
    [1.0]
    [7.15]
  • file move: pijul-macros (dxwrx-rx-r)pijul-macros (----------)
    [1.0]
    [7.428]
  • file move: src (dxwrx-rx-r)src (----------)
    [7.428]
    [7.435]
  • file move: lib.rs (-xw-x--x--)lib.rs (----------)
    [7.435]
    [7.445]
  • file move: Cargo.toml (-xw-x--x--)Cargo.toml (----------)
    [7.428]
    [7.21011]
  • file move: pijul (dxwrx-rx-r)pijul (----------)
    [1.0]
    [7.21407]
  • file move: src (dxwrx-rx-r)src (----------)
    [7.21407]
    [7.21414]
  • file move: repository.rs (-xw-x--x--)repository.rs (----------)
    [7.21414]
    [7.21431]
  • file move: remote (dxwrx-rx-r)remote (----------)
    [7.21414]
    [7.25370]
  • file move: ssh.rs (-xw-x--x--)ssh.rs (----------)
    [7.25370]
    [7.25380]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.25370]
    [7.52474]
  • file move: local.rs (-xw-x--x--)local.rs (----------)
    [7.25370]
    [7.79745]
  • file move: http.rs (-xw-x--x--)http.rs (----------)
    [7.25370]
    [7.10]
  • file move: main.rs (-xw-x--x--)main.rs (----------)
    [7.21414]
    [7.83981]
  • file move: config.rs (-xw-x--x--)config.rs (----------)
    [7.21414]
    [7.89866]
  • file move: commands (dxwrx-rx-r)commands (----------)
    [7.21414]
    [7.93386]
  • file move: upgrade.rs (-xw-x--x--)upgrade.rs (----------)
    [7.93386]
    [7.93400]
  • file move: unrecord.rs (-xw-x--x--)unrecord.rs (----------)
    [7.93386]
    [7.95630]
  • file move: reset.rs (-xw-x--x--)reset.rs (----------)
    [7.93386]
    [7.97650]
  • file move: record.rs (-xw-x--x--)record.rs (----------)
    [7.93386]
    [7.101759]
  • file move: pushpull.rs (-xw-x--x--)pushpull.rs (----------)
    [7.93386]
    [7.111631]
  • file move: protocol.rs (-xw-x--x--)protocol.rs (----------)
    [7.93386]
    [7.123281]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.93386]
    [7.133619]
  • file move: log.rs (-xw-x--x--)log.rs (----------)
    [7.93386]
    [7.134376]
  • file move: init.rs (-xw-x--x--)init.rs (----------)
    [7.93386]
    [7.136543]
  • file move: git.rs (-xw-x--x--)git.rs (----------)
    [7.93386]
    [7.137210]
  • file move: fork.rs (-xw-x--x--)fork.rs (----------)
    [7.93386]
    [7.167873]
  • file move: file_operations.rs (-xw-x--x--)file_operations.rs (----------)
    [7.93386]
    [7.169058]
  • file move: diff.rs (-xw-x--x--)diff.rs (----------)
    [7.93386]
    [7.173551]
  • file move: debug.rs (-xw-x--x--)debug.rs (----------)
    [7.93386]
    [7.177758]
  • file move: credit.rs (-xw-x--x--)credit.rs (----------)
    [7.93386]
    [7.178684]
  • file move: clone.rs (-xw-x--x--)clone.rs (----------)
    [7.93386]
    [7.182891]
  • file move: channel.rs (-xw-x--x--)channel.rs (----------)
    [7.93386]
    [7.186892]
  • file move: change.rs (-xw-x--x--)change.rs (----------)
    [7.93386]
    [7.189306]
  • file move: archive.rs (-xw-x--x--)archive.rs (----------)
    [7.93386]
    [7.191083]
  • file move: apply.rs (-xw-x--x--)apply.rs (----------)
    [7.93386]
    [7.194289]
  • file move: Cargo.toml (-xw-x--x--)Cargo.toml (----------)
    [7.21407]
    [7.196374]
  • file move: libpijul (dxwrx-rx-r)libpijul (----------)
    [1.0]
    [7.198139]
  • file move: src (dxwrx-rx-r)src (----------)
    [7.198139]
    [7.198146]
  • file move: working_copy (dxwrx-rx-r)working_copy (----------)
    [7.198146]
    [7.198162]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.198162]
    [7.198172]
  • file move: memory.rs (-xw-x--x--)memory.rs (----------)
    [7.198162]
    [7.199222]
  • file move: filesystem.rs (-xw-x--x--)filesystem.rs (----------)
    [7.198162]
    [7.208900]
  • replacement in libpijul/src/working_copy/filesystem.rs at line 262
    [7.272][7.214239:214302](),[7.214239][7.214239:214302]()
    let permissions = permissions(&attr).unwrap_or(0o755);
    [7.272]
    [7.214302]
    let permissions = permissions(&attr).unwrap_or(0o700);
  • replacement in libpijul/src/working_copy/filesystem.rs at line 264
    [7.214353][7.214353:214420]()
    Ok(InodeMetadata::new(permissions & 0o777, attr.is_dir()))
    [7.214353]
    [7.214420]
    Ok(InodeMetadata::new(permissions & 0o100, attr.is_dir()))
  • replacement in libpijul/src/working_copy/filesystem.rs at line 312
    [7.216195][7.216195:216241]()
    current.set_mode(permissions as u32);
    [7.216195]
    [7.216241]
    current.set_mode(current.mode() | permissions as u32);
  • file move: vertex_buffer.rs (-xw-x--x--)vertex_buffer.rs (----------)
    [7.198146]
    [7.217202]
  • file move: vector2.rs (-xw-x--x--)vector2.rs (----------)
    [7.198146]
    [7.223669]
  • file move: unrecord (dxwrx-rx-r)unrecord (----------)
    [7.198146]
    [7.225921]
  • file move: working_copy.rs (-xw-x--x--)working_copy.rs (----------)
    [7.225921]
    [7.225940]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.225921]
    [7.231493]
  • file move: tests (dxwrx-rx-r)tests (----------)
    [7.198146]
    [7.248792]
  • file move: unrecord.rs (-xw-x--x--)unrecord.rs (----------)
    [7.248792]
    [7.248807]
  • file move: rollback.rs (-xw-x--x--)rollback.rs (----------)
    [7.248792]
    [3.14]
  • file move: rm_file.rs (-xw-x--x--)rm_file.rs (----------)
    [7.248792]
    [7.276051]
  • file move: performance.rs (-xw-x--x--)performance.rs (----------)
    [7.248792]
    [7.278146]
  • file move: patch.rs (-xw-x--x--)patch.rs (----------)
    [7.248792]
    [7.283038]
  • file move: partial.rs (-xw-x--x--)partial.rs (----------)
    [7.248792]
    [7.285224]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.248792]
    [7.289338]
  • file move: missing_context.rs (-xw-x--x--)missing_context.rs (----------)
    [7.248792]
    [7.291589]
  • file move: filesystem.rs (-xw-x--x--)filesystem.rs (----------)
    [7.248792]
    [7.300430]
  • file move: file_conflicts.rs (-xw-x--x--)file_conflicts.rs (----------)
    [7.248792]
    [7.305506]
  • file move: conflict.rs (-xw-x--x--)conflict.rs (----------)
    [7.248792]
    [7.357372]
  • file move: clone.rs (-xw-x--x--)clone.rs (----------)
    [7.248792]
    [7.441393]
  • file move: change.rs (-xw-x--x--)change.rs (----------)
    [7.248792]
    [7.446445]
  • file move: add_file.rs (-xw-x--x--)add_file.rs (----------)
    [7.248792]
    [7.454125]
  • file move: small_string.rs (-xw-x--x--)small_string.rs (----------)
    [7.198146]
    [7.480474]
  • file move: record.rs (-xw-x--x--)record.rs (----------)
    [7.198146]
    [7.488880]
  • file move: pristine (dxwrx-rx-r)pristine (----------)
    [7.198146]
    [7.525229]
  • file move: vertex.rs (-xw-x--x--)vertex.rs (----------)
    [7.525229]
    [7.525242]
  • file move: sanakirja.rs (-xw-x--x--)sanakirja.rs (----------)
    [7.525229]
    [7.531056]
  • file move: path_id.rs (-xw-x--x--)path_id.rs (----------)
    [7.525229]
    [7.584967]
  • file move: patch_id.rs (-xw-x--x--)patch_id.rs (----------)
    [7.525229]
    [7.586098]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.525229]
    [7.586748]
  • file move: merkle.rs (-xw-x--x--)merkle.rs (----------)
    [7.525229]
    [7.638683]
  • file move: inode_vertex.rs (-xw-x--x--)inode_vertex.rs (----------)
    [7.525229]
    [7.641247]
  • file move: inode_metadata.rs (-xw-x--x--)inode_metadata.rs (----------)
    [7.525229]
    [7.641569]
  • file move: inode.rs (-xw-x--x--)inode.rs (----------)
    [7.525229]
    [7.643628]
  • file move: hash.rs (-xw-x--x--)hash.rs (----------)
    [7.525229]
    [7.644439]
  • file move: edge.rs (-xw-x--x--)edge.rs (----------)
    [7.525229]
    [7.648958]
  • file move: channel_dump.rs (-xw-x--x--)channel_dump.rs (----------)
    [7.525229]
    [7.650052]
  • file move: change_id.rs (-xw-x--x--)change_id.rs (----------)
    [7.525229]
    [7.666427]
  • file move: block.rs (-xw-x--x--)block.rs (----------)
    [7.525229]
    [7.11]
  • file move: path.rs (-xw-x--x--)path.rs (----------)
    [7.198146]
    [7.667547]
  • file move: output (dxwrx-rx-r)output (----------)
    [7.198146]
    [7.671794]
  • file move: output.rs (-xw-x--x--)output.rs (----------)
    [7.671794]
    [7.671807]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.671794]
    [7.686190]
  • file move: archive.rs (-xw-x--x--)archive.rs (----------)
    [7.671794]
    [7.690044]
  • file move: missing_context.rs (-xw-x--x--)missing_context.rs (----------)
    [7.198146]
    [7.696460]
  • file move: lib.rs (-xw-x--x--)lib.rs (----------)
    [7.198146]
    [7.717381]
  • file move: fs.rs (-xw-x--x--)fs.rs (----------)
    [7.198146]
    [7.737429]
  • file move: find_alive.rs (-xw-x--x--)find_alive.rs (----------)
    [7.198146]
    [7.763306]
  • file move: diff (dxwrx-rx-r)diff (----------)
    [7.198146]
    [7.768883]
  • file move: vertex_buffer.rs (-xw-x--x--)vertex_buffer.rs (----------)
    [7.768883]
    [7.768903]
  • file move: split.rs (-xw-x--x--)split.rs (----------)
    [7.768883]
    [7.778592]
  • file move: replace.rs (-xw-x--x--)replace.rs (----------)
    [7.768883]
    [7.779907]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.768883]
    [7.793247]
  • file move: diff.rs (-xw-x--x--)diff.rs (----------)
    [7.768883]
    [7.801479]
  • file move: delete.rs (-xw-x--x--)delete.rs (----------)
    [7.768883]
    [7.805350]
  • file move: changestore (dxwrx-rx-r)changestore (----------)
    [7.198146]
    [7.817206]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.817206]
    [7.817216]
  • file move: memory.rs (-xw-x--x--)memory.rs (----------)
    [7.817206]
    [7.820702]
  • file move: filesystem.rs (-xw-x--x--)filesystem.rs (----------)
    [7.817206]
    [7.824013]
  • file move: change.rs (-xw-x--x--)change.rs (----------)
    [7.198146]
    [7.831311]
  • file move: change (dxwrx-rx-r)change (----------)
    [7.198146]
    [7.931000]
  • file move: text_changes.rs (-xw-x--x--)text_changes.rs (----------)
    [7.931000]
    [7.37976]
  • replacement in libpijul/src/change/text_changes.rs at line 332
    [7.49359][7.49359:49438]()
    write!(w, "Moved: {:?} {:?} {:o} ", path, name, perms.0)?;
    [7.49359]
    [7.49438]
    write!(
    w,
    "Moved: {:?} {:?} {}",
    path,
    name,
    if perms.0 & 0o1000 == 0o1000 {
    "+dx "
    } else if perms.0 & 0o100 == 0o100 {
    "+x "
    } else {
    ""
    }
    )?;
  • replacement in libpijul/src/change/text_changes.rs at line 427
    [7.52618][7.52618:52730]()
    "File addition: {:?} in {:?} {:o}\n up",
    name, parent, perms.0
    [7.52618]
    [7.52730]
    "File addition: {:?} in {:?}{}\n up",
    name,
    parent,
    if perms.0 & 0o1000 == 0o1000 {
    " +dx"
    } else if perms.0 & 0o100 == 0o100 {
    " +x"
    } else {
    ""
    }
  • replacement in libpijul/src/change/text_changes.rs at line 545
    [7.57069][2.0:127]()
    Regex::new(r#"^(?P<n>\d+)\. File addition: "(?P<name>[^"]*)" in "(?P<parent>[^"]*)" (?P<perm>\d+)"#).unwrap();
    [7.57069]
    [7.57195]
    Regex::new(r#"^(?P<n>\d+)\. File addition: "(?P<name>[^"]*)" in "(?P<parent>[^"]*)" (?P<perm>[^ ]+)"#).unwrap();
  • replacement in libpijul/src/change/text_changes.rs at line 555
    [7.57759][2.500:627]()
    Regex::new(r#"^([0-9]+)\. Moved: "(?P<former>[^"]*)" "(?P<new>[^"]*)" (?P<perm>\d+) (?P<inode>.*)"#).unwrap();
    [7.57759]
    [2.627]
    Regex::new(r#"^([0-9]+)\. Moved: "(?P<former>[^"]*)" "(?P<new>[^"]*)" (?P<perm>[^ ]* )?(?P<inode>.*)"#).unwrap();
  • replacement in libpijul/src/change/text_changes.rs at line 589
    [7.59406][7.59406:59607]()
    let meta = cap
    .name("perm")
    .unwrap()
    .as_str()
    .chars()
    .fold(0, |x, c| x * 8 + (c as u16 - b'0' as u16));
    [7.59406]
    [7.59607]
    let meta = if let Some(perm) = cap.name("perm") {
    if perm.as_str() == "+dx" {
    0o1100
    } else if perm.as_str() == "+x" {
    0o100
    } else {
    0
    }
    } else {
    0
    };
  • replacement in libpijul/src/change/text_changes.rs at line 724
    [7.64345][7.64345:64546]()
    let meta = cap
    .name("perm")
    .unwrap()
    .as_str()
    .chars()
    .fold(0, |x, c| x * 8 + (c as u16 - b'0' as u16));
    [7.64345]
    [7.64546]
    let meta = if let Some(perm) = cap.name("perm") {
    if perm.as_str() == "+dx" {
    0o1100
    } else if perm.as_str() == "+x" {
    0o100
    } else {
    0
    }
    } else {
    0
    };
  • file move: change_file.rs (-xw-x--x--)change_file.rs (----------)
    [7.931000]
    [7.90139]
  • file move: apply.rs (-xw-x--x--)apply.rs (----------)
    [7.198146]
    [7.944089]
  • file move: alive (dxwrx-rx-r)alive (----------)
    [7.198146]
    [7.982249]
  • file move: tarjan.rs (-xw-x--x--)tarjan.rs (----------)
    [7.982249]
    [7.982262]
  • file move: retrieve.rs (-xw-x--x--)retrieve.rs (----------)
    [7.982249]
    [7.984582]
  • file move: output.rs (-xw-x--x--)output.rs (----------)
    [7.982249]
    [7.988425]
  • file move: mod.rs (-xw-x--x--)mod.rs (----------)
    [7.982249]
    [7.995164]
  • file move: dfs.rs (-xw-x--x--)dfs.rs (----------)
    [7.982249]
    [7.1000429]
  • file move: debug.rs (-xw-x--x--)debug.rs (----------)
    [7.982249]
    [7.1014531]
  • file move: Cargo.toml (-xw-x--x--)Cargo.toml (----------)
    [7.198139]
    [7.1020742]
  • file move: CLA-individual.md (-xw-x--x--)CLA-individual.md (----------)
    [7.198139]
    [6.20]
  • file move: CLA-entity.md (-xw-x--x--)CLA-entity.md (----------)
    [7.198139]
    [6.9197]
  • file move: flake.nix (-xw-x--x--)flake.nix (----------)
    [1.0]
    [7.1023754]
  • file move: flake.lock (-xw-x--x--)flake.lock (----------)
    [1.0]
    [7.1026237]
  • file move: default.nix (-xw-x--x--)default.nix (----------)
    [1.0]
    [7.248538]
  • file move: README.md (-xw-x--x--)README.md (----------)
    [1.0]
    [7.1026818]
  • file move: Cargo.toml (-xw-x--x--)Cargo.toml (----------)
    [1.0]
    [7.1030188]
  • file move: Cargo.nix (-xw-x--x--)Cargo.nix (----------)
    [1.0]
    [7.12]
  • file move: Cargo.lock (-xw-x--x--)Cargo.lock (----------)
    [1.0]
    [7.1030385]
  • file move: COPYING (-xw-x--x--)COPYING (----------)
    [1.0]
    [5.10]