Fix conflicts

pmeunier
Dec 26, 2025, 7:58 PM
VQQ23NP72KUK32D2LSTBIWXO5UV47RQAPQ4QA5B4V3EPYG4ZZ5WAC

Dependencies

  • [2] Q7LEDPIW Refactor tag command's handling of repo and channel
  • [3] EXBXD3UI 🐛 Fix rustc warning
  • [4] XYTAZR36 Solving conflicts
  • [5] QPVP5D7L Fixing warning + formatting
  • [6] 7FP2DFNX Optimisation: avoid re-checking the entire repo when recording after an unrecord
  • [7] 6ZPDI7QG pull uses None as the base case path when outputing repo
  • [8] 4RV7T4SR Migrate from `pijul::config` to `pijul-config`
  • [9] 2MKP7CB7 Move dependencies into workspace `Cargo.toml`
  • [10] N26HD5PF Replace `chrono` with `jiff`
  • [11] Y6TBQN7M Automatically format `pijul` crate
  • [12] GUL4M5FI Cleanup and formatting
  • [13] 7ZROQSSN Handling TAG uploads from the `pijul protocol` command
  • [14] TFPETWTV Add config options for patch message templates
  • [15] UMF6N7CZ Keyring 2.0
  • [16] JMOHVR5E Bump edition to 2021
  • [17] FZ7MXL3B Allow to use short tag hashes
  • [18] FXEDPLRI Resurrecting tests, and type cleanup (no need for Arc<RwLock<…>> anymore)
  • [19] HKA66XOQ Updating Thrussh version for long or massive connections
  • [20] QWIYNMI5 Formatting + big-endian Sanakirja
  • [21] X243Z3Y5 Recording only the required metadata (can even be changed later!)
  • [22] I24UEJQL Various post-fire fixes
  • [23] DVBSW7SI Bump dependencies with minor-level changes
  • [24] S4LQTDJI avoid outputting repo multiple times in channel switch
  • [25] VYAJZ7DE Don't open an editor in `pijul tag create` when `-m` is set
  • [26] 5FI6SBEZ Re-implement change printing and parsing
  • [27] QL6K2ZM3 Tags
  • [28] C6SOSQCV Formatting
  • [29] HJVWPKWV Migrate crates to edition 2024
  • [30] GYXIF25T Proper parsing of URLs
  • [31] 4EN4MDBQ Update identity dependencies
  • [32] 2TWWWCU4 Fixing a warning related to an updated in `chrono`
  • [33] ABQDWHNG Migrate from `pijul::repository` to `pijul-repository`
  • [34] NABOB7CQ Solving a conflict
  • [35] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [36] NACNZRJE xxHash in oldshell.nix
  • [37] M2C6QW2A Avoid serialising twice in order to save the changes' signatures
  • [38] WW2EOFBB Umask in archives
  • [39] 3QGE6HRD Version bump (upgrade to zstd-seekable 0.2, take 2)
  • [40] 2K7JLB4Z No pager on Windows
  • [41] 23LVKATN Use pager crate for log output
  • [42] FDPGJDXV Compiling Thrussh with feature OpenSSL by default
  • [43] TPEH2XNB 1.0.0-alpha.28, with Tokio 1.0
  • [44] 3X5ZCEPZ Fixing a panic when `pijul archive` does not find the channel
  • [45] DDJO7X2P Remove dependency on `num_cpus`
  • [46] DFRNZLQ6 Fixing #798: overwrite check too strict in `pijul apply` when applying a patch adding new files
  • [47] RR65HCKO Thrussh versions
  • [48] HYRH4E55 rustfmt.toml: init
  • [49] J2D66R2D Enable the pager dependency on OSX, fixes build
  • [50] IACED7RW text_encoding module
  • [51] TEDGMEHF Introduce subcommand for completion-script generation.
  • [52] RVAH6PXA Getting libpijul to compile to WASM32
  • [53] JUYSZJSH Migrate from `pijul::progress` to `pijul_interaction::progress`
  • [54] RPZK3JQA Fixing a conflict
  • [55] RPY5P6GW Update minimum chrono version
  • [56] GHO6DWPI Refactoring iterators
  • [57] JJQQWDC3 Version bump
  • [58] 76PCXGML Pushing to, and pulling from the local repository
  • [59] TCXM4WIJ Remove unused dependencies
  • [60] SN7AGY6S Making `pijul lock` robust to kill signals
  • [61] SZWBLWZ4 Reading ~/.ssh/config
  • [62] KI2AFWOS Fixing a panic in pull
  • [63] LZOGKBJX new command `pijul client` for authenticating to a HTTP server
  • [64] HKHMES6T Solving conflicts
  • [65] WIORLB47 Version bump
  • [66] A3RM526Y Integrating identity malleability
  • [67] OJZWJUF2 MUCH faster `pijul add -r`
  • [68] SPA2OL5I keep-changes feature (default) to avoid deleting problematic changes
  • [69] OIOMXESD Better error handling in HTTP
  • [70] JEQCEOQD Adding a non-flake shell.nix
  • [71] ZRUPLBBT Colours in diff and change: separating concerns and dependencies
  • [72] 5RSZPNQR Upgrade `clap` 3.2 -> 4.3
  • [73] Q3UD2OLQ Fixing warning from chrono
  • [74] CVCT4WHH Version bump
  • [75] QAXLX3UA Backwards-compatibility: moving old paths to the new "roots" feature
  • [76] VAPBIG46 Version bump
  • [77] YXAVFTPP Allowing vertex buffer to use references to the transaction, by changing `output::output` to take an ArcTxn<T> instead of a simple T
  • [78] VKBJ6XB6 Formatting and version bump
  • [79] 5OGOE4VW Store the current channel in the pristine
  • [80] OCBM7IFE New release: pijul-1.0.0-alpha.8
  • [81] Y6EVFMTA Don't output files if they aren't in the current channel
  • [82] TYAKEAJL A better estimate of the maximum number of open patches we can keep (Unix-only at the moment)
  • [83] JRENVH5D Reqwest 0.11
  • [84] V435QOJR Using path-slash to fix path issues on Windows
  • [85] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [86] EUZFFJSO Updating Pijul with the latest changes in Libpijul
  • [87] 4PX6WLAF Refactor archive command's handling of repo and channel
  • [88] 33LXFADR Update `toml` to latest version

