没有合适的资源?快使用搜索试试~ 我知道了~
svn实现软件版本控制,目录结构学习Apache的开源项目,适合需要迭代的项目
资源推荐
资源详情
资源评论
目录
HBase SVN 目录例子: ............................................................................................................... 2
1.创建项目和目录结构 ............................................................................................................ 3
a.在 eclipse 下 new project................................................................................................... 3
b.上传到 svn trunk 下 ........................................................................................................... 3
c.创建 tags,branches 目录 ................................................................................................... 4
2.在 trunk 下开发测试 ............................................................................................................. 4
3.版本的发布 ............................................................................................................................ 5
3.1 从 trunk 下迁出项目 ...................................................................................................... 5
3.2 利用 maven-release-plugin 升级版本 ............................................................................ 5
4.发行版 BUG 修复 ................................................................................................................... 6
5.测试版本的控制 .................................................................................................................... 7
附录 1:pom.xml ......................................................................................................................... 8
HBase SVN 目录例子:
来看 HBase SVN 目录例子:http://svn.apache.org/repos/asf/hbase/
|trunk
|pom.xml
|src
|branches
|hbase-7290v2
|pom.xml
|src
|hbase-10070
|pom.xml
|src
|tags
|hbase-0.95.0
|pom.xml
|src
|hbase-0.94.6.1
|pom.xml
|src
-----------------------------------------------------------------
svn://proj/
trunk
branches
tags
这是一个标准的布局,trunk 为主开发目录,branches 为分支开发目录,tags 为 tag 存档目
录(不允许修改)
一般的,我们的所有的开发都是基于 trunk 进行开发,当一个版本/release 开发告一段落(开
发、测试、 文档、制作安装程序、打包等)结束后,此时应该基于当前 trunk,打 tag。当下
一个版 本/阶段的开发任务开始,继续在 trunk 进行开发。
此时,如果发现了上一个已发行版本(Released Version)有一些 bug,或者一些很急迫的功
能要求,而正在开发的版本(Developing Version)无法满足时间要求,这时候就需要在上一
个版本上进行修改了。应该基于发行版对应的 tag,做相应的分支(branch)进行开发
项目分为两种:
a.工具型项目, 例如 tool 包,ner 包;此类项目除了需要打 tag ,还需要发布 jar 到 maven 仓库;
b.工程型项目, 例如 web 类项目,爬虫类项目,不需要发布到 maven 仓库,只需要打 tag,然后
部署即可;
本文以 myapp 项目作为 demo,演示 tags,trunk,branches 三种目录的作用和整体开发过程的演
进
一.开发测试:
无论哪种项目类型,开发测试期间都在 trunk 下进行,且必须是快照版本;
例如,新建 myapp 项目时 , trunk 下初试版本最好为 0.1.0-SNAPSHOT(最后一位数字,用来修复
bug 时用)
(开发测试期间,工具项目在 trunk 下 deploy 发布到仓库,让其他程序调用来进行测试
;工程类项目直接从 trunk 迁出部署,无需 deploy 到仓库)
二.版本发布:
1.打 tag
当 0.1.0-SNAPSHOT 测试通过后,把 trunk 下版本修改为正式版 0.1.0 ,并确保 pom 文件里
面没有依赖任何 SNAPSHO 版本的 jar, 然后把项目 copy 到 tags/myapp-0.1.0,之后把 trunk 下
的版本修改为 0.2.0-SNAPSHOT,便完成了打 tag 的过程
(tag 下的版本是一个可用而且稳定的版本,其本身不应该依赖于任何 SNAPSHOT 版本的
jar,防止被动更新)
2.正式版发布
工具项目版本发布:从 tags/ myapp-0.1.0 下迁出,然后 deploy
工程项目版本发布: tags/ myapp-0.1.0 下迁出,然后 package 部署即可
三.创建 branch
当发现已经发布的 myapp-0.1.0 有 bug 时,需要建立 branch,例如 branches/myapp-0.1.x
作为开发目录,用于发布 myapp-0.1.0 的 bugfix 版本,例如 tags/myapp-0.1.1, tags/myapp-0.1.2
等等
以下为详细过程:
1.创建项目和目录结构
例如,要在 svn://portal.iminer.com/dataCrawl/crawlers/ 下创建新项目 myapp
a.在 eclipse 下 new project
初试版本号为 0.1.0-SNAPSHOT
pom.xml 的 demo 在 wiki:
http://192.168.0.108/wiki/index.php?doc-view-412(或见附录 1)
配置了 maven-release,scm((Software Configuration Management)管理插件,下面的版本管理需
要用到
b.上传到 svn trunk 下
svn://portal.iminer.com/dataCrawl/crawlers/myapp/trunk
剩余10页未读,继续阅读
资源评论
记录点滴人生
- 粉丝: 25
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 二叉树7-1-1.cpp
- android 9.0 原生模拟器 签名文件
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
- MyBatis动态SQL.pdf
- 基于stm32单片机protues仿真的温湿度控制系统设计(仿真图、源代码)
- 词向量:自然语言处理的基石
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功