#aws-credentials #aws #git2 #callback #aws-cli #codecommit

git2_codecommit

Credential callback for using git2 with AWS CodeCommit

3 releases

Uses old Rust 2015

0.1.2 Oct 23, 2017
0.1.1 May 27, 2017
0.1.0 Mar 6, 2017

#17 in #git2

MIT license

7KB
90 lines

rust-git2-codecommit

This is a credential provider that you can give to git2::RemoteCallbacks::credentials and have it use AWS credentials from the usual locations.

It will then generate the username and password to use AWS CodeCommit via HTTPS, similar to the AWS CLI credential helper.

(You can also probably just set up the credential helper and libgit2 should do the right thing, but.)

This module uses code copied from private functions in rusoto, available under the MIT license.

Example

use git2::{FetchOptions, RemoteCallbacks};
use git2::build::RepoBuilder;
use git2_codecommit::codecommit_credentials;

let mut remote_cbs = RemoteCallbacks::new();
remote_cbs.credentials(codecommit_credentials);
let mut fetch_opts = FetchOptions::new();
fetch_opts.remote_callbacks(remote_cbs);
let repo = RepoBuilder::new().fetch_options(fetch_opts).clone(url, some_path).unwrap();
// etc.

Dependencies

~22–32MB
~657K SLoC