【合并问题 1】为什么合并后分支上的文件会丢失?

iamxia 2009-03-05 03:13:47
主干的版本是 r100-r200;分支是在r99创建的,分支上文件 x 是新增加的,且在主干上没有这个文件
第一次将主干上代码合并到分支上,取主干版本范围为 r120-r180
第二次将主干上代码合并到分支上,取主干版本范围为 r100-r180(由于第一次合并少了,顾第二次相当于重新合并)
在两次合并之间文件 x 做了修改

现状是:第二次合并后发现分支上的 x 文件 不存在了,检查分支的历史记录发现 文件 x 在第一次合并之后还是有的,但是在第二次合并之后就不存在了,而且在第二次合并的log上找不到关于文件 x 的任何信息
...全文
823 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
AHZYZQ 2009-05-06
  • 打赏
  • 举报
回复
不管从主干合并到分支还是从分支合并到主干,"from"的版本号都应该选择创建分支的版本号!!!
青润 2009-03-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 iamxia 的回复:]
to qingrun:

主干不能合并到分支?
这点是不是你我理解上的不同?想想看,比如,一个主干两个分支,第一个分支是开发周期很短;而第二个分支的开发周期很长。照你的意思是第二个分支永远都得不到第一个分支上的代码了?(除去分支之间的合并,因为主干是发布用的,而且集成测试、验收测试都是在主干上做的。这种情况下不可能进行分支之间的合并,因为这个要牵涉到集成测试、验收测试等)
[/Quote]
管理原则中,简单距离:a合并到b,那么,b是主干,也就是不能轻易修改,只能通过合并方式补充的。
每次b上面需要修改,就从b上面分离出一个x,然后修改x,最后再把x合并到b上,这才是正常的配置管理原则。
你的这种合并方式是完全错误的,问题就在上面,是你自己没有看到。
sunnyplain 2009-03-10
  • 打赏
  • 举报
回复
说一下我的想法
我用svn有半年多了,合并用了很多,但没出过问题。我有个原则,就是合并之前,合并的目的地的问题件都是提交了的或者备份了的,因为合并其实相当于是一种修改,如果你当地也有修改,那么两个冲突的话可能就无法恢复当地的修改了。
另外有没有这种可能,在主干的r100之前有过一个x文件,但在r100到r120之间曾经有过一个操作把x文件删掉了,那么你合并从r120到r180没问题(这个版本段没有关于x的信息),但从r100合并到r180的时候,它会把那个删除操作也合并下来,所以就把x文件删掉了。
另外你说日志没有,是所有的日志都没有了(那肯定是svn的问题了)还是你说的那次合并的日志没有。如果是后者,那是正常啊,合并只是一个普通的修改操作,你要提交(同时写日志)才会有日志的。
sunnyplain 2009-03-09
  • 打赏
  • 举报
回复
楼上说的不错,应该是很有经验的
iamxia 2009-03-09
  • 打赏
  • 举报
回复
另外,我用的是SVN
iamxia 2009-03-09
  • 打赏
  • 举报
回复
to qingrun:

主干不能合并到分支?
这点是不是你我理解上的不同?想想看,比如,一个主干两个分支,第一个分支是开发周期很短;而第二个分支的开发周期很长。照你的意思是第二个分支永远都得不到第一个分支上的代码了?(除去分支之间的合并,因为主干是发布用的,而且集成测试、验收测试都是在主干上做的。这种情况下不可能进行分支之间的合并,因为这个要牵涉到集成测试、验收测试等)
iamxia 2009-03-09
  • 打赏
  • 举报
回复
to sunnyplain:
分支上的x文件是在r180之后新增的吗?—— r180之前新增
另外是svn的问题吗?—— 我想是的,因为现在连日志都没有,而且文件不存在了
青润 2009-03-08
  • 打赏
  • 举报
回复
刚刚又看了一下你的合并顺序,发现一个问题:
你把主干合并到分支上,这似乎有些问题。
去查看一下cvs这方面合并的帮助吧。
一般来说的操作规程应该是分支合并到主干上,而不是主干合并到分支上。
分支合并到主干,说明你的主干才是主干。相反,只能说明主干是分支,分支才是主干。
管理策略上,主干不轻易增加文件,它的增加方式应该都是采用分支合并过来的形式增加,才对。否则,应该是存在问题的。
其实,每一个新文件的开发,然后提交到配置库中的过程都可以看作是分支合并到主干的过程!——这一点应该是一个原则问题,也是制度上应该特别考虑的。
问题可能就出现在这里。
青润 2009-03-08
  • 打赏
  • 举报
回复
个人建议:
涉及到文件分支合并,或者同一文件的多版本开发后的合并,应该考虑通过一些管理手段尽量减少。否则,我目前只建议使用CC来进行完成,其它软件都可能存在一些问题。
而且,通过适当的管理手段是可以最大限度的避免这类问题发生的。
sunnyplain 2009-03-07
  • 打赏
  • 举报
回复
分支上的x文件是在r180之后新增的吗?
另外是svn的问题吗?
cmm2cmmi 2009-03-06
  • 打赏
  • 举报
回复
兄弟有机会接触如此复杂的配置管理

学习~~

1,279

社区成员

发帖
与我相关
我的任务
社区描述
软件工程 CVS/SVN
社区管理员
  • 版本控制社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