From 82255cbf1b55b7785daf3c1d7a211bf8e756ace7 Mon Sep 17 00:00:00 2001 From: Fontrodona Nicolas <nicolas.fontrodona@ens-lyon.fr> Date: Thu, 12 May 2022 16:58:43 +0200 Subject: [PATCH] src/create_hooks.rs: update post-checkout hook and delete pre-checkout hook --- src/create_hooks.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/create_hooks.rs b/src/create_hooks.rs index 1cbede1..1727703 100644 --- a/src/create_hooks.rs +++ b/src/create_hooks.rs @@ -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 -/// 2. Create pre-checkout hook /// 3. Create post-checkout hook /// /// # Arguments @@ -96,11 +95,16 @@ pub fn create_hooks(compression: &str, mode: &str) { let git_folder = get_hooks_folder(); let post_commit_cmd = format!("gblk commit --compression {}", &compression); let post_commit_cmd = post_commit_cmd.as_str(); - let pre_co_cmd = "gblk pre-co"; - let post_co_cmd = format!("gblk checkout --mode {}", mode); + let post_co_cmd = format!("res=$(git reflog show | grep 'HEAD@{{0}}' | tr ' ' '\\n') \n\ + 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 v = vec![post_commit_cmd, pre_co_cmd, post_co_cmd]; - let file_name = vec!["post-commit", "pre-checkout", "post-checkout"]; + let v = vec![post_commit_cmd, post_co_cmd]; + let file_name = vec!["post-commit", "post-checkout"]; for (c_cmd, fname) in v.iter().zip(file_name.iter()) { let content = format!( "#!/bin/sh \n\ -- GitLab