[package]
edition = "2024"
rust-version = "1.85"
name = "ripsync"
version = "1.2.0"
authors = ["ripsync contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A fast, memory-safe rsync alternative for local and SSH sync — rsync's superpower, none of its footguns."
homepage = "https://github.com/beeboyd/ripsync"
documentation = "https://docs.rs/ripsync"
readme = "README.md"
keywords = [
"rsync",
"sync",
"backup",
"filesystem",
"cli",
]
categories = [
"filesystem",
"command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/beeboyd/ripsync"
resolver = "2"
[package.metadata.deb]
maintainer = "ripsync contributors <ionescudan888@gmail.com>"
copyright = "2026, ripsync contributors"
license-file = [
"../../LICENSE-MIT",
"0",
]
extended-description = """
ripsync is a fast, memory-safe local directory synchronization tool written in
Rust. It mirrors a source tree into a destination using copy-on-write reflinks
where available, a persistent index for quick re-syncs, an operator TUI, and
optional post-copy verification. Its containment checks reject the symlink
path-traversal bug class by construction."""
section = "utils"
priority = "optional"
depends = "$auto"
assets = [
[
"target/release/ripsync",
"usr/bin/",
"755",
],
[
"dist/assets/ripsync.1",
"usr/share/man/man1/",
"644",
],
[
"dist/assets/ripsync.bash",
"usr/share/bash-completion/completions/ripsync",
"644",
],
[
"dist/assets/ripsync.fish",
"usr/share/fish/vendor_completions.d/ripsync.fish",
"644",
],
[
"dist/assets/_ripsync",
"usr/share/zsh/vendor-completions/_ripsync",
"644",
],
[
"README.md",
"usr/share/doc/ripsync/README.md",
"644",
],
[
"LICENSE-MIT",
"usr/share/doc/ripsync/LICENSE-MIT",
"644",
],
[
"LICENSE-APACHE",
"usr/share/doc/ripsync/LICENSE-APACHE",
"644",
],
]
[features]
default = ["mimalloc"]
mimalloc = ["dep:mimalloc"]
rs-alias = []
system-malloc = []
[lib]
name = "ripsync"
path = "src/lib.rs"
[[bin]]
name = "ripsync"
path = "src/main.rs"
[[bin]]
name = "rs"
path = "src/rs.rs"
required-features = ["rs-alias"]
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "parity"
path = "tests/parity.rs"
[[test]]
name = "remote_cli"
path = "tests/remote_cli.rs"
[dependencies.anyhow]
version = "1"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.clap_complete]
version = "4"
[dependencies.clap_mangen]
version = "0.2"
[dependencies.crossterm]
version = "0.28"
[dependencies.globset]
version = "0.4"
[dependencies.mimalloc]
version = "0.1"
optional = true
[dependencies.notify]
version = "6"
[dependencies.num_cpus]
version = "1"
[dependencies.ratatui]
version = "0.29"
[dependencies.ripsync-core]
version = "1.0.0"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.blake3]
version = "1.5"
features = [
"mmap",
"rayon",
]
[dev-dependencies.filetime]
version = "0.2"
[dev-dependencies.globset]
version = "0.4"
[dev-dependencies.predicates]
version = "3"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[target."cfg(unix)".dev-dependencies.xattr]
version = "1"