When lock times out, check that there are no more clients before quitting

[?]
Jan 17, 2021, 9:37 AM
HR3WK6A7KKILCHI2CD2BZSZQJUS44MJIT2K3WPKJBHUXGRKAQDRQC

Dependencies

  • [2] 23OFHED6 Remove .pijul after a failed cloned, in the case we created it but did not its parent
  • [3] AOK35FEX New Cargo.nix versions
  • [4] SN7AGY6S Making `pijul lock` robust to kill signals
  • [5] HSVGP2G4 Version bump + formatting
  • [6] SQVWP4LU When clone fails, only remove directories we have created (not other directories)
  • [7] 3S4DR77Z Version updates
  • [8] BT2ZHPY4 Version bumps
  • [9] Q7CAYX5N Fixing Windows compilation
  • [10] KUMJITTF Version bump in the lockfiles
  • [11] CCLLB7OI Upgrading to Sanakirja 0.15 + version bump
  • [12] HKEOO4QJ Version bump
  • [13] UFCZKKLX Upgrading to the latest Sanakirja/Rand
  • [14] VYHHOEYH Versions and formatting
  • [15] 6DOXSHWG Cleanup, and version bump
  • [16] B5Z4IMEU Generating Cargo.nix for pijul 1.0.0-alpha.6
  • [17] G6YZ7U65 Version bump
  • [18] LYTVEPH3 Avoid cloning into an existing path
  • [19] Q45QHPO4 Feedback on network stuff
  • [20] 3VJB4ULD Updating Cargo.nix
  • [21] L4LAD4XM Fixing clone on WSL (Windows Subsystem for Linux)
  • [22] 3WIQYEIS Fixing conflicts in Cargo.lock
  • [23] XWETQ4DE Upgrading versions
  • [24] YX3VCEOM Version bump
  • [25] OCBM7IFE New release: pijul-1.0.0-alpha.8
  • [26] B3QWIGDE Fixing the Git features with the latest Pijul (+ conflicts in Cargo.toml)
  • [27] OUWD436A Version bump
  • [28] FXT5FS5W Updating Cargo.nix
  • [29] NX5I5H53 New published versions
  • [30] JL4WKA5P Implement the Sanakirja concurrency model in a cross-process way
  • [31] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [32] JACZWIJ6 Version bump
  • [33] N35L72XV Versions in Cargo.lock
  • [34] H62VFFJE Cargo.nix, and solving conflicts
  • [35] WI5BS6BS New published versions
  • [36] VLPIKNFS clone: make source remote the default
  • [37] 5BRU2RRW Cleanup (debugging a crash related to trees/inodes)
  • [38] ZTVNGFNT Version bump
  • [39] 5YDI33C4 Fixing pager on OSX
  • [40] ZQXP3HNA Version bump
  • [41] WIORLB47 Version bump
  • [42] PJ7T2VFL Do not hang on locked repositories
  • [43] SAGSYAPX Various version bumps
  • [44] G734WNM6 flake.nix: use crate2nix
  • [45] 23LVKATN Use pager crate for log output
  • [46] TPEH2XNB 1.0.0-alpha.28, with Tokio 1.0
  • [47] JRENVH5D Reqwest 0.11
  • [48] XAY4DYRR Version bump

Change contents

  • replacement in pijul/src/commands/lock.rs at line 57
    [4.1189][4.1189:1361]()
    if let Ok(Ok((stream, _))) = x {
    accept(stream, locks.clone()).await
    } else {
    break
    [4.1189]
    [4.1361]
    match x {
    Err(_) => {
    if *locks.n_clients.lock().await == 0 {
    break
    }
    }
    Ok(Ok((stream, _))) => {
    accept(stream, locks.clone()).await
    }
    Ok(Err(_)) => break
  • replacement in pijul/src/commands/clone.rs at line 61
    [6.53][6.53:97]()
    let repo_path_ = repo_path.clone();
    [6.53]
    [6.35]
    let repo_path_ = path.clone();
  • replacement in pijul/src/commands/clone.rs at line 63
    [6.72][2.0:33]()
    repo_path_.remove();
    [6.72]
    [6.1705]
    std::fs::remove_dir_all(&repo_path_).unwrap_or(());
  • edit in pijul/src/commands/clone.rs at line 122
    [6.185888][6.0:30]()
    std::mem::drop(repo);
  • replacement in pijul/Cargo.toml at line 4
    [6.196462][4.4167:4194]()
    version = "1.0.0-alpha.35"
    [6.196462]
    [6.196488]
    version = "1.0.0-alpha.36"
  • replacement in Cargo.nix at line 2665
    [6.84748][3.1029:1065]()
    version = "1.0.0-alpha.30";
    [6.84748]
    [6.84783]
    version = "1.0.0-alpha.31";
  • replacement in Cargo.nix at line 3653
    [6.114701][3.1066:1102]()
    version = "1.0.0-alpha.33";
    [6.114701]
    [6.114736]
    version = "1.0.0-alpha.36";
  • replacement in Cargo.lock at line 1288
    [6.1064071][5.1222:1249]()
    version = "1.0.0-alpha.35"
    [6.1064071]
    [6.1064097]
    version = "1.0.0-alpha.36"