- 浏览: 454214 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (267)
- java (8)
- 求职&面试 (1)
- linux (33)
- windows (1)
- C++ (5)
- android (12)
- QT (1)
- 经验 (1)
- memory-leaks (1)
- Streaming&V/A (1)
- network&security (5)
- SCM (13)
- mysql (10)
- browsers (4)
- Windows APIs (2)
- opensource (1)
- pm (1)
- GDI (1)
- database (14)
- MFC (1)
- web&fronts (17)
- Tomcat (4)
- OLE (1)
- 观后感 (1)
- Production (2)
- UML (3)
- Javascript (7)
- Cloud Computing&SAAS (5)
- SoftwareEngineering (1)
- Computer&Maintenance (1)
- Web (8)
- Desgin (1)
- J2ee (10)
- mysql cluster (0)
- LB&HA (2)
- webserver (11)
- php (5)
- cas&authtication (0)
- Languages (1)
- IDEs (3)
- architecture (2)
- iOS (8)
- spring (3)
- webservices (1)
- security (1)
- MVCFrameworks (2)
- bservices (0)
- build-tools (2)
- unittest (1)
- spring-security (0)
- sphinx (2)
- hibernate (1)
- mybatis (2)
- search (0)
- nginx (2)
- design&production (2)
- DFS (0)
- algorithm (0)
- distributed&network (0)
- blogs (0)
- os&admin (0)
- fastcgi (0)
- kv-db (0)
- operation&maintenance (1)
- productions (9)
- 养生 (1)
- appserver (1)
- HTTP (2)
- test (1)
- erlang (2)
- browser (0)
- 非技术 (2)
- mobiles (2)
- cloud computing (2)
- Business (2)
- maven (1)
- python (5)
- 人生 (0)
- Cryptography (3)
- CV (0)
- cms (2)
- jqm (2)
- html (2)
- flex (1)
- redmine (1)
- iptables (1)
- groovy (1)
- scala (1)
- grails (1)
- ftp (3)
- vsftpd (2)
- lua (0)
- chroot (3)
- jailkit (3)
- UED (0)
- myeclipse (2)
- ide (2)
- eclipse (2)
最新评论
-
Nick712:
http://blog.csdn.net/victory08/ ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
xs6262460:
Spring AOP根据JdbcTemplate方法名动态设置数据源 -
xhpscdx:
我的解决办法是把D:\ACRS\Projects\TAIS 下 ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
hnraysir:
总结得相当不错,支持下。
使用CodeIgniter 创建 RESTful 服务 REST API【原创译文】 -
云上太阳:
这个必须评论下,间接的救过俺的命啊
解决tomcat启动报错,加强错误日志的显示:
本节向大家简单介绍一下一些常用的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目录结构介绍。
发表评论
-
解决 redmine 访问过慢的问题
2013-03-01 11:48 1178解决 redmine 访问过慢的问题 ... -
不错的博客
2012-11-08 01:47 0http://www.deanlinux.com/catego ... -
Linux下安装redmine工作在mongrel模式
2012-11-08 01:47 0Linux下安装redmine工作在mongrel模式 ... -
redmine中文文档
2012-11-08 01:45 0http://www.ossxp.com/doc/redmin ... -
Winxp下安装Git,并从GitHub下载第一个工程
2012-08-31 14:09 1821Winxp下安装Git,并从GitHub下载第一个工 ... -
搭建Mantis 缺陷管理系统
2012-08-09 09:31 1511搭建Mantis 缺陷管理 ... -
处理SVN出现:Cleanup failed to process the following paths: xxx
2012-07-26 09:22 33188遇到上述问题,可以这样尝试一下: ... -
SVN的标准目录结构:trunk、branches、tags
2012-07-16 18:04 1086SVN的标准目录结构:trunk、branches、ta ... -
SVN trunk, branches and tags
2012-07-16 17:49 1032翻译者:zwws原 文:SVN trunk, b ... -
SVN之使用原则
2012-07-16 17:45 894以下是我起草的部门SVN规范里原则的一部分。 ... -
SVN 有三个标记:
2012-07-16 17:40 912trunk 这个是主线, ... -
软件版本命名规则
2012-07-16 17:34 1196软件版本命名规则 ... -
SVN trunk, branches and tags
2012-07-13 11:14 877SVN trunk, branches and tags ... -
使用SVN命令行工具
2012-07-13 11:11 1213从http://subversion. ... -
每次新版本build时,让软件的版本号自增
2012-07-13 11:08 1653VC2005利用SVN的版本号,生成D ...
相关推荐
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队成员协同工作,记录每次更改,以便于回溯、合并和恢复错误。本手册将详细讲解SVN的搭建和使用过程,特别是针对中文用户...
文中将详细介绍 TortoiseSVN 的基本使用方法,并以 WordPress 中文团队使用的 Google Code SVN 服务器为例进行说明。 #### 二、SubVersion (SVN) 简介 Subversion(简称 SVN)是一种开源的版本控制系统,可以用来...
Idea 使用简明,内设详细 Idea 是一个功能强大的集成开发环境(IDE),为开发者提供了丰富的功能和工具,以提高开发效率和质量。本文将对 Idea 的一些常用功能和使用方法进行简要介绍。 一、Idea 的优点 Idea 的...
1. 安装Apache Subversion服务器:这通常涉及下载并安装Subversion服务器软件,配置服务器目录结构,以及设置访问控制策略。 2. 配置SVN仓库:创建新的版本库,定义存储项目数据的物理位置。 3. 配置TortoiseSVN...
- **Automake文件内容**:介绍Automake文件的内容和结构。 - **10.2 Automake管理器操作** - **Automake管理器窗口**:解释Automake管理器窗口的布局。 - **整体视图窗口**:说明整体视图窗口的作用。 - **详细...
- 设置项目属性:输入项目名,选择JRE版本,设置源代码目录结构。 - 创建类(Class):在项目中右键选择“新建”->“类”,填写类名和包名。 4. **编写Java代码** - 自动完成(Code Completion):在编写代码时...
版本控制系统对于软件项目的管理至关重要,SVN是一种常用的选择。以下是SVN的一些最佳实践: ##### 1. 代码提交 - **功能点说明**:每次提交时都应附带简明扼要的功能描述或关联的bug编号。 - **避免混合提交**:...
易语言是一种专为中国人设计的编程语言,它以简明直观的中文编程语法著称,降低了编程的门槛,使得更多的人能够接触并学习编程。在易语言中,集成开发环境(IDE)是进行程序设计的核心工具,它集成了编写、编译、...
3. **工作经验**: 详细介绍过去的工作经历,包括公司名称、任职时间、职位以及具体职责。 4. **教育背景**: 提供最高学历的相关信息,如学校名称、毕业时间、专业等。 5. **技能专长**: 罗列与应聘职位相关的技能和...