在我的公司有不同的开发团队,我们所有人都使用SVN。
我们只共享SVN存储库中的一些文件。当一个或多个共享文件被修改和提交时,有时可能不会通知其他团队,这可能导致编译或运行时错误中的异常需要花费很多时间来识别和解决。
在对SVN中的某些特定文件进行提交时,是否有可能创建电子邮件通知?
答案 0 :(得分:2)
这可以使用适当的post-commit
svn钩子来完成。
常见的设置是使用svn repo中的模板hooks/post-commit.tmpl
在每次提交时触发电子邮件通知,通常发送到开发团队的邮件列表。
在最基本的设置中,钩子将所有文件的每个提交的完整差异发送给每个人。在您的特定情况下,您似乎希望自定义脚本以发送已更改文件的列表而不是完整差异,并且还要按您感兴趣的特定路径进行过滤。svnlook
命令对此有用,尤其是changed
子命令。
这是一个原始的示例钩子脚本,它在branches/feature1
中生成已更改文件的列表:
#!/bin/sh
svnlook changed "$1" -r "$2" | grep ^....branches/feature1/ | mailx -s "svn summary: $1 $2" team@example.com
我发布了一篇关于设置和测试挂钩的简短文章,我认为它应该有所帮助:
http://www.janosgyerik.com/setup-and-test-svn-post-commit-hook-to-send-commit-log/
答案 1 :(得分:0)
您不能将SVN用作CVS。您可能意味着您将其用作版本控制系统。 CVS是一个不同的VCS。
是:
阅读提交挂钩的subversion手册。他们还将获得已修改文件的信息。
颠覆手册非常好。你应该阅读它。