本文主要介绍如何配置bazaar版本管理工具在本地提交代码的时候,同时向指定的邮件列表发送邮件来向合作伙伴通知修改内容。
bazaar一个分布式的版本管理工具。它支持分布式的代码管理,并支持自动使用Mail List向开发团队的其他开发人员和相关人员发送代码更改通知。具体配置如下:(本文的安装环境是ubuntu11.10)
1. 下载安装bazaar email插件 (参考http://kb.askmonty.org/en/how-to-get-more-out-of-bzr-when-working-on-mariadb)
到~目录的.bazaar/plugins目录下(如果没有,自己新建一个mkdir -p .bazaar/plugins)执行如下命令:
bzr branch lp:~maria-captains/bzr-email/serg/ email bzr branch lp:~maria-captains/bzr-gtk/serg gtk
2. 配置邮件插件
到~目录的.bazaar目录下,找到bazaar.conf 配置文件 (没有的话自己用vi新建一个), 把文件内容修改为如下:
[DEFAULT]email = GAO Xiaoxin <dennis.gao@turbolinux.com.cn>
per_file_commits = On
post_commit_difflimit = 20000
post_commit_mailer = smtplib
smtp_server = 你自己的SMTP服务地址
smtp_username = SMTP的用户名
smtp_password = SMTP密码
date-column-visible = True
到~目录的.bazaar目录下,找到locations.conf 配置文件(没有的话自己用vi新建一个), 把文件内容修改为如下:
#replace this location to your work directory
[/home/gaoxiaoxin/bzr-repo/greatsql-tools] #这里要改为你本地bzr 分支库的位置
tree_name="greatsql-tools" #tree_name随意
post_commit_to = greatsql_commit@greatopensource.com
post_push_to = greatsql_commit@greatopensource.com
[/home/gaoxiaoxin/test/repo] #要分别为不同的分支库进行配置, 或者可以把两个分支库的位置写在相邻的两行然后在后面进行配置那么
#这两个分支库就共享这个配置
tree_name="test"
post_commit_to = greatsql_commit@greatopensource.com
post_push_to = greatsql_commit@greatopensource.com
这样配置后在你提交修改的时候(commit或push)的时候就能自动发送邮件了。不过bazaar的email插件似乎对邮件的subject的处理不太好,会把本地目录结构为写道邮件中。
通过阅读代码可以知道,可以通过在配置文件中添加
public_branch=你想用来替换本地文件路径的值 (这个应该写在locations.conf文件中,为每个不同的分支配置专门的值)
email插件默认会把你提交时写的comment的第一行作为邮件标题的内容,所以别写太长了。。。。