Create `pijul_remote` crate
Dependencies
- [2]
G7HJHNFDMigrate from `pijul_interaction::progress` to `pijul_interaction` - [3]
SU3JX6SECreate `pijul-identity` crate - [4]
JUYSZJSHMigrate from `pijul::progress` to `pijul_interaction::progress` - [5]
YAJAXIV5Unrecording changes atomically - [6]
UDHP4ZVBFixing SSH asynchronicity issues - [7]
IQ4FCHPZHTTP connections: pooling + retry on error - [8]
X243Z3Y5Recording only the required metadata (can even be changed later!) - [9]
Q45QHPO4Feedback on network stuff - [10]
YTQS4ES3Fixing a parsing problem (related to permissions), and the associated permissions - [11]
IVLLXQ5ZImproved push/pull reporting - [12]
BZSC7VMYaddress clippy lints - [13]
FBXYP7QMForgot to add remote::http - [14]
LGEJSLTYFixing output (including its uses in reset and pull) - [15]
L2VH4BYKDownloading changelists from channels without an id (Nest discussions) - [16]
WTPFQPO5Add global `no_prompt` flag - [17]
GYGLQPVXMigrate from `pijul::current_dir` to `std::env::current_dir` - [18]
H4AU6QRPNew config for HTTP remotes - [19]
AI73GKAOAdding a UserAgent header to the http downloader - [20]
S2B5MEWPMinor change in the type of sanakirja::GraphTxnT::Graph (prepare for more general backends) - [21]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [22]
SNZ3OAMCuse native external subcommand support instead of hand-rolled one - [23]
CXSCA5HNFixing a counter-intuitive error when a local repo does not exist - [24]
YD7QFAD7Simplifying pijul::remote::PushDelta - [25]
DVBSW7SIBump dependencies with minor-level changes - [26]
CCLLB7OIUpgrading to Sanakirja 0.15 + version bump - [27]
DO2Y5TY5Tag synchronisation - [28]
ABPFWGKHCreate `pijul-interaction` crate - [29]
EJ7TFFOWRe-adding Cargo.lock - [30]
3KRGVQFUDo not update the mtime of unmodified files - [31]
I52XSRUHMassive cleanup, and simplification - [32]
RVAH6PXAGetting libpijul to compile to WASM32 - [33]
HDGRZISMVersion updates - [34]
OIOMXESDBetter error handling in HTTP - [35]
STG7MO5MVersion bump - [36]
Y2Y4OOIEMove `pijul::DEFAULT_CHANNEL` to `libpijul` - [37]
L4JXJHWXpijul/*: reorganize imports and remove extern crate - [38]
MU5GSJAWPartial push and pull (WARNING: breaks the existing protocol) - [39]
QQZNSB26Permission update (after #X243) - [*]
ENWJBQGQFixing a deprecation warning in ed25519_dalek. - [*]
WCA7X6W6Create `pijul-repository` crate
Change contents
- file addition: pijul-remote[41.2]
- file addition: src[0.24]
- file move: ssh.rs → ssh.rs
- replacement in pijul-remote/src/ssh.rs at line 20
use crate::remote::CS;use crate::CS; - file move: local.rs → local.rs
- replacement in pijul-remote/src/local.rs at line 10
use crate::remote::CS;use crate::CS; - file move: mod.rs → lib.rs
- edit in pijul-remote/src/lib.rs at line 33
pub const PROTOCOL_VERSION: usize = 3; - replacement in pijul-remote/src/lib.rs at line 248
fn get_local_inodes(pub fn get_local_inodes( - replacement in pijul-remote/src/lib.rs at line 273
pub(crate) struct PushDelta {pub struct PushDelta { - replacement in pijul-remote/src/lib.rs at line 300
pub(crate) struct RemoteDelta<T: MutTxnTExt + TxnTExt> {pub struct RemoteDelta<T: MutTxnTExt + TxnTExt> { - replacement in pijul-remote/src/lib.rs at line 315
pub(crate) fn to_local_channel_push(pub fn to_local_channel_push( - replacement in pijul-remote/src/lib.rs at line 358
pub(crate) fn to_remote_push(pub fn to_remote_push( - replacement in pijul-remote/src/lib.rs at line 473
pub(crate) fn update_changelist_local_channel(pub fn update_changelist_local_channel( - replacement in pijul-remote/src/lib.rs at line 701
pub(crate) async fn update_changelist_pushpull(pub async fn update_changelist_pushpull( - file move: http.rs → http.rs
- replacement in pijul-remote/src/http.rs at line 9
use crate::remote::CS;use crate::CS; - replacement in pijul-remote/src/http.rs at line 12
const USER_AGENT: &str = concat!("pijul-", clap::crate_version!());const USER_AGENT: &str = concat!("pijul-", env!("CARGO_PKG_VERSION")); - file addition: Cargo.toml[0.24]
[package]name = "pijul-remote"description = "Functionality to communicate with a pijul repository remotely"version = "1.0.0-beta.6"authors = ["Pierre-Étienne Meunier <pe@pijul.org>"]edition = "2021"repository = "https://nest.pijul.com/pijul/pijul"license = "GPL-2.0"include = ["Cargo.toml", "src"][dependencies]anyhow = { version = "1.0", features = ["backtrace"] }async-trait = "0.1"byteorder = "1.4"bytes = "1.4"dirs-next = "2.0"futures = "0.3"futures-util = "0.3"lazy_static = "1.4"libpijul = { path = "../libpijul", features = ["tarball"] }log = "0.4"pijul-config = { path = "../pijul-config" }pijul-identity = { path = "../pijul-identity" }pijul-interaction = { path = "../pijul-interaction" }pijul-repository = { path = "../pijul-repository" }sanakirja = { version = "1.3", default-features = false, features = ["crc32"] }serde_json = "1.0"reqwest = { version = "0.11", features = ["stream", "json"] }thrussh = "0.34"thrussh-keys = "0.22"thrussh-config = "0.6"tokio = { version = "1", features = ["rt-multi-thread","macros","sync","fs",] }url = "2.4"keyring = { version = "2.0", default_features = false, features = ["linux-no-secret-service",] }regex = "1.8"serde = { version = "1.0", features = ["derive"] }serde_derive = "1.0" - edit in pijul/src/main.rs at line 13[4.741]→[4.84299:84300](∅→∅),[4.84299]→[4.84299:84300](∅→∅),[4.294]→[4.84346:84381](∅→∅),[4.84346]→[4.84346:84381](∅→∅)
const PROTOCOL_VERSION: usize = 3; - edit in Cargo.toml at line 10
"pijul-remote", - replacement in Cargo.lock at line 33
"cipher","cipher 0.3.0", - replacement in Cargo.lock at line 320
"blowfish","blowfish 0.8.0", - edit in Cargo.lock at line 325
][[package]]name = "bcrypt-pbkdf"version = "0.10.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2"dependencies = ["blowfish 0.9.1","pbkdf2 0.12.2","sha2 0.10.7", - replacement in Cargo.lock at line 404
"cipher","cipher 0.3.0", - replacement in Cargo.lock at line 435
"cipher","cipher 0.3.0", - edit in Cargo.lock at line 440
name = "blowfish"version = "0.9.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7"dependencies = ["byteorder","cipher 0.4.4",][[package]] - edit in Cargo.lock at line 530
name = "cipher"version = "0.4.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"dependencies = ["crypto-common","inout",][[package]] - replacement in Cargo.lock at line 727
"cipher","cipher 0.3.0", - edit in Cargo.lock at line 1537
][[package]]name = "inout"version = "0.1.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"dependencies = ["generic-array", - edit in Cargo.lock at line 2214
][[package]]name = "pbkdf2"version = "0.12.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"dependencies = ["digest 0.10.7", - replacement in Cargo.lock at line 2278
"thrussh","thrussh-config","thrussh-keys","thrussh 0.33.5","thrussh-config 0.5.0","thrussh-keys 0.21.0", - replacement in Cargo.lock at line 2320
"thrussh-keys","thrussh-keys 0.21.0", - edit in Cargo.lock at line 2350[42.33][42.33]
name = "pijul-remote"version = "1.0.0-beta.6"dependencies = ["anyhow","async-trait","byteorder","bytes","dirs-next","futures","futures-util","keyring","lazy_static 1.4.0","libpijul","log","pijul-config","pijul-identity","pijul-interaction","pijul-repository","regex","reqwest","sanakirja","serde","serde_derive","serde_json","thrussh 0.34.0","thrussh-config 0.6.0","thrussh-keys 0.22.1","tokio","url",][[package]] - replacement in Cargo.lock at line 3126
"thrussh-keys","thrussh-keys 0.21.0","thrussh-libsodium","tokio",][[package]]name = "thrussh"version = "0.34.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0eb7f634184fe86d7a9fd587d9350137508cba7b77626a7785db2ca695ebc503"dependencies = ["bitflags 1.3.2","byteorder","cryptovec","digest 0.9.0","flate2","futures","generic-array","log","rand 0.8.5","sha2 0.9.9","thiserror","thrussh-keys 0.22.1", - edit in Cargo.lock at line 3168
name = "thrussh-config"version = "0.6.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "fa974aab89a724928e2fb4e526f6e9a5fa4fb9d544e824fc38bd177c48ca6622"dependencies = ["dirs-next","futures","log","thiserror","tokio","whoami",][[package]] - replacement in Cargo.lock at line 3188
"bcrypt-pbkdf","bcrypt-pbkdf 0.6.2", - edit in Cargo.lock at line 3202
"pbkdf2 0.8.0","rand 0.8.5","serde","serde_derive","sha2 0.9.9","thiserror","thrussh-libsodium","tokio","tokio-stream","yasna",][[package]]name = "thrussh-keys"version = "0.22.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c43d59b13e4c08db0e379bced99bda596ac5ed33651d919bf3916d34ad4259bb"dependencies = ["aes","bcrypt-pbkdf 0.10.0","bit-vec","block-modes","byteorder","cryptovec","data-encoding","dirs","futures","hmac 0.11.0","log","md5","num-bigint","num-integer",