Git plumbing命令用于查找给定修订中已更改的文件

时间:2012-05-02 14:23:57

标签: git githooks

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

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

我使用以下bash生成:

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

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

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

必须有一个'plumbing'命令才能做到这一点。谁能指出我正确的方向? :)

2 个答案:

答案 0 :(得分:2)

如何使用以下内容?

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

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

答案 1 :(得分:1)

git whatchanged -1 <rev>可能是一个很好的起点,并且还有许多其他选项可用于按摩输出格式。不确定您是否可以获得上面引用的格式,但您应该能够获得可比较的内容。