puregit 0.0.2

A pure-Rust implementation of git, in the spirit of libgit2, built on purecrypto. Object model, packfiles, refs, and the smart transport over HTTP and SSH — client and server.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.95"
name = "puregit"
version = "0.0.2"
authors = ["Karpelès Lab Inc."]
build = false
exclude = ["interop/"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure-Rust implementation of git, in the spirit of libgit2, built on purecrypto. Object model, packfiles, refs, and the smart transport over HTTP and SSH — client and server."
documentation = "https://docs.rs/puregit"
readme = "README.md"
keywords = [
    "git",
    "vcs",
    "packfile",
    "no-std",
    "libgit2",
]
categories = [
    "development-tools",
    "no-std",
    "parser-implementations",
]
license = "MIT"
repository = "https://github.com/KarpelesLab/puregit"

[features]
client = []
default = [
    "std",
    "client",
]
ffi = ["std"]
full = [
    "std",
    "client",
    "server",
    "http",
    "ssh",
    "ffi",
    "signing",
]
http = [
    "std",
    "dep:rsurl",
]
server = ["std"]
signing = [
    "purecrypto/ec",
    "purecrypto/rsa",
]
ssh = [
    "std",
    "dep:puressh",
]
std = [
    "purecrypto/std",
    "compcol/std",
]

[lib]
name = "puregit"
crate-type = ["lib"]
path = "src/lib.rs"

[[bin]]
name = "puregit"
path = "src/bin/git.rs"
required-features = [
    "std",
    "client",
]

[[test]]
name = "interop_cli"
path = "tests/interop_cli.rs"

[[test]]
name = "interop_cli_mutate"
path = "tests/interop_cli_mutate.rs"

[[test]]
name = "interop_git_disk"
path = "tests/interop_git_disk.rs"

[[test]]
name = "interop_git_disk_write"
path = "tests/interop_git_disk_write.rs"

[[test]]
name = "interop_git_protocol_client"
path = "tests/interop_git_protocol_client.rs"

[[test]]
name = "interop_git_protocol_server"
path = "tests/interop_git_protocol_server.rs"

[dependencies.compcol]
version = "0.7"
features = [
    "alloc",
    "zlib",
]
default-features = false

[dependencies.purecrypto]
version = "0.10.1"
features = [
    "alloc",
    "hash",
]
default-features = false

[dependencies.puressh]
version = "0.1.11"
features = [
    "client",
    "multichannel",
]
optional = true
default-features = false

[dependencies.rsurl]
version = "0.1.18"
optional = true

[dev-dependencies.hex]
version = "0.4"

[profile.release]
lto = "thin"
codegen-units = 1
strip = true