Open artbear opened 7 years ago
Могу ошибаться, но
#!/bin/sh
if ! [ -d .git/ ]
then
oscript -encoding=utf-8 $(cat .git|sed 's/^gitdir: //'|sed 's/.git\/worktrees\/.*//').git/hooks/v8file-extractor.os --git-precommit $(pwd)/src
else
oscript -encoding=utf-8 .git/hooks/v8file-extractor.os --git-precommit src
fi
Еще интересная информация https://longair.net/blog/2011/04/09/missing-git-hooks-documentation/ Можно использовать переменную среды GIT_DIR спасибо @bambr1975
вроде вот так универсально получится
#!/bin/sh
if ! [ -d .git/ ]
then
ppwd=`pwd`
cd $GIT_DIR
oscript -encoding=utf-8 ../../../.git/hooks/v8file-extractor.os --git-precommit $ppwd/src
else
oscript -encoding=utf-8 .git/hooks/v8file-extractor.os --git-precommit src
fi
Буквально вчера нарвался на небольшую проблему при работе с сабжем. Использую механизм worktree, положил нужную ветку в соседний рабочий каталог, делаю коммит, а мне выдается ошибка 'не удается найти .git/hooks/v8file-extractor.os' Для решения хотел сделать копию продукта и положить в папку .git/hooks/, но нелья - существует файл .git для связи с корневым каталогом гит, и папку не создать. Проблему решил временно - подменив путь в корневом каталоге в файле
.git/hooks/pre-commit
на../КорневойКаталог/.git/hooks/v8file-extractor.os
(правильный путь к корневому каталогу), сделал коммит и вернул обратно.Хотелось бы уметь штатно работать и в режиме worktree