无法解决SVN树冲突:合并分支至主干遇阻求助
解决SVN合并test2分支到主干的树冲突问题
冲突根源
主干的new_file_from_test1.docx是通过合并test1分支(r3055)添加的,而test2分支的该文件是从主干复制过去的(r3099)。合并test2到主干时,SVN尝试将test2中“添加该文件”的操作应用到已存在该文件的主干,触发树冲突。
解决步骤
更新本地主干到最新版本
svn up trunk验证文件一致性
分别查看主干和test2中目标文件的版本信息,确认内容是否一致:svn info trunk/new_file_from_test1.docx svn info branches/test2/new_file_from_test1.docx标记冲突并保留主干版本
使用mine-full参数告诉SVN保留主干现有文件,忽略test2分支的添加操作:svn resolve --accept mine-full trunk/new_file_from_test1.docx预演合并确认冲突消除
svn merge --dry-run -r2975:HEAD branches/test2 trunk执行正式合并并提交
预演无冲突后,执行合并并提交结果:svn merge -r2975:HEAD branches/test2 trunk svn commit -m "Merge test2 branch to trunk, resolved tree conflict on new_file_from_test1.docx"
补充说明
之前使用svn resolve --accept working无效,是因为该参数仅接受本地工作副本内容,未明确告知SVN如何处理分支的添加操作,而mine-full直接指定保留主干版本,从根源上解决冲突逻辑。
内容的提问来源于stack exchange,提问作者cmarti10
相关产品推荐
相关产品推荐

