SVN高级应用,主要用于svn版本库管理员级别的操作,这些操作需要暂停重启svn的操作
hooks钩子应用
hooks:当执行默写特定操作时触发执行预先设定的任务
不是很理解,所以用大白话说吧,后期继续学习的过程中,完善…
位置:服务器版本库/hooks/hook-scripts
如图所示:以上都以.tmpl
后缀结尾的。代表模板文件,使用的时候去掉后缀名,就是可执行shell脚本。
比如图一,post-commit文件,当用户使用commit后出发执行脚本。
因为在学习阶段,并不清楚实际上的应用,大概明白了hooks具体是用来干什么的,实际上怎么用,以后遇到了在总结,网上找了相关的博客,看了一些,推荐一个感觉靠谱的网站
利用SVN的post-commit钩子实现多项目自动同步
版本库精简与丢弃
在后期开发中,版本库的版本号会越来越的多,通过版本库的精简,丢弃靠前的版本,来达到版本库瘦身的目的
- 停止版本库服务(防止有新的版本提交 killall svnserve)
- 把需要保留的版本库备份(
svnadmin dump 版本库文件系统路径 -r 2:4 > 备份文件
) - 创建新的版本库存放精简过后的版本库(
svnadmin create 路径/版本库名称
) - 导入备份(
svnadmin load 版本库文件系统路径/ < 备份文件
) - 复制原来的版本库权限配置文件 conf/*
- 删除旧的版本库(rm -rvf 路径)
- 运行svn服务
- 完成
注意:精简前
checkout
的工作副本不能使用了,原因是在精简和的版本号重新编号,与之前的不匹配,所以精简后重新checkout
版本库
版本库迁移与switch重定向
迁移在上个知识点就用到了版本库操作
迁移方式2 :
- killall svnserve(windows 下直接关闭)
- 把 版本库 压缩成 xxx.zip
- 复制xxx.zip 到新服务 器并解压
- 在新服务器上运行版本库
一行方法有点简单粗暴!!
因为更换了服务器,所以我们需要把工作副本重新定向到新的URL上去,这个过程称为重定向,使用第二种迁移方式重定向方便简单。
svn switch –relocate svn://原来版本库url svn://新版本库url