Crates.io | gix-config |
lib.rs | gix-config |
version | |
source | src |
created_at | 2023-02-17 09:44:37.670057 |
updated_at | 2024-10-22 18:57:41.376811 |
description | A git-config file parser and editor from the gitoxide project |
homepage | |
repository | https://github.com/GitoxideLabs/gitoxide |
max_upload_size | |
id | 787430 |
Cargo.toml error: | TOML parse error at line 24, column 1 | 24 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
gix-config is a library for interacting with git-config
files.
This crate intents to be a performant Rust implementation for reading and
writing git-config
files. It exposes tiers of abstractions, from simple
config value wrappers to a high level reader and writer.
The highlight of this crate is the zero-copy parser. We employ techniques to avoid copying where necessary, and reads that do not need normalization are guaranteed to be zero-copy. Higher level abstractions maintain this guarantee, and utilizes acceleration structures for increased performance.
Currently, this is not a binary. While we do intent to have a drop-in
replacement for the git config
sub-command, we're currently missing
system-level abstractions to do so.
Contributions are always welcome!
This repository enables pedantic, cargo, and nursery clippy
lints. Make sure
to run cargo clean && cargo clippy
(the clean stage is very important!) to
ensure your code is linted.
Since this is a performance oriented crate, in addition to well tested code via
cargo test
, we also perform benchmarks to measure notable gains or losses in
performance. We use criterion
so benches can be run via cargo bench
after
installing it via cargo install cargo-criterion
.
Changes to parsing code may include a request to fuzz to ensure that it cannot
panic on inputs. This can be done by executing cargo +nightly fuzz run parse
after
installing the fuzz
sub-command via cargo install cargo-fuzz
.