我正在尝试这样做:
git show --format=format:"parents:%p%ncommit:%h%nauthor:%an%n%N%n%s%n%b" -C; echo
在我的关于git的post-receive-email脚本中的hooks.showrev中
custom_showrev=$(git config hooks.showrev || git show --format=oneline --abbrev-commit -C %s; echo)
使用“标准”接收后电子邮件脚本。它只是给我以下错误:
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 hook自定义格式?
答案 0 :(得分:2)
问题在于
eval $(printf "$custom_showrev" $onerev)
printf尝试获取格式字符串并在其中一个%点插入$ onerev,然后评估所有内容。
只需用以下行替换eval行:
git show --format=format:"parents:%p%ncommit:%h%nauthor:%an%n%N%n%s%n%b" -C $onerev
它会起作用。