Skip to content
Snippets Groups Projects
Commit 82255cbf authored by nfontrod's avatar nfontrod
Browse files

src/create_hooks.rs: update post-checkout hook and delete pre-checkout hook

parent 2333136e
No related branches found
No related tags found
No related merge requests found
...@@ -83,10 +83,9 @@ fn create_file(folder: &PathBuf, file_name: &str, content: &str) { ...@@ -83,10 +83,9 @@ fn create_file(folder: &PathBuf, file_name: &str, content: &str) {
}); });
} }
/// Create 3 files in `.git/hooks` folder /// Create 2 files in `.git/hooks` folder
/// ///
/// 1. Create post-commit hook /// 1. Create post-commit hook
/// 2. Create pre-checkout hook
/// 3. Create post-checkout hook /// 3. Create post-checkout hook
/// ///
/// # Arguments /// # Arguments
...@@ -96,11 +95,16 @@ pub fn create_hooks(compression: &str, mode: &str) { ...@@ -96,11 +95,16 @@ pub fn create_hooks(compression: &str, mode: &str) {
let git_folder = get_hooks_folder(); let git_folder = get_hooks_folder();
let post_commit_cmd = format!("gblk commit --compression {}", &compression); let post_commit_cmd = format!("gblk commit --compression {}", &compression);
let post_commit_cmd = post_commit_cmd.as_str(); let post_commit_cmd = post_commit_cmd.as_str();
let pre_co_cmd = "gblk pre-co"; let post_co_cmd = format!("res=$(git reflog show | grep 'HEAD@{{0}}' | tr ' ' '\\n') \n\
let post_co_cmd = format!("gblk checkout --mode {}", mode); arr=(${{res// / }}) \n\
original_commit=${{arr[5]}} \n\
target_commit=${{arr[7]}} \n\
\n
git -c core.hooksPath=/dev/null checkout ${{original_commit}} && gblk pre-co && git -c core.hooksPath=/dev/null checkout ${{target_commit}} && gblk co --mode {}
", mode);
let post_co_cmd = post_co_cmd.as_str(); let post_co_cmd = post_co_cmd.as_str();
let v = vec![post_commit_cmd, pre_co_cmd, post_co_cmd]; let v = vec![post_commit_cmd, post_co_cmd];
let file_name = vec!["post-commit", "pre-checkout", "post-checkout"]; let file_name = vec!["post-commit", "post-checkout"];
for (c_cmd, fname) in v.iter().zip(file_name.iter()) { for (c_cmd, fname) in v.iter().zip(file_name.iter()) {
let content = format!( let content = format!(
"#!/bin/sh \n\ "#!/bin/sh \n\
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment