Redmine集成Mercurial
由于现在开发人员不能集中在一起开发,而动态域名稳定性和速度都不太理想,所以SVN对于现在开发项目的源码管理是件棘手的事情。刚好在InfoQ上看到Mercurial,试用了一把,的确让人惊喜不小。
注意了,如果你在Windows上使用Mercurial,不妨下载TortoiseHg,有界面的东西入门始终都要轻松许多。如果用过TortoiseSVN那么使用TortoiseHg也就很简单,关于TortoiseHg以后有机会再写,不过源码的管理思路可不像SVN,非得架一台服务器,大家都把代码往SVN服务器上提交。
开始安装Redmine吧,直接下载Apache+MySQL+SVN+Ruby+Rails+Redmine的集成环境Redmine Bitnami Stack,我下载的是0.8.1-2版本,也许会有所不同。这种安装环境真舒服,一口气把所有的环境都安装好了,省得一会儿配这样一会儿配那样,弄不好一个不小心,把版本号弄错,一天时间能不能配好都还是未知数,如果E文不好,那么安装的过程中语言那一步要选择中文,装好会界面默认就是中文了。
安装好Redmine后,用安装步骤中设置的第一个账号登录Redmine,进入管理菜单,打开配置项,确保版本库中启用SCM中的Mercurial打上钩。
然后新建项目,进入该项目的配置界面,找到配置中的版本库,SCM选择Mercurial,Root directory中输入Mercurial的仓库路径“d:\ Mercurial_DB”。这个创建按钮让你好怕怕,其它人看到这个按钮会不会也认为是创建一个Mercurial的仓库?是不是翻译的问题,反复尝试这个按钮,结果是添加一个版本管理器的地址而已,放心点吧!
有点迫不及待的想看看Redmine是怎样展示你的源码的提交、分支、标签情况了吧,那就点“版本库”吧。如果你的安装路径和我一样是“D:\Program Files\BitNami Redmine Stack\”这样的形式,那么恭喜你,你遇到了和我一样需要解决的问题,而且你也不用再去看源代码,从我这里就可以轻松的解决这个问题。打开“D:\Program Files\BitNami Redmine Stack\apps\redmine\lib\redmine\scm\adapters\mercurial_adapter.rb”,别用记事本打开,不然乱糟糟的你难得看清里面是什么,用个Notepad++之类的编辑器打开吧,找到“cmd = "#{HG_BIN} --debug --encoding utf8 -R #{target('')} log -C --style #{self.class.template_path}"”这一行,具体的代码行由于为了找问题改了代码,已经弄乱了,所以还是用查找功能找下吧,替换成“cmd = "#{HG_BIN} --debug --encoding utf8 -R #{target('')} log -C --style \"#{self.class.template_path}\""”。保存,然后重启“ redmineMongrel1”和“redmineMongrel2”服务,再刷新页面吧,是不是感觉一阵清风扑面而来!