SVN 同一个仓库下,不同目录的自动更新方法
SVN里,不同仓库都会有不同的钩子,在不同的仓库中自动更新比较方便,因为触发的钩子是独立的。但在同一个仓库下,不同目录的更新,就略显麻烦,因为不同目录提交后,触发的是同一份钩子,仓库路径也是同一个。
但是可以利用svnlook dir-changed repo 来返回更新的目录是哪个,从而进一步执行自动更新
注:svn ,svnlook需要添加到环境变量
1 @echo off 2 SET REPO=%1 3 4 for -f "delims=/" %%d in ('svnlook dirs-changed %REPO%') do SET CHANGE_DIR=%%d 5 6 if %CHANGE_DIR% == project1 ( 7 svn update project1 8 )^ 9 else if %CHANGE_DIR% == project2 ( 10 svn update project2 11 )^ 12 else ( 13 ::do nothing 14 )