- 浏览: 448301 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1160解决 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 1780Winxp下安装Git,并从GitHub下载第一个工 ... -
搭建Mantis 缺陷管理系统
2012-08-09 09:31 1492搭建Mantis 缺陷管理 ... -
处理SVN出现:Cleanup failed to process the following paths: xxx
2012-07-26 09:22 33111遇到上述问题,可以这样尝试一下: ... -
SVN的标准目录结构:trunk、branches、tags
2012-07-16 18:04 1067SVN的标准目录结构:trunk、branches、ta ... -
SVN trunk, branches and tags
2012-07-16 17:49 1006翻译者:zwws原 文:SVN trunk, b ... -
SVN之使用原则
2012-07-16 17:45 882以下是我起草的部门SVN规范里原则的一部分。 ... -
SVN 有三个标记:
2012-07-16 17:40 881trunk 这个是主线, ... -
软件版本命名规则
2012-07-16 17:34 1178软件版本命名规则 ... -
SVN trunk, branches and tags
2012-07-13 11:14 863SVN trunk, branches and tags ... -
使用SVN命令行工具
2012-07-13 11:11 1194从http://subversion. ... -
每次新版本build时,让软件的版本号自增
2012-07-13 11:08 1626VC2005利用SVN的版本号,生成D ...
相关推荐
SVN(Subversion)是一种广泛使用的集中式版本控制系统,本文将深入探讨“常用项目SVN目录结构”这一主题。 首先,理解SVN目录结构的重要性在于它规范了团队的工作流程,确保代码的一致性和可维护性。一个良好的SVN...
### SVN目录结构说明 #### 一、概述 在软件开发过程中,版本控制系统是不可或缺的工具之一,它能够帮助团队管理代码的变化历史,并有效地协同工作。Subversion(SVN)作为一款开源版本控制系统,在众多项目中得到...
一个规范化的项目SVN目录结构对于团队协作至关重要,因为它有助于保持代码的整洁、有序,并促进有效的版本控制。以下是关于“常见项目svn目录结构”的详细说明: 1. **根目录(trunk)**: - `trunk`是主开发分支...
SVN 标准目录结构:trunk、branches、tags SVN(Subversion)是一种版本控制系统,广泛应用于软件开发和项目管理中。在 SVN 中,标准目录结构是指 trunk、branches、tags三个目录,这三个目录反映了软件开发的通常...
本文将深入探讨svn的权限设置以及本地库目录结构的设计。 首先,svn的权限设置主要通过两种方式实现:一是svnserve配置,二是通过HTTP/HTTPS协议(Apache或IIS)进行WebDAV访问。这里我们主要关注svnserve的权限...
以下是对SVN目录结构和使用方法的深入探讨。 1. **SVN基本概念** - **版本库(Repository)**:SVN的核心存储区域,保存所有文件和目录的历史版本。 - **工作副本(Working Copy)**:用户在本地电脑上的项目副本...
**一、SVN目录结构** 在使用SVN(Subversion)进行版本控制时,遵循一种标准的目录结构有助于保持代码库的整洁和有序。这种结构通常包括三个主要部分:`trunk`、`branches`和`tags`。 1. **trunk**:这是主分支,...
SVN项目文件夹结构指南,把里面的createdoc.txt改名为createdoc.bat后在windows下运行,所有目录结构自动生成在当前目录下,各企业的项目根据实际情况来修改,本目录适合中小型企业。
本资源“svn-doc文件夹结构.rar”似乎包含了一份关于个人如何组织SVN目录结构的文档或示例。虽然描述提到“各人喜好”,但良好的SVN目录结构对于项目管理和团队协作有着显著的影响。 在Java开发环境中,使用SVN进行...
描述中提到的“简单的删除.svn文件的小程序”是一种自动化工具,可能是用某种编程语言(如Python、批处理脚本等)编写,它的主要功能是遍历项目文件夹,查找并移除所有.svn子目录,从而简化项目文件结构,方便进行...
标题 "svn目录清理脚本" 涉及到的知识点主要集中在版本控制系统Subversion(简称SVN)的管理和清理操作上。SVN是一种广泛使用的版本控制系统,它允许开发者跟踪和控制源代码的变化,便于团队协作。在开发过程中,每...
- **使用脚本**:提供名为“清楚当前目录下的.svn信息.bat”的批处理文件,可以批量删除当前目录及其子目录下的`.svn`文件夹。在Windows环境下,可以通过以下命令实现: ``` for /r %i in (.svn) do @rd /s /q "%...
- "SVN简明教程"可能包含基础操作的快速指南,适合初学者快速入门。 - "SVN中文教程"可能涉及更深入的用法,包括高级特性及实践案例。 - 学习笔记通常包含个人理解和实践总结,可能涵盖一些实用技巧和常见问题...
在学习SVN的过程中,你有可能会遇到Eclipse安装SVN插件问题,在这里我们简单介绍一下Eclipse安装SVN插件的方式,希望对你有用。
在一个新的目录下创建一个SVN仓库,这将生成一个包含所有必需文件的目录结构。 2. **导入项目(svn import)**: 将本地文件或目录导入到SVN仓库中,此操作不设置工作副本。 3. **检出(svn checkout)**: ...
标题 "删除svn目录内.svn目录及内容的方法汇总" 涉及的是版本控制系统Subversion(简称SVN)的管理技巧。在使用SVN时,`.svn` 目录是Subversion存储元数据的地方,包括版本信息、工作副本状态等。然而,在某些情况下...
svn目录权限设置详解 随着软件开发的日益复杂,版本控制系统的重要性变得更加明显。Subversion(SVN)是一种流行的版本控制系统,能够帮助开发者 efektively 管理项目的版本变更。但是,SVN的权限设置一直是开发者...
在Windows环境下,对SVN(Subversion)目录进行一键清空操作主要涉及到版本控制系统的基本管理。SVN是一种广泛使用的集中式版本控制系统,用于管理和跟踪项目文件的修改历史。当你需要清空SVN工作副本(即本地目录)...
根据SVN更新日志,结合eclispse/或其他IDE工具导出war包解压出来就是部署的目录结构了;再把开发的工具和解压的全量更新文件以及导出的SVN更新日志放在同级目录,利用插件把SVN更新日志的增量更新文件提取生成同部署...
authz.conf 文件在默认情况下对权限的控制是不支持中文的,如果采用中文目录结构则需要修改代码库的 authz.conf 文件。