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