svn版本库目录结构

说实话一直没好好研究名称和目录,直到找到了这个。

原文链接:https://www.cnblogs.com/yanghj010/p/5073763.html

 

该文是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后生成的版本号;即使删除掉部分版本也不会影响版本库的读取和显示;但是基础版本丢失会使版本库无法访问;

介绍SVN各个目录使用规范 Svn目录使用规范 TortoiseSVN客户端工具 选择创建SVN目录结构的选项(生成trunk、branches、tags目录),如下图: 1、 trunk是主分支,是日常开发进行的地方。 2、branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。 3、tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。 注:在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。tags的作用是将在branches上修改的bug的代码合并到trunk上时创建个版本标识 Trunk目录:Doc(文档,放项目相关文档类)、sourcecede(代码) Doc目录下按项目存放文档,以下以proj1为例做说明 Proj1----项目名 1、Controlled------组织级scm建一个名为controlled的目录,当项目某文档通过评审后,组织级scm从项目目录下找到那文档,复制到controlled目录下。(一般用不到) 2、Develop---开发文档 2.1、Design----设计文档 2.1.1、DbDesign---数据设计文档 2.1.2、HLD---概要设计 2.1.3、InterfaceDesign---接口设计 2.1.4、ServiceDesign---服务设计 2.2、REQ---需求文档 2.3、SRS---软件需求规格说明 2.4、Test---测试文档 2.4.1、Review---可空 2.4.2、TestCese---测试用例 2.4.3、TestDoc---测试文档 2.4.4、TestEnv---测试环境说明 2.4.5、TestReport---测试报告 3、Document---项目文档 4、Management---管理文档 4.1、Meetings--会议纪要 4.2、PIM--- 4.3、Plan---计划 4.3.1、review 4.3.2、SDP---软件开发策划文档 4.3.3、SPP---软件项目策划文档 4.4、report---报告 4.4.1、Milestonereport---版本报告 4.4.2、ProjectTrackReport---项目跟踪报告 4..4.3、SCM---软件配置管理文档  4.4.4、SQA---软件质量保证计划 4.4.5、项目周报 4.5、Sow---工作说明书 4.6、Summarize---总结 4.7、Template---模板 4.8、Trainning---培训文档 打标签/分支有两种方式: 1、选中项目,就是trunk下的本地项目,右击,选中Branch/Tag,出现如下对话框。 下图中的配置完成了之后,点击OK即可完成“打标签/分支”。 2、直接在SVN上在对应的标签/分支目录下创建对应的版本文件夹,将trunk下稳定版本的代码直接copy到对应的文件目录下即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值