需求
希望每次提交到分支上的代码自动提交到reviewboard,通过svn post-review hook脚本实现调用rbt工具发起code review。
改进过程
python和svn绑定问题
运维同学在使用hook脚本时发现通过源码编译出来的python和svn无法关联使用,一方面是缺少python的svn库,另一方面是缺少相应动态库。
http://stackoverflow.com/questions/1448894/subversion-python-bindings-documentation 这里有介绍通过编译安装swig就可以获取python和svn关联的脚本及动态库。
依赖1.5.2版本apr库,但是svn服务器无法升级apr库问题
apr库由于影响范围较广,升级之后很多服务可能出现问题,后面就考虑将该脚本移出来,放到其他服务器,提供http服务让post-commit hook调用。
脚本提供branch review功能
如上提供的脚本中更多的是将当前revision提交上去会比较好用,但是当你有一个分支,提交多次修改和code review就比较麻烦。虽然reviewboard可以在多个diff之间再做比较,但是始终无法得到最初的版本和最新的版本的一个diff。
这里考虑先获取当前改动的branchÿ