在推送通知邮件中添加git diff

aru*_*net 3 git git-diff push-notification gitolite git-post-receive

目前我正在使用gitolite来管理我的存储库和用户.每次推送后我都成功设置了通知邮件.命令是

chmod a+x post-receive-email
cd /path/to/your/repository.git
ln -sf /usr/share/doc/git-core/contrib/hooks/post-receive-email hooks/post-receive
Run Code Online (Sandbox Code Playgroud)

通知邮件仅包含更改摘要.我想在该推送中添加每个修改文件的更改行.我知道编辑该post-receive-email文件并且必须使用git-diff命令.我的问题是

什么是我必须使用的确切git-diff命令..?我在那个post-receive-email文件中添加该命令的地方..?有没有任何配置可用于gitolite ..?

Von*_*onC 5

注意:您可能对新的git-multimail脚本感兴趣,该脚本将包含在git1.8.4中(2013年7月)

请参阅commit bc501f69fc6d697968d472afbabe6af97a758b12:

git-multimail:改进后接收电子邮件的替代品

添加git-multimail,用于生成通知电子邮件以推送到Git存储库的工具.
它在很大程度上与插件兼容post-receive-email,并且建议最终替换该脚本.相对
的优点git-multimailpost-receive-email中描述README.migrate-from-post-receive-email.

git-multimail组织在一个目录中contrib/hooks/multimail.

查看它所维护的独立GitHub项目(即使该项目将集成在contrib/hooks/multimail启动git1.8.4中)

你补充说:

echo ""
echo "Line of changes:"
git diff --diff-filter=M --find-copies-harder --no-prefix --unified=2 $oldrev..$newrev
Run Code Online (Sandbox Code Playgroud)

你可以在git_multimail.pypython脚本中添加它,就在之后diff-tree.
此外,您可以分叉GitHub项目,并multimailhook.diffFilterOpts为您的diff --diff-filter添加提出一个新选项.