1、  svn存储结构

[root@localhost root]# ls /svn/Repository/

conf  dav  db  format  hooks  locks

 

conf  包含库配置文件的目录;

dav 提供给Apachemod_dav_svn使用

db 版本数据存储目录

format 存储一个整数的文件,此整数代表库层次结构版本

hooks 版本库勾子版本

locks 存储库锁目录,用来跟踪库的访问者

db目录下fs-type目录不能删除,记录库的存储系统;而revprops目录记录版本属性;revs才是版本存储的实际目录;uuid为库的唯一标识号;txn-current记录当前事务;

 

所有这些目录中, db format locks fs-type revs uuid revprops 目录及文件必须完整才能正常显示版本,如果 revs 中的版本意外删除, 可以从hot-copy备份库中直接拷贝 过来而不会损坏数据;也可以从镜像库拷贝恢复(实际操作中还是有数据损坏,镜像库和源库中还是有些许差异);

 

其中revs下面是以目录组织的版本结构,每1000个版本组成一个目录,每个版本自成一个文件,文件名即为commit后生成的版本号;即使删除掉部分版本也不会影响版本库的读取和显示;但是基础版本丢失会使版本库无法访问;