SVN合并不同分支文件夹时出现意外变更列表问题求助
解决SVN合并Dry-Run时的换行提示问题,以及正确合并分支Jar变更的步骤
嘿,我看你在合并SVN分支的时候碰到了小问题——执行带--dry-run的merge命令时出现了More?的提示,这其实是Windows命令行在告诉你:“你命令没写完啊!” 先给你理清楚问题,再一步步搞定:
先明确你的场景
- 你手头有两个分支:
accos_2.1.3b_ludz和accos_2.1.3_ludz - 已经在
accos_2.1.3b_ludz的/WebContent/WEB-INF/lib目录完成了Jar包版本更新 - 现在想把这个Jar更新的变更合并到
accos_2.1.3_ludz分支,但执行dry-run时命令没被正确识别
为啥会出现More?提示?
这是Windows cmd的专属提示,说明你用^换行的时候,要么路径写断了,要么分支URL没写完整,导致SVN还在等你输入剩余的命令内容。而且还有个小问题:你之前是在源分支的目录里执行合并命令,这不对哦,合并操作得在目标分支的工作副本里做!
正确的操作步骤来啦
先切换到目标分支的对应目录
先跳转到accos_2.1.3_ludz分支的WebContent/WEB-INF/lib目录下,这是合并的正确位置:cd C:\Users\linhou\Teamforge\accos_2.1.3_ludz\WebContent\WEB-INF\lib执行完整的Dry-Run合并命令
你可以选择写一行完整命令,或者用^换行(注意^后面不能加空格!):
一行版:svn merge --dry-run https://你的SVN服务器地址/Accos/branches/ludwig/accos_2.1.3b_ludz/WebContent/WEB-INF/lib .换行版(Windows下可用):
svn merge --dry-run ^ https://你的SVN服务器地址/Accos/branches/ludwig/accos_2.1.3b_ludz/WebContent/WEB-INF/lib ^ .这里的
.代表当前目录(也就是目标分支的lib目录),SVN会把源分支lib目录的变更同步到这里。检查Dry-Run的输出
执行成功后,你会看到类似这样的输出,显示哪些Jar包会被更新:U xxx.jar U yyy.jar如果没有冲突提示,就可以去掉
--dry-run参数,执行实际合并:svn merge https://你的SVN服务器地址/Accos/branches/ludwig/accos_2.1.3b_ludz/WebContent/WEB-INF/lib .提交合并后的变更
合并完成后,手动检查下Jar包版本是否正确,没问题就提交:svn commit -m "合并accos_2.1.3b_ludz分支的lib目录Jar版本更新"
额外提醒
- 合并前记得先执行
svn update更新目标分支的工作副本,减少冲突概率 - 如果合并时出现冲突,SVN会标记冲突文件,你需要手动解决冲突后再提交
- 别搞混源分支和目标分支的操作目录,一定要在目标分支的工作副本里执行合并
内容的提问来源于stack exchange,提问作者fat_apupu
相关产品推荐
相关产品推荐

