我有两个存储库,分别生活在不同的服务器上,它们被称为回购-1和回购-2。
开始时,两个“树干”是相等的:
回购-1/主干==回购-2/主干
同时,我也在修改和执行对回购-2/躯干的修改。
现在我需要合并从回购-1/主干到回购-2/主干的变化。
我想我应该将repo-1/主干复制到repo-2/ tag /r1_20090224中,然后将该标记合并到我的repo-2/主干的本地工作副本中(即c:\dev\repo2-主干)。
对如何做到这一点有什么建议吗?我试图使用TortoiseSVN并执行“合并两个不同的树”,我使用了以下设置:
出发地:repo-2/主干到:repo-2/tag/r1_20090224工作副本:C:\dev\repo2-主干
我还试着把“从”和“...but”换成“无缘”。通过尝试这两个合并选项中的任何一个,我将得到以下结果:
对此有什么建议吗?
发布于 2009-02-24 19:54:29
首先,找出树木相同的地方的修订。然后将该版本合并到回购-1存储库的主管,并将其合并到您的回购-2工作副本中。
如果要合并r123和r456之间的更改,则使用命令行客户端类似于此
svn merge http://domain.tld/repos1@123 http://domain.tld/repos1@456 repos2-workingcopy发布于 2009-02-24 19:59:45
还不完全清楚,但您需要从两棵树的底部合并,即两个树干相同的位置。
桑德击败了我,这是他的功劳,但这里还有一些小窍门:
发布于 2009-02-24 20:22:45
,如果 svn merge跨两个站点/服务器使您失败:
svn: Unusable URI: it does not refer to this repository然后使用以下方法:
repo-2开始偏离repo-1__的修订级别,例如123,然后:svn co http://server1/repo-1/trunksvn diff -r123:HEAD http://server2/repo-2/trunk >repo2.patchespatch -p0 -i repo2.patchessvn ci --message "merged from repo-2"https://stackoverflow.com/questions/583260
复制相似问题