Trac安装3 -集成Git

Trac可以很方便的和现下各种流行的VCS进行集成(通过插件的方式),这里以Git为例。

Trac中通过GitPlugin来实现与Git的集成,首先安装它,我选择的是: 0.12.0.5dev。下面进行假单的配置:

  1. 进入admin的插件配置,激活GitConnector(我只激活了它)
  2. repositories菜单中配置Git库,注意用绝对路径,比如/home/​your_name/​repos/my​site.git
  3. 设置Git库的权限,比如更改用户为www-data(我的Trac在apache2上)

这样就可通过Browser Source菜单看到代码了!并且,提交代码后,可以看到新的代码(因为默认每次提交都同步)。

但是,changeset还不能自动插入到ticket中。你需要自己为Git增加hook

  1. 到你git库的hooks文件夹下创建post-receive文件
  2. 拷贝附件代码(需要指定你自己trac项目和git/trac-admin命令的路径)至post-receive文件中
  3. 更改权限,让post-receive文件可执行(就像里面的.sample文件一样)

    现在,提交说明信息“refs #1, fix some bug”会自动插入到/ticket/1的comments列表中!

    我一直耿耿于怀,因为几乎所有的文档都提到、甚至强调:要将trac.ini中的repository_sync_per_request设置成空。我一打开自己的trac.ini,发现repository_sync_per_request是默认的值:(default),并且repository_dir也是空!究竟是为什么呢?

    答案就在我配置Git库的流程里。当安装完GitPlugin的时候,我是从WebAdmin中增加的Git库,这样增加的版本库信息都保存在数据库中,当然,trac.ini中的配置就还保持默认了。我查了一下数据库中repository的记录,库的信息是在,但是并没有保存repository_sync_per_request的值。看来Web配置页面确实好用啊~~

    另外,你可以继续添加其它版本库,可以很轻松的将多个版本库集成到Trac中,甚至可以集成不同VCS的库!

猜你喜欢

转载自woodyhuang.iteye.com/blog/1447108