From c8a40229dabee642d598a9a8f852e33e6a183780 Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Mon, 21 Aug 2017 23:08:50 +0200 Subject: Wrote example hook for prepending branch name to file --- src/lib.rs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/lib.rs (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..18b3476 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,31 @@ +extern crate git2; + +use std::env; +use std::io::{stdin, BufRead}; + +use git2::Repository; + + +pub fn log() { + let name_arg = env::args().nth(0).unwrap_or(String::from("unknown")); + let args: Vec<_> = env::args().skip(1).collect(); + println!("{} called with {:?}", name_arg, args); + + println!("BEGIN STDIN"); + let stdin = stdin(); + for line in stdin.lock().lines() { + println!("{:?}", line); + } + println!("END STDIN"); +} + +pub fn get_current_branch() -> Result { + let git_repo = Repository::discover("./")?; + let head = git_repo.head()?; + let head_name = head.shorthand(); + match head_name { + Some(name) => Ok(name.to_string()), + None => Err(git2::Error::from_str("No branch name found")) + } +} + -- cgit v1.2.3