5

我创建了一个钩子,当开发人员将更新推送到他的共享存储库时,它会发送通知电子邮件。此电子邮件包含已更改文件的列表,例如:

A   __classes/Page/Activity.php
M   __config/Scheme.php

我使用以下 bash 生成:

$(git diff "$newrev"^ "$newrev" --name-status)

这工作正常。但是,我现在正尝试将所有这些移植到著名的post-receive-email 挂钩。这个钩子确实有一个hooks.showrev配置指令,但我认为这只允许在命令%s中使用一次修订号( )。所以这不起作用:

showrev = "git diff %s^ %s --name-status"

必须有一个“管道”命令可以做到这一点。谁能指出我正确的方向?:)

4

2 回答 2

2

如何使用以下内容?

showrev = "git show --name-status --pretty=format: %s"

git show是瓷器而不是管道,但我认为这就是你想要的。

于 2012-05-02T14:37:03.607 回答
1

git whatchanged -1 <rev>可能是一个很好的起点,并且有许多用于按摩输出格式的附加选项。不确定你是否能得到你上面引用的格式,但你应该能够得到类似的东西。

于 2012-05-02T14:51:19.593 回答