我在centos上yum安装了1.6.11版本的svn
创建了一个库名字为repo1
我想利用repo1中的hooks去配置提交代码时的邮件通知
hooks 解释:http://blog.csdn.net/littlegrizzly/article/details/7371517
我在/usr/share/doc/subversion-1.6.11/tools/hook-scripts/mailer/目录下找到了mailer.py文件,所以使用mailer.py发送邮件
mailer.py发送邮件时还需要一个配置文件,这个配置文件的例子应该在/usr/share/doc/subversion-1.6.11/tools/hook-scripts/mailer 目录下,名字叫mailer.conf.example, 可以把这个文件拷贝到repo1/conf中,并修改文件名称为mailer.conf
接下来修改mailer.conf文件的内容, 这里修改的地方有:
smtp_hostname = smtp.qq.com
smtp_username = xxxxx@xxxx.xxx
smtp_password = xxxxx
from_addr = xxxxx@xxxx.xxx (注:这里的邮箱地址应该与smtp_username相同,并且from_addr是[defaults]标签下的,[general]中也有一个from_addr,不做修改)
to_addr = XXXX@qq.com XXX@sina.com.cn (多个用空格分开)
其他的不做改动
再修改repo1/hooks下的post-commit.tmpl文件
将其改名为post-commit,并附上可执行权限chmod a+x post-commit
修改其内容为:
/usr/share/doc/subversion-1.6.11/tools/hook-scripts/mailer/mailer.py commit "$REPOS" "$REV" /repo1/conf/mailer.conf
if [ $? -ne 0 ]; then
echo "failure to mailer.py commit $REPOS $REV" >> /repo1/conf/mail.log
fi
注意以上代码有个mail.log,用来记录发送时的日志
好了,现在每次提交可以发送邮件了
另:可以这样测试
/usr/share/doc/subversion-1.6.11/tools/hook-scripts/mailer/mailer.py commit /repo1 184 /repo1/conf/mailer.conf
其中184是svn提交时的版本号,这个版本号一定是svn上存在的,否则会报错svn.core.SubversionException: ('No such revision 1847', 160006)
如何知道svn提交的版本号:我在配置过程中,是在eclipse的svn插件提交测试的,可惜的是第一次邮件发送没有成功,然后我查看了一下mail.log, 里面记录的失败提交的版本号,这样我就搞到了一个svn存在版本号了,然后用以上代码直接命令行测试就好
分享到:
相关推荐
在某些场景下,我们需要在 SVN 提交代码时自动发送邮件通知,这样可以让团队成员实时了解项目的更新情况。本文将详细讲解如何实现"svn提交文件自动邮件提醒",主要涉及`commit-email.pl`钩子程序的设置与使用。 `...
SVN的钩子是在特定事件(如提交)发生时执行的脚本。在SVN仓库的hooks目录下,创建一个名为`post-commit`的脚本,通常是bash脚本。这个脚本将在每次提交后执行。 3. **编写`post-commit`脚本** 脚本的主要任务是...
通过配置SVN邮件通知功能,每当有人提交更改时,系统都会自动向指定的邮箱发送通知邮件,告知提交者、提交时间、修改内容等关键信息。这种方式不仅能够帮助团队成员保持对项目状态的关注,还能够减少沟通成本,提高...
本篇将详细讲解如何在Windows系统下搭建SVN服务器,并实现SVN自动发送邮件通知功能。 首先,我们需要了解Windows下搭建SVN服务器的基本步骤。这通常涉及到以下几个主要组件: 1. **安装SVN服务器**:常见的SVN...
当 SVN 仓库有提交、更新等操作时,这个程序会调用 `MailUtils` 来发送邮件通知。这可能涉及到 SVN 客户端库,如 `svnjavahl.jar` 或 `svnkit.jar`,这些库允许 Java 代码与 SVN 仓库进行交互,获取提交信息。 实现...
标题 "SVN变化发送邮件(Python)" 描述的是一个使用Python编程语言实现的系统,该系统能够监控Subversion(SVN)版本控制系统中的变动,并在检测到任何更新或提交时自动发送电子邮件通知。这个功能对于团队协作尤其...
在Linux或Ubuntu环境中,配置SVN(Subversion)服务器自动发送邮件主要涉及到以下几个关键步骤,这些步骤可以帮助开发者在每次提交代码时,自动收到包含提交信息的邮件通知。 首先,我们需要下载`commit-email.pl`...
【Svn自动发邮件配置】是版本控制系统Subversion(简称Svn)的一种实用功能,它允许在进行代码提交、合并等操作时,自动发送邮件通知给团队成员,以确保团队及时了解到代码变动情况,提高协作效率。下面我们将详细...
4. **DingDing Post-commit Hook**:结合上述两点,`SvnDingTalkHook.exe` 可能是一个专门为VisualSVN和DingDing定制的程序,用于在SVN提交后,通过调用DingDing的API发送通知。这个程序通常会在`post-commit.cmd`...
为了实现自动化的操作,如构建、邮件通知等,可以在仓库的hooks目录下创建脚本。例如,post-commit钩子可以在每次提交后执行某些操作。 **8. SSL/TLS 安全性** 为提高安全性,可以启用SSL/TLS加密通信。在...
3. 邮件通知:配置邮件通知服务,当有新的提交或发生冲突时自动发送邮件提醒相关人员。 4. 认证方式:可以选择基本认证、 digest 认证或更安全的SSL/TLS认证。 5. 仓库备份:定期备份SVN仓库,以防数据丢失。 6. ...
- **post-commit**:提交后运行,常用于触发自动构建、发送通知邮件或其他集成任务。 - **pre-revprop-change** 和 **post-revprop-change**:用于处理修订属性的变更,比如修改日志消息。 - **pre-lock** 和 **post...
邮件通知功能的实现,需要在SVN中设置相应的钩子(hooks),以便在代码提交或状态变化时触发邮件发送。然而,具体邮件服务的配置不在本文档描述范围内,通常涉及SMTP服务器的设置、邮件模板的定义以及触发条件的设定...
### SVN提交更新七大准则 #### 一、负责而谨慎地提交自己的代码 **准则要点**: - 及时更新和提交代码,确保每次提交都包含了完成的小功能,并且经过了基本的编译和测试。 - 开始新的一天工作之前,先进行`svn ...
6. **高级特性**: 探索 SVN 的高级特性,如钩子脚本(Hooks),用于自动化执行某些任务,如自动构建、邮件通知等。 7. **版本升级**: 了解如何从旧版本的 SVN 升级到新版本,以及升级过程中需要注意的问题。 通过 ...
- **钩子脚本(Hooks)**:允许在版本库操作前后执行自定义脚本,例如自动触发构建或邮件通知。 以上步骤完成后,你就成功配置了一个基础的svn服务器,并进行了基本的版本控制操作。随着项目的推进,你可能需要...
3. **钩子脚本**: SVN服务器可以设置钩子脚本,实现自动化的操作,如提交后发送邮件通知、代码质量检查等。 通过以上步骤,一个基本的SVN协同开发环境就建立起来了。团队成员可以利用这个环境进行高效、安全的代码...
- **通知设置**:在`notification`部分,你可以控制何时发送电子邮件通知,例如`always_notify_owner`、`always_notify_reporter`和`smtp_enabled`等,这些设置会影响用户收到的通知类型和频率。 - **其他配置**...