Change contents

  • edit in rustfmt.toml at line 1
    [7.15][7.0:17]()
    edition = "2024"
  • replacement in pijul-remote/src/lib.rs at line 1043
    [7.835][6.0:39]()
    let mut working_copy =
    [7.835]
    [6.39]
    let working_copy =
  • replacement in pijul-remote/src/lib.rs at line 1059
    [6.368][6.368:411]()
    &mut working_copy,
    [6.368]
    [6.411]
    &working_copy,
  • replacement in pijul-remote/src/lib.rs at line 1067
    [7.551][7.61657:61724](),[7.9110][7.61657:61724](),[7.61657][7.61657:61724]()
    txn.archive(&changes, &channel, &mut tarball)?
    [7.551]
    [7.61724]
    txn.archive::<_, _, libpijul::working_copy::filesystem::FileSystem>(
    &changes,
    &channel,
    &mut tarball,
    )?
  • edit in pijul/src/commands/tag.rs at line 260
    [7.163][5.137:217](),[7.163][5.137:217]()
    if let Ok(header) = toml::from_str(&std::str::from_utf8(&bytes)?) {
  • resolve order conflict in pijul/src/commands/tag.rs at line 260
    [7.117]
    [7.222]
  • edit in pijul/src/commands/tag.rs at line 291
    [7.1459][2.1956:1956](),[7.5248][5.76:136](),[7.5248][5.76:136](),[5.136][7.50:50](),[7.1315][7.50:50]()
    chrono::DateTime::from_timestamp(t, 0).unwrap()
  • resolve order conflict in pijul/src/commands/tag.rs at line 291
    [7.1459]
  • replacement in pijul/src/commands/reset.rs at line 180
    [7.10165][7.90:130]()
    paths.insert(path);
    [7.10165]
    [7.10202]
    paths.insert(path.join("/"));
  • replacement in pijul/src/commands/record.rs at line 161
    [7.208][5.218:294]()
    "signature": secret.sign_raw(&hash_bytes).unwrap(),
    [7.208]
    [7.286]
    "signature": secret.sign_raw(&hash.to_bytes()).unwrap(),
  • edit in pijul/src/commands/record.rs at line 255
    [7.105980][5.295:359](),[7.105980][5.295:359]()
    chrono::DateTime::from_timestamp(t, 0).unwrap()
  • resolve order conflict in pijul/src/commands/record.rs at line 255
    [7.1595]
    [7.1459]
  • replacement in pijul/src/commands/pushpull.rs at line 844
    [7.10897][7.98:150]()
    touched_paths.insert(path);
    [7.10897]
    [7.10946]
    touched_paths.insert(path.join("/"));
  • edit in pijul/src/commands/protocol.rs at line 49
    [7.124745]
    [7.124745]
    type W = libpijul::working_copy::filesystem::FileSystem;
  • replacement in pijul/src/commands/protocol.rs at line 295
    [7.12446][7.601:677]()
    txn.archive(&repo.changes, &channel, &mut tarball)?
    [7.12446]
    [7.131952]
    txn.archive::<_, _, W>(&repo.changes, &channel, &mut tarball)?
  • replacement in pijul/src/commands/protocol.rs at line 320
    [7.132737][7.926:998]()
    txn.archive(&repo.changes, &channel, &mut tarball)?
    [7.132737]
    [7.132809]
    txn.archive::<_, _, W>(&repo.changes, &channel, &mut tarball)?
  • replacement in pijul/src/commands/archive.rs at line 123
    [7.4819][7.2889:2957]()
    txn.archive(&repo.changes, &channel, &mut tarball)?
    [7.193815]
    [7.194009]
    type W = libpijul::working_copy::filesystem::FileSystem;
    txn.archive::<_, _, W>(&repo.changes, &channel, &mut tarball)?
  • replacement in pijul/src/commands/apply.rs at line 122
    [7.138][7.138:188]()
    touched_files.push(path);
    [7.138]
    [7.1908]
    touched_files.push(path.join("/"));
  • edit in pijul/Cargo.toml at line 54
    [7.197381][5.530:550](),[7.197381][5.530:550](),[7.197652][5.551:564](),[7.197652][5.551:564]()
    human-panic = "2.0"
    toml = "0.8"
  • resolve order conflict in pijul/Cargo.toml at line 54
    [7.3375]
    [7.118]
  • resurrect zombie in pijul/Cargo.toml at line 55
    [7.140][7.3376:3448](),[7.197665][7.3376:3448](),[7.140][7.3376:3448](),[7.197665][7.3376:3448]()
    url.workspace = true
    validator.workspace = true
    whoami.workspace = true
  • edit in pijul/Cargo.toml at line 58
    [7.3448]
    [7.0]
  • edit in pijul/Cargo.toml at line 64
    [7.146][5.565:606](),[7.146][5.565:606](),[7.1650][5.607:650](),[7.1650][5.607:650]()
    thrussh = "0.35.4"
    thrussh-keys = "0.22"
    hex = { version = "0.4", optional = true }
  • resolve order conflict in pijul/Cargo.toml at line 64
    [7.3526]
  • resolve order conflict in oldshell.nix at line 17
    [4.9]
    [5.802]
  • edit in oldshell.nix at line 23
    [5.951][5.951:960]()
    wine
  • edit in libpijul/src/text_encoding.rs at line 62
    [7.919][3.0:434]()
    impl<'de> Visitor<'de> for EncodingVisitor {
    type Value = Encoding;
    fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
    formatter.write_str("a string label meeting the encoding standard https://encoding.spec.whatwg.org/#concept-encoding-get")
    }
    fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
    where
    E: serde::de::Error,
    {
    Ok(Encoding::for_label(v))
    }
    }
  • replacement in libpijul/src/changestore/filesystem.rs at line 93
    [7.825893][7.825893:825954]()
    fn load<F: Fn(ChangeId) -> Option<Hash>>(
    &self,
    [7.825893]
    [7.825954]
    fn load<'a, F: Fn(ChangeId) -> Option<Hash>>(
    &'a self,