目前我正在使用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
通知邮件仅包含更改摘要。我想在推送中添加每个修改文件的更改行。我知道要编辑post-receive电子邮件文件,必须使用git diff命令。我的问题是
我必须使用的确切git diff命令是什么..?
我把这个命令添加到那个post-receive电子邮件文件中的哪个位置…?
Gitolite中有可用的配置吗?
最佳答案
注意:您可能对新的git multimail脚本感兴趣,该脚本将包含在git1.8.4(2013年7月)中。
见commit bc501f69fc6d697968d472afbabe6af97a758b12:git-multimail
:改进后接收电子邮件的替代方法
addgit-multimail
,一个生成通知电子邮件的工具,用于推送到git存储库。
它在很大程度上与post-receive-email
兼容,并建议最终替换该脚本。git-multimail
相对于post-receive-email
的优点在README.migrate-from-post-receive-email
中描述。git-multimail
在目录中组织。
查看其独立的GitHub project维护位置(即使该项目将集成到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
您可以在
contrib/hooks/multimail
python脚本中添加它,就在git_multimail.py
之后。另外,您可以分叉GitHub project,并为您的
diff-tree
添加建议一个multimailhook.diffFilterOpts
新选项。