需求是这样:
1.项目架构要重构.切到maven
2.代码要有多个分支(当前只有trunk)
3.代码提交要关联redmine, 用来规范不能提交不属于当前流且当前版本的开发任务.为代码多分支服务. (不熟悉这种开发方式的开发很容易搞错分支)
方式是:
使用svn钩子
pre-commit钩子,
在钩子里调用redmine的python插件
请求到结果, 然后决定是否可用提交成功
exit 1 阻断
exit 0 可用提交
过程
hook里可以获取三个参数

第一个参数(哪个库)加第二个参数(提交的版本号 transaction)可以唯一确定某次提交
都是svnlook的参数
https://www.cnblogs.com/wangjiyuan/p/svnnn.html

注意要使用
E:\Program Files\VisualSVN Server\bin
而不是
C:\Program Files\TortoiseSVN\bin 里的svnlook
hook代码如下
set REPOS=%1
set TXN=%2
set AA= %STDIN
set SVN_BINDIR="E:\Program Files\VisualSVN Server\bin"
echo 提交时必须填写说明 1>&2
echo "%REPOS%" -t "%TXN%" 1>&2
echo 版本不对99 1>&2
echo "%AA%" 1>&2
::for /f "delims=" %%i in ('dir ') do set b=%%i
::echo b=%b%
::我也不懂,大意是 svnlook是查看当次transaction的提交信息.
::然后将执行的结果传给 check.py,然后开始python执行.
%SVN_BINDIR

本文介绍如何通过SVN钩子和Python脚本实现代码提交与Redmine任务的关联,确保开发任务按分支规范进行,提升代码管理和项目跟踪效率。
最低0.47元/天 解锁文章
6854

被折叠的 条评论
为什么被折叠?



