как получить путь к проекту в пост-коммит скрипта хука? (git) - PullRequest
8 голосов
/ 09 марта 2011

Я хочу вызвать скрипт, который находится в репозитории.

Конечно, я мог бы сделать следующее:

#!/bin/sh
../../myscript.sh

но я думаю, что это не приятно;)

так как мне узнать путь моего проекта в скрипте после фиксации?

1 Ответ

16 голосов
/ 09 марта 2011

Когда вы работаете с не-пустым хранилищем, ловушка post-commit 1 запускается с текущим рабочим каталогом рабочего дерева хранилища. Таким образом, вам не нужно ../../.

Если вам нужен полный путь к скрипту, вы всегда можете сделать:

SCRIPT=$(readlink -nf myscript.sh)

... или вы можете использовать git rev-parse --show-toplevel, чтобы получить абсолютный путь к рабочему каталогу:

SCRIPT=$(git rev-parse --show-toplevel)/myscript.sh

1 ... но учтите, что это не так для некоторых других хуков, например в хуке post-receive в не пустом хранилище текущим рабочим каталогом является каталог .git.

...