openpencil/crates/op-git/Cargo.toml
2026-05-31 17:04:53 +08:00

26 lines
1.1 KiB
TOML

[package]
name = "op-git"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
description = "Git-backed version control for OpenPencil documents"
# Native-only: in-process version control via libgit2 (`git2`),
# vendored so no system `git` binary is required at runtime. Replaces
# the former `std::process::Command` system-git backend (which failed
# under macOS TCC when the subprocess touched a sandboxed directory and
# broke entirely on machines without git installed).
[dependencies]
# In-process libgit2. `vendored-libgit2` builds + statically links
# libgit2 from source (cmake + cc), so the shipped binary carries its
# own git engine. Keeps the default `https` / `ssh` transports.
git2 = { version = "=0.20.3", features = ["vendored-libgit2"] }
thiserror = { workspace = true }
# Credential store (`auth.rs`) persistence — the host-keyed token /
# SSH-key table is serialized to a JSON file.
serde = { workspace = true }
serde_json = { workspace = true }
# Resolves the per-user config directory for the default credential
# store location (`AuthStore::user`).
dirs = "5"