An open API service indexing awesome lists of open source software.

https://github.com/bachp/git-credential-rs

Crate that provides types that help to implement git-credential helpers
https://github.com/bachp/git-credential-rs

git git-credential-helper rust rust-crate

Last synced: 8 months ago
JSON representation

Crate that provides types that help to implement git-credential helpers

Awesome Lists containing this project

README

          

# Git Credential

[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fbachp%2Fgit-credential-rs%2Fbadge%3Fref%3Dmaster&style=flat)](https://actions-badge.atrox.dev/bachp/git-credential-rs/goto?ref=master)
[![Crate](https://img.shields.io/crates/v/git-credential.svg)](https://crates.io/crates/git-credential)
[![API](https://docs.rs/git-credential/badge.svg)](https://docs.rs/git-credential)

A Rust library that provides types that help to implement git-credential helpers.

## Usage

Add this to your `Cargo.toml`:

```toml
[dependencies]
git-credential = "*"
```

This crates provides types that are able to parse input and produce output in the format
described in [git-credential[1] ](https://git-scm.com/docs/git-credential).

The following shows an example on how create a `GitCredential` struct
from an input, modify it and write it back to an output:

```rust
use git_credential::GitCredential;

let input = "username=me\npassword=%sec&ret!\n\n".as_bytes();
let mut output: Vec = Vec::new();

let mut g = GitCredential::from_reader(input).unwrap();

assert_eq!(g.username.unwrap(), "me");
assert_eq!(g.password.unwrap(), "%sec&ret!");

g.username = Some("you".into());
g.password = Some("easy".into());

g.to_writer(&mut output).unwrap();

assert_eq!("username=you\npassword=easy\n\n", String::from_utf8(output).unwrap())
```

See the [API documentation](https://docs.rs/git-credential) for more details.

# License

Rand is distributed under the terms of both the MIT license and the
Apache License (Version 2.0).

See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and
[COPYRIGHT](COPYRIGHT) for details.