zoukankan      html  css  js  c++  java
  • svn版本库目录结构

     

     
    该文是svn源代码分析系列文章服务端架构中的一篇,主要描述svn服务端版本库数据存储目录结构,并且对这些文件以及目录的作用进行简单分析。使用“svnmadin create”命令创建初始化版本库后,使用“tree”命令打印出没有经过任何修改的原始版本库目录。
    $ svnadmin /svnrepos/morepos
    $ tree /svnrepos/morepos -p
    morepos
    |-- [-rw-r--r--]  README.txt
    |-- [drwxr-xr-x]  conf
    |   |-- [-rw-r--r--]  authz
    |   |-- [-rw-r--r--]  passwd
    |   `-- [-rw-r--r--]  svnserve.conf
    |-- [drwxr-sr-x]  db
    |   |-- [-rw-r--r--]  current
    |   |-- [-r--r--r--]  format
    |   |-- [-rw-r--r--]  fs-type
    |   |-- [-rw-r--r--]  fsfs.conf
    |   |-- [-rw-r--r--]  min-unpacked-rev
    |   |-- [drwxr-sr-x]  revprops
    |   |   `-- [drwxr-sr-x]  0
    |   |       `-- [-r--r--r--]  0
    |   |-- [drwxr-sr-x]  revs
    |   |   `-- [drwxr-sr-x]  0
    |   |       `-- [-r--r--r--]  0
    |   |-- [drwxr-sr-x]  transactions
    |   |-- [-rw-r--r--]  txn-current
    |   |-- [-rw-r--r--]  txn-current-lock
    |   |-- [drwxr-sr-x]  txn-protorevs
    |   |-- [-rw-r--r--]  uuid
    |   `-- [-rw-r--r--]  write-lock
    |-- [-r--r--r--]  format
    |-- [drwxr-xr-x]  hooks
    |   |-- [-rw-r--r--]  post-commit.tmpl
    |   |-- [-rw-r--r--]  post-lock.tmpl
    |   |-- [-rw-r--r--]  post-revprop-change.tmpl
    |   |-- [-rw-r--r--]  post-unlock.tmpl
    |   |-- [-rw-r--r--]  pre-commit.tmpl
    |   |-- [-rw-r--r--]  pre-lock.tmpl
    |   |-- [-rw-r--r--]  pre-revprop-change.tmpl
    |   |-- [-rw-r--r--]  pre-unlock.tmpl
    |   `-- [-rw-r--r--]  start-commit.tmpl
    `-- [drwxr-xr-x]  locks
        |-- [-rw-r--r--]  db-logs.lock
        `-- [-rw-r--r--]  db.lock
    
    10 directories, 27 files

    路径 类型 作用
    conf 目录 存放版本库所用配置文件的目录
    dav 目录 供mod_dav_svn使用
    db 目录 版本数据存储目录
    db/fs-type 文件 版本库数据真实存储格式,SVN有fsfs和bdb两种存储格式
    db/revprops 目录 记录版本属性
    db/revs 目录 版本库数据存储真实目录
    db/uuid 文件 存储版本库唯一标识号,参考《svn版本库标识uuid简述》
    db/txn-current 文件 记录当前事务
    format 文件 存储一个整数的文件,此整数代表库层次结构版本
    hooks 目录 存放版本库勾子目录
    locks 目录 存储库锁目录,用来跟踪库的访问者
         
         
         
         
    其中revs下面是以目录组织的版本结构,每1000个版本组成一个目录,每个版本自成一个文件,文件名即为commit后生成的版本号;即使删除掉部分版本也不会影响版本库的读取和显示;但是基础版本丢失会使版本库无法访问;
  • 相关阅读:
    xcode快捷键大全(转)
    a 和an 的用法区别
    如何在lion系统下安装Xcode 3.2.x版本
    xcode3.2.6升级至4.0.2经验加教训总结(转)
    堆与栈的关系与区别(转)
    [点评]谷歌发布Android 2.3 点评八大亮点
    浅谈关于nil和 null区别及相关问题(转)
    ObjectiveC中的继承与复合技术(转)
    MyEclipse 8.0.0 in Fedora 12
    如何判断两个链表相交及找到第一个相交点
  • 原文地址:https://www.cnblogs.com/yanghj010/p/5073763.html
Copyright © 2011-2022 走看看