Имеется 2 репозитория git (продукт A и продукт B) с подмодулями (CommonSubmodule, SomeOtherSubmodule)
D:\Repositories\ProductA\
D:\Repositories\ProductA\CommonSubmodule
D:\Repositories\ProductA\SomeOtherSubmodule
D:\Repositories\ProductA\SomeOtherSubmodule\
D:\Repositories\ProductB\SomeOtherSubmodule\
D:\Repositories\ProductB\CommonSubmodule\
Я нашел в сети скрипт, позволяющий регистрировать ветки с помощью перехвата post_checkout
#!/bin/sh
previous_head_ref=$1
new_head_ref=$2
is_branch_checkout=$3
if [[ "$previous_head_ref" != "$new_head_ref" ]] && [[ "$is_branch_checkout" == 1 ]]; then
branch=$(git rev-parse --abbrev-ref HEAD)
#if [[ "develop" != "$branch" ]]; then
path="$(dirname "$0")/.."
logfile="$path/x_branch_log"
ts=$(date +%s)
echo "$branch|1|$ts" >> $logfile
echo "Logging $branch|1|$ts to $logfile"
echo PWD is $PWD
#fi
fi
В контексте post_checkout, как я могу получить корневой каталог (D: \ Repositories) независимо от того, насколько глубоко в подмодуле установлен хук, без кодирования абсолютных путей?
D:\Repositories\
Кроме того, как я могу получить корневой каталог продукта, например,
D:\Repositories\ProductA\
D:\Repositories\ProductB\