From f3c7ede6af566839918cb884cde5572049962f7f Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Sun, 20 Aug 2017 21:45:52 +0200 Subject: Added logging of stdin Stdin is used to provide additional info on some hooks, like on pre-push. --- README.org | 1 + src/bin/commit-msg.rs | 8 ++++++++ src/bin/pre-commit.rs | 14 ++++++++++++++ src/bin/pre-push.rs | 8 ++++++++ src/bin/prepare-commit-msg.rs | 8 ++++++++ 5 files changed, 39 insertions(+) create mode 100644 src/bin/pre-commit.rs diff --git a/README.org b/README.org index 78e4c79..7294780 100644 --- a/README.org +++ b/README.org @@ -6,6 +6,7 @@ them into your git hooks folder. #+BEGIN_SRC sh cargo build +ln -s $PWD/target/debug/pre-commit .git/hooks/pre-commit ln -s $PWD/target/debug/prepare-commit-msg .git/hooks/prepare-commit-msg ln -s $PWD/target/debug/commit-msg .git/hooks/commit-msg ln -s $PWD/target/debug/pre-push .git/hooks/pre-push diff --git a/src/bin/commit-msg.rs b/src/bin/commit-msg.rs index 488613e..d880dc0 100644 --- a/src/bin/commit-msg.rs +++ b/src/bin/commit-msg.rs @@ -1,6 +1,14 @@ use std::env; +use std::io::{stdin, BufRead}; fn main() { let args: Vec<_> = env::args().skip(1).collect(); println!("commit-msg called with {:?}", args); + + println!("BEGIN STDIN for commit-msg"); + let stdin = stdin(); + for line in stdin.lock().lines() { + println!("{:?}", line); + } + println!("END STDIN"); } diff --git a/src/bin/pre-commit.rs b/src/bin/pre-commit.rs new file mode 100644 index 0000000..7b52443 --- /dev/null +++ b/src/bin/pre-commit.rs @@ -0,0 +1,14 @@ +use std::env; +use std::io::{stdin, BufRead}; + +fn main() { + let args: Vec<_> = env::args().skip(1).collect(); + println!("pre-commit called with {:?}", args); + + println!("BEGIN STDIN for pre-commit"); + let stdin = stdin(); + for line in stdin.lock().lines() { + println!("{:?}", line); + } + println!("END STDIN"); +} diff --git a/src/bin/pre-push.rs b/src/bin/pre-push.rs index a290af2..41f3bbb 100644 --- a/src/bin/pre-push.rs +++ b/src/bin/pre-push.rs @@ -1,6 +1,14 @@ use std::env; +use std::io::{stdin, BufRead}; fn main() { let args: Vec<_> = env::args().skip(1).collect(); println!("pre-push called with {:?}", args); + + println!("BEGIN STDIN for pre-push"); + let stdin = stdin(); + for line in stdin.lock().lines() { + println!("{:?}", line); + } + println!("END STDIN"); } diff --git a/src/bin/prepare-commit-msg.rs b/src/bin/prepare-commit-msg.rs index 5ce0012..8118374 100644 --- a/src/bin/prepare-commit-msg.rs +++ b/src/bin/prepare-commit-msg.rs @@ -1,6 +1,14 @@ use std::env; +use std::io::{stdin, BufRead}; fn main() { let args: Vec<_> = env::args().skip(1).collect(); println!("prepare-commit-msg called with {:?}", args); + + println!("BEGIN STDIN for prepare-commit-msg"); + let stdin = stdin(); + for line in stdin.lock().lines() { + println!("{:?}", line); + } + println!("END STDIN"); } -- cgit v1.2.3