git post-receive-email hooks.showrev довольно форматирование? - PullRequest
1 голос
/ 15 июля 2010

Я пытаюсь сделать это:

git show --format=format:"parents:%p%ncommit:%h%nauthor:%an%n%N%n%s%n%b" -C; echo

в моем hooks.showrev в моем скрипте post-receive-email для git:

custom_showrev=$(git config hooks.showrev || git show --format=oneline --abbrev-commit -C %s; echo)

с использованием «стандартного» сценария post-receive-email. Это просто дает мне следующую ошибку:

remote: /home/git/git-core/contrib/hooks/post-receive-email: line 631: parents:0937024: command not found

когда я фиксирую с помощью git из консоли. Строка 631 имеет:

            eval $(printf "$custom_showrev" $onerev)

Кто-нибудь знает, что я здесь не так делаю?

В частности, мой вопрос: как использовать пользовательский формат с хуком post-receive-email?

1 Ответ

2 голосов
/ 16 июля 2010

Проблема с

eval $(printf "$custom_showrev" $onerev)

printf пытается взять строку формата и вставить $ onerev в одну из% точек, а затем вычислить все.

Просто замените строку оценки на строку:

git show --format=format:"parents:%p%ncommit:%h%nauthor:%an%n%N%n%s%n%b" -C $onerev

и это будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...