svn常用目录结构简明介绍

来源:互联网 发布:韦正互译软件哪里下载 编辑:程序博客网 时间:2024/04/27 20:37

本节向大家简单介绍一下一些常用的SVN目录结构,在学习SVN的过程中,你可能会遇到SVN目录结构问题,在这里和大家共同学习一下,希望本文对你的学习有所帮助。
特殊目录名说明
trunk主干,存储最新稳定版本
tag标记,主要保存比较完整理的版本标记,类似里程碑
tranch分支,用于分工操作.该目录下又以各用户名及日期为目录进行存储(推荐)
关于目录(结构举例,相对规范)
/doc文档的根目录
/doc/trunk文档的版本主干,存储最新稳定版本
/doc/trunk/...(内容)
/doc/tag文档的版本标志(类似里程碑)例如:doc_1_0/doc_1_1分别表是1.0本版与1.1版本
/doc/tag/doc_v_1_0/...(内容)
/doc/tag/doc_v_1_1/...(内容)
/doc/branch文档的分支目录(用户分工)
/doc/branch/user1_070308文档的分支目录用户(user1)于2007-03-08号加入分工
/doc/branch/user1_070308/...(内容)
/doc/branch/user2_070101文档的分支目录用户(user2)于2007-01-01号加入分工
/doc/branch/user2_070101/...(内容)
/src源码的根目录
/src/trunk源码的版本主干,存储最新稳定版本
/src/trunk/...(内容)
/src/tag源码的版本标志(类似里程碑)例如:doc_1_0/prj_src_1_1分别表是1.0本版与1.1版本
/src/tag/prj_src_v_1_0/...(内容)
/src/tag/prj_src_v_1_1/...(内容)
/src/branch源码的分支目录(用户分工)
/src/branch/user1_070308源码的分支目录用户(user1)于2007-03-08号加入分工
/src/branch/user1_070308/...(内容)
/src/branch/user2_070101源码的分支目录用户(user2)于2007-01-01号加入分工
/src/branch/user2_070101/...(内容)
Subversion有一个很标准的SVN目录结构,是这样的。
比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是
svn://proj/|
+-trunk
+-branches
+-tags
这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
对于这几个开发目录,一般的使用方法有两种。我更多的是从软件产品的角度出发(比如freebsd),因为互联网的开发模式是完全不一样的。
第一种方法,使用trunk作为主要的开发目录。

一般的,我们的所有的开发都是基于trunk进行开发,当一个版本/release开发告一段落(开发、测试、文档、制作安装程序、打包等)结束后,代码处于冻结状态(人为规定,可以通过hook来进行管理)。此时应该基于当前冻结的代码库,打tag。当下一个版本/阶段的开发任务开始,继续在trunk进行开发。
此时,如果发现了上一个已发行版本(ReleasedVersion)有一些bug,或者一些很急迫的功能要求,而正在开发的版本(DevelopingVersion)无法满足时间要求,这时候就需要在上一个版本上进行修改了。应该基于发行版对应的tag,做相应的分支(branch)进行开发。
例如,刚刚发布1.0,正在开发2.0,此时要在1.0的基础上进行bug修正。
按照时间的顺序
1.0开发完毕,代码冻结
基于已经冻结的trunk,为release1.0打tag
此时的SVN目录结构为
svn://proj/
+trunk/(freeze)
+branches/
+tags/
+tag_release_1.0 (copyfromtrunk)
2.0开始开发,trunk此时为2.0的开发版
发现1.0有bug,需要修改,基于1.0的tag做branch
此时的SVN目录结构为
svn://proj/
+trunk/(dev2.0)
+branches/
+dev_1.0_bugfix(copyfromtag/release_1.0)
+tags/
+release_1.0 (copyfromtrunk)
在1.0bugfixbranch进行1.0bugfix开发,在trunk进行2.0开发
在1.0bugfix完成之后,基于dev_1.0_bugfix的branch做release等
根据需要选择性的把dev_1.0_bugfix这个分支merge回trunk(什么时候进行这步操作,要根据具体情况)
这是一种很标准的开发模式,很多的公司都是采用这种模式进行开发的。trunk永远是开发的主要目录。请期待下节关于SVN目录结构介绍。

src: http://developer.51cto.com/art/201005/202335.htm

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 痤疮留下的红印怎么办 脸上疤掉了黑印怎么办 脸上有黑色的疤怎么办 一只眼睛外斜视怎么办 残币银行不给换怎么办 手上有多套房的怎么办 长了两层脚指甲怎么办 指甲长了两层怎么办 脚趾甲长了两层怎么办 产妇气血虚没奶怎么办 哺乳期气血不足奶水少怎么办 刚怀孕喝了啤酒怎么办 受风怎么办最快最有效 孕妇后背受风了怎么办 肩膀和后背受风怎么办 手指关节杵肿了怎么办 骨关节退行性变怎么办 疼风脚趾肿了怎么办 痛风脚右侧肿了怎么办 痛风引起的脚肿怎么办 老人腰闪了该怎么办 腰闪了站不起来怎么办 又怕冷又爱上火怎么办 肝上多发小囊肿怎么办 5岁宝宝咳嗽厉害怎么办 5岁宝宝咳嗽有痰怎么办 生川乌外贴中毒怎么办 7个月宝宝流鼻涕怎么办 脸上皮肤毛孔粗大有黑头怎么办 嗓子长了个囊肿怎么办 食管胃粘膜异位怎么办 狗狗肿瘤破了怎么办 婴儿胃食道反流怎么办 小儿胃食道反流怎么办 放疗后咳嗽痰多怎么办 胃息肉是恶性的怎么办 老是胃疼,胃胀怎么办 吃完饭之后胃胀怎么办 胃痛胃胀怎么办能缓解 胃胀不消化怎么办快速解决 便秘肛裂了好痛怎么办