[package] name = "onset-cli" description = "Onset's command-line tool, `on`: version control where nobody waits and nothing gets lost" version.workspace = true edition.workspace = true license = "Apache-2.0" repository.workspace = true rust-version.workspace = true [lib] name = "onset_cli" path = "src/lib.rs" [[bin]] name = "on" path = "src/main.rs" [dependencies] anyhow = "1" clap = { version = "4.5", features = ["derive"] } clap_complete = "4.5" onset-core = { path = "../core" } zstd = "0.13" ignore = "0.4" rayon = "1.10" rusqlite = { version = "0.37", features = ["bundled"] } serde = { version = "1", features = ["derive"] } serde_json = { version = "1", features = ["preserve_order"] } ureq = { version = "3", features = ["json"] } rand = "0.9" reflink-copy = "0.1" fs4 = { version = "0.13", features = ["sync"] } notify = { version = "8", default-features = false, features = ["macos_fsevent"] } base64 = "0.22" chrono = { version = "0.4", default-features = false, features = ["clock", "std"] } libc = "0.2" toml = { version = "0.9", default-features = false, features = ["parse", "serde", "std"] } globset = "0.4" ed25519-dalek = "2" x25519-dalek = { version = "2", features = ["static_secrets"] } chacha20poly1305 = "0.10" hkdf = "0.12" hmac = "0.12" sha2 = "0.10" [dev-dependencies] tempfile = "3" [target.'cfg(target_os = "linux")'.dependencies] fuser = { version = "0.18", default-features = false } # Lazy workspaces on macOS: an NFS server on localhost that macOS's own NFS # client mounts. [target.'cfg(target_os = "macos")'.dependencies] nfsserve = "0.11" async-trait = "0.1" tokio = { version = "1", default-features = false, features = ["rt-multi-thread", "net", "io-util", "sync", "time"] } # The Linux release builds are static (musl), whose allocator made every # command about 3x slower; mimalloc takes its place there. [target.'cfg(target_env = "musl")'.dependencies] mimalloc = { version = "0.1", default-features = false }