小石头
Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.
posts - 91,comments - 22,trackbacks - 0
关于svn的并行开发、版本控制的问题??

各位兄弟姐妹,有几个问题,想请教你们。谢谢!

1、如果项目分多次实施,是否需要建立维护分支,以达到主线上增加/修改功能,在分支上只修改bug的效果呢?

2、如果有多个项目是基于产品做定制开发的,那么应该如何建立项目分支呢,是完全拷贝(svn copy)还是主线上独立出公共模块,分支里做个性开发?

3、svn的默认一级目录是trunk、branches、tags,trunk为开发库,存放开发过程中的成果,tags存放的是发布给用户的成果,那么branches里面你们一般是存放什么?对于这样划分目录,有什么见解呢?


偶刚从事SCM不久,所以对一些问题不太明白,大家见笑了;p

增加您网站的流量。加入 Google AdWords
 引用  报告回复顶部
wanchunjian
小学生
Rank: 1



UID 1293
精华 0
积分 49
帖子 5
威望 0
金钱 34
推广积分 15
阅读权限 10
注册 2007-1-23
状态 离线
发表于 2007-1-23 14:54  资料文集短消息 
Branches主要是分支的功能,对于软体小组开发,很多是需要同步进行的,但如果都在Trunk上进行更新,会产生频繁的合并开支.在branches中建立各个成员各自的开发库,可以不受其他成员影响,等一段时间在进行合并到主干上(Trunk)

 引用  报告回复顶部
pp_pig
小学生
Rank: 1


UID 1288
精华 0
积分 7
帖子 4
威望 2
金钱 5
推广积分 0
阅读权限 10
注册 2007-1-23
状态 离线
发表于 2007-1-24 09:43  资料文集短消息 
针对每个开发人员都在branches里建立分支?

这个问题我想可以通过PM的合理分工来处理的吧,而且频繁地合并操作会造成工作效率的降低啊。。。

可以通过每个开发人员各自负责自己模块的方式来管理,这样一般情况下,大家同在trunk上开发。
如果涉及到公共模块,那是可能会有冲突的,需要手工合并。

网上冲浪更快更爽,下载带有 Google 工具栏的 Firefox
 引用  报告回复顶部
PCplayer
教导主任
Rank: 8Rank: 8


UID 3
精华 7
积分 5870
帖子 1573
威望 291
金钱 5522
推广积分 57
阅读权限 150
注册 2006-6-3
状态 在线

用支付宝求购
回复 #3 pp_pig 的帖子

赞同!我们目前就是这么做的。




  • 提问前先用多种搜索方式、多种可能的关键字对论坛进行搜索;
  • 提问时详细描述自己要做什么,做了什么,遇到了什么
  • 电脑玩家 -- http://www.PCplayer.cn
 引用  报告回复顶部
偶卖糕的
班主任
Rank: 7Rank: 7Rank: 7



UID 1109
精华 0
积分 70
帖子 20
威望 20
金钱 50
推广积分 0
阅读权限 100
注册 2007-1-16
状态 离线
发表于 2007-1-24 10:50  资料文集短消息 
1、如果项目分多次实施,是否需要建立维护分支,以达到主线上增加/修改功能,在分支上只修改bug的效果呢?

如果在项目开发阶段做分支,专门为修改开发过程中的bug, merge的工作量会很大。效率不会高。

2、如果有多个项目是基于产品做定制开发的,那么应该如何建立项目分支呢,是完全拷贝(svn copy)还是主线上独立出公共模块,分支里做个性开发?

项目可以单独按项目做,copy产品的某个版本,在这基础上做项目。所谓分支,是为了将来可以merge回来。

3、svn的默认一级目录是trunk、branches、tags,trunk为开发库,存放开发过程中的成果,tags存放的是发布给用户的成果,那么branches里面你们一般是存放什么?对于这样划分目录,有什么见解呢?
branches是做并行开发的。分支上的最终都是要merge到主干上的。
 引用  报告回复顶部
pp_pig
小学生
Rank: 1


UID 1288
精华 0
积分 7
帖子 4
威望 2
金钱 5
推广积分 0
阅读权限 10
注册 2007-1-23
状态 离线
发表于 2007-1-24 13:39  资料文集短消息 
1、针对第一个问题,我们一般是在实施阶段建立维护分支,主线上提供增加/修改功能。在开发阶段,我们统一在trunk里进行开发,并没有针对不同的开发人员在branches里建立开发分支,隔段时间后合并。

2、针对第二个问题,项目可以单独按项目做,copy产品的某个版本,在这基础上做项目,这种方式也可以,但是对于产品和项目之间的关联不够紧凑啊。如果项目脱离产品的最新版本太长时间,很多地方需要更新的。

我想是采用产品主线、项目分支的方式比较合理,但是具体实施起来,大家有什么见解吗?
 引用  报告回复顶部
confuse
班主任
Rank: 7Rank: 7Rank: 7



UID 438
精华 0
积分 78
帖子 38
威望 25
金钱 53
推广积分 0
阅读权限 100
注册 2006-10-25
状态 离线
发表于 2007-1-25 10:07  资料文集短消息 
我们公司一般是按照task划分分支的,一个task一个分支,如果一个任务分配给了多个人,那末这多个人在从这个任务分支上建立自己的分支。
 引用  报告回复顶部
licis
小学生
Rank: 1



UID 706
精华 0
积分 30
帖子 17
威望 6
金钱 24
推广积分 0
阅读权限 10
注册 2006-12-10
状态 离线
发表于 2007-1-29 15:30  资料文集短消息 
回复 #7 confuse 的帖子

你说的任务分支,好像和这里说得版本分支,从概念上讲不太一样吧?也有可能我误解了

[ 本帖最后由 licis 于 2007-1-29 15:40 编辑 ]
 引用  报告回复顶部
licis
小学生
Rank: 1



UID 706
精华 0
积分 30
帖子 17
威望 6
金钱 24
推广积分 0
阅读权限 10
注册 2006-12-10
状态 离线
发表于 2007-1-29 16:12  资料文集短消息 
回复 #1 pp_pig 的帖子

问题1、如果项目分多次实施,是否需要建立维护分支,以达到主线上增加/修改功能,在分支上只修改bug的效果呢?
如果是分多次实施的,那么有可能存在个性开发的需求,那么只是再主线上增加/修改功能,在分支上只修改bug,可能不能完全符合开发过程需求,个人认为可以考虑patch


2、如果有多个项目是基于产品做定制开发的,那么应该如何建立项目分支呢,是完全拷贝(svn copy)还是主线上独立出公共模块,分支里做个性开发?
如果是按项目实施的,最好是完全的拷贝做分支,并以此做个性开发。除非有些个性开发的内容有通用的意义。

3、svn的默认一级目录是trunk、branches、tags,trunk为开发库,存放开发过程中的成果,tags存放的是发布给用户的成果,那么branches里面你们一般是存放什么?对于这样划分目录,有什么见解呢?
目录结构的划分,是仁者见仁,智者见智的问题。满足开发-测试-发布-实施的需求即可。
posted on 2007-03-04 17:06 小石头 阅读(559) 评论(0)  编辑  收藏 所属分类: Subversion

只有注册用户登录后才能发表评论。


网站导航: