#git-repository #git #version-control #simple

mhgit

MHgit is a simple git library for interracting with git repositories

1 unstable release

0.1.0 May 10, 2020

#104 in #simple

BSD-3-Clause

510KB
1.5K SLoC

MHgit

Travis CI build status Crates.io latest version Crates.io downloads GitHub license

MHgit is a simple git library for interracting with git repositories. Provides an idiomatic and easy way of dealing with git repos.

Requires git to be installed on the system.

Supported actions

  • add
  • clone
  • commit
  • init
  • notes
  • pull
  • push
  • remote
  • status
  • stash
  • tag

Example

extern crate mhgit;

use mhgit::{CommandOptions, Repository};
use mhgit::commands::{PushOptions, RemoteOptions};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let repo = Repository::at("/home/mh/awesomeness")?
        .init()?
        .add()?
        .commit("Initial commit")?;
    RemoteOptions::add()
        .master("master")
        .name("upstream")
        .url("https://web.com/myrepo.git")
        .run(&repo)?;
    PushOptions::new()
        .set_upstream(true)
        .remote("origin")
        .refspec("master")
        .run(&repo)?;
    Ok(())
}

Changelog

Dependencies