• 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后生成的版本号;即使删除掉部分版本也不会影响版本库的读取和显示;但是基础版本丢失会使版本库无法访问;
  • 相关阅读:
    BZOJ2330 SCOI2011糖果
    BZOJ 3812主旋律
    模板更新 扩展卢卡斯
    BZOJ4556 HEOI2016字符串
    CodeForces700E Cool Slogans
    Atcoder Contest069F:Flag
    计算几何模板(更新中......)
    BZOJ4003 JLOI2015城池攻占
    BZOJ3772精神污染
    HDU5919 SequenceⅡ
  • 原文地址:https://www.cnblogs.com/yanghj010/p/5073763.html
Copyright © 2020-2023  润新知