求大神解答一个SVN代码合并同步问题!

SVN代码分主干和分支,先有三个分支1,2,3,分支1开发完成后合并到主干trunk,同时同步到在运行的分支2和3,但分支2不需要同步分支1的新增内容,所以不能将主干再同步到分支2,后续分支2开发完成后还要在合并回主干,但主干已经同步了分支1的内容,分支2没有同步到分支1的内容,分支2合并回主干是否有问题?请给出方法,谢谢!

    如果按照你这个方式,分支由主线拉出,所有修改必须要先在主线修改,否则回合只能回合影响大的问题。

    如果不先在主线修改,应保证1、2分支分别是组成主线的一部分。

    如果分支1、2分别拥有独立内容,且独立内容不适用所有版本,则不应回合到主线。

如果不满足以上三个原则,则不适宜使用问题描述中的配置管理模型。


解决方案:

如果分支1、2代表的不是组成主干的一部分(如:主线有A、B、C三个文件,分支1永远只会修改C文件,分支2永远只会修改B文件。则可以认为分支1、2是组成主线的一部分),而是单独的两个版本。建议先在主线修改共同模块或代码,再拉出分支,分别修改独有代码(此时应保证独有代码在未来主线版本中不会使用,如使用应添加功能开关)。

追问

您好,还是不太明白你意思,分支1和2是从主干签出的,作为2个独立的版本在同时开发,版本1已经完成开发需要合并回主干,合并完后按理应该要再将主干同步到分支2,但是版本2不想接纳版本1更新的内容,我这边是否可以不从主干同步到分支2,等版本2开发完成后直接合并回主干呢?

追答

    版本1不应合并回主干,正确方式应该是在主干开发完后再拉出版本1的发布分支用于合入版本1特有的不应在主干中体现的内容或缺陷(此时,致命且影响主干的问题可以回合到主干)。

    版本2同理。

    否则应使用主干版本拉出分支后开发直至发布,不再回合回主干(因为版本1、2是独立版本,需考虑是否应将其中的独立内容在主干版本体现。如果可以体现则应按照之前的解决方案中的方式进行)。

我讲的已经很清楚了,这如果还说不明白我也没办法了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-08
出现这个问题是因为,本地检出的项目目录被锁住了,
解决方法:需要对项目目录进行清理的操作
使用svn操作:选中项目目录,右键--tortoisesvn---clean
up;希望能够帮到你。

SVN同步出错(svnsync: E160013) 求解决方案
1、首先在电脑桌面鼠标右键,TortoiseSVN-选择Settings。2、打开界面如下图,然后在左侧栏选择“Saved Date”选项。3、然后在右侧栏选择“authentication data”后的“Clear”。4、然后弹出下图页面,这就是之前保存的账户和密码。5、全部选择,点击OK,就完成了。注意事项:如果同步是指commit,通常翻译为...

SVN服务器项目如何与本地项目同步、关联?
1、打开eclipse开发工具,在需要进行关联的项目上点击右键,选择team。2、选择share Project,在team操作按钮右侧,选择分享项目。3、选择svn版本控制。高版本的eclipse都支持svn、cvs、git等代码同步插件,这里使用svn演示,选择svn插件。3、选择需要关联的项目,找到svn目录链接,选择需要和哪个项目进行关联,...

如何使用SVN协调代源代码,多人同步开发
SVN可以Merge这两个程序员的改动,对,合并,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行呢,SVN会提示文件Confict, 冲突,需要手动确认。Coollittlethings实际上就是提供一个SVN Repository的服务器我以我新创建的了一个共同制...

如何利用SVN合并代码
把两个分支的差异合并到本地的工作目录;其实它也可以把分支的代码同步到主干中,只需要把合并的from指定为主干URL,to指定为分支URL, 而本地工作目录是主干。利用SVN合并具体步骤 在上面的三中类型中,最常用最灵活的是第一中类型:“合并一个版本范围”,也是我用得最多的一种合并类型。下面以这个类...

svn 使用merge操作,将branch合并到trunk上时,出现了如下图所示的问题...
你既然用的是tortoisesvn,那么你不要用复兴分支这个选项,用“合并一个版本范围” 。我对复兴分支用了解不多,抱歉罗。我一般只用merge“合并一个版本范围"。这样的问题是,万一某个branch使用时间很长,需要多次同步到trunk,必须记录下分支上已经合并过去的版本,以免产生不必要的冲突。看起来,复兴分支...

svn同步,本地代码和服务器代码版本不一致怎么办?
把你修改的文件拷贝出来,然后把那个文件还原,或者删除掉,然后更新整个文件夹,更新完以后再把你改过的地方修改粘贴一遍,就可以提交了

SVN版本控制器的问题,两个人在不同的内网中,如何进行同步更新代码,提交...
1、将SVN服务器架设在公司,并架设一个VPN线路,在客户现场项目组使用VPN连接到公司的内网,使用VPN后就和在公司一样了,当然有个前提就是在客户现场要有上互联网的环境;2、将SVN服务器架设在公司,在公司的路由器上设置端口映射,将SVN服务器的访问端口开放给外网访问,然后客户现场的项目组就可以使用...

IDEA使用svn同步代码时候遇到问题
svn 不能同步代码问题修正 File -> Settings ->Subversion ->General => Use command line client 选中 使用command line方式需要指定svn.exe的路径,例如:D:\\tools\\TortoiseSVN\\bin\\svn.exe 注意,安装TortoiseSVN时路径中不要带空格,例如:C:\\Program Files\\TortoiseSVN\\bin\\svn.exe就会报错.安装...

SVN 如何把主干上的修改合并到分支上来
merge、commit 再高端一点可以把脚本放到post-commit钩子里,每次commit成功后由SVN服务器自动调用这个脚本,在脚本里判断只要是trunk上的commit,就对每个分支挨个进行update、merge、commit 但这个脚本自动执行可能会有问题,主要是主干和分支可能发生冲突,所以还是手动处理比较好 ...

SVN在IDEA中快速掌握工作基本要求(分支创建,合并,提交,冲突解决)_百...
创建新的分支、修改代码并提交:在本地环境中创建分支,进行代码修改,最终提交到 SVN。此操作类似于 Git 中的分支管理,允许在不同版本间进行高效迭代开发。创建冲突情况与合并冲突:通过主动合并操作解决冲突问题。在 trunk 分支中整合 sakura 分支的提交,采用保存合并冲突的策略。同时,推荐采用请求合并...

相似回答