![如何合并 bzr 中的分支?](https://linux22.com/image/1039009/%E5%A6%82%E4%BD%95%E5%90%88%E5%B9%B6%20bzr%20%E4%B8%AD%E7%9A%84%E5%88%86%E6%94%AF%EF%BC%9F.png)
我是 Ubuntu App Showdown 比赛的参与者,我得到了一些反馈https://myapps.developer.ubuntu.com/dev/apps/1183/feedback/并且我想将M. Hall 的merge
分支bzr
作为我的主分支。
我怎样才能正确地做到这一点,因为我不想引起任何问题......
编辑:我发现了这个如何将应用审核委员会建议的修复应用到我的应用中?
但我有一个问题
chris@chris-Aspire-5732Z ~/Projects/MangaR/mangar $ bzr merge lp:~mhall119/ubuntu-app-reviews/mangar
bzr: ERROR: Branches have no common ancestor, and no merge base revision was specified.
答案1
使用-r0..-1
选项bzr merge
例子:
bzr merge lp:~mhall119/ubuntu-app-reviews/mangar -r0..-1
我找到了这个答案这里
与当前接受的答案相比,我更喜欢这个解决方案,因为现在您应该能够仍然合并来自上游的未来更改,并且它应该“正常工作”
另外,从现有项目分支,然后将所有内容移动到子目录,然后提交,然后从新分支合并可能会对你有帮助-r0..-1
例子:
cd ..
bzr branch lp:~mhall119/ubuntu-app-reviews/mangar mangar_branch
cd mangar_branch
mkdir mangar
bzr add mangar
bzr mv * mangar
bzr commit
cd ../${YOUR_TARGET_BRANCH}
bzr merge ../mangar_branch -r0..-1
答案2
错误消息意味着这两个分支完全不相关。这就像试图将 Gnome 项目合并到 KDE 项目中一样。
我认为你有两个选择:
将更改
mhall
作为补丁应用到您的代码中。bzr branch lp:~yourbranch mangar bzr branch lp:~mhall119/ubuntu-app-reviews/mangar mhall-mangar bzr diff -r300..-1 mhall-mangar | (cd mangar; patch -p0)
不要使用修订版本 300,而要使用提交前的修订版本号
mhall
。如果实际上他只提交了一次,则可以-c-1
使用-r
将版本复制到
mhall
您的代码顶部。bzr branch lp:~yourbranch mangar bzr branch lp:~mhall119/ubuntu-app-reviews/mangar mhall-mangar cp -r mhall-mangar/* mangar/
在检查了差异之后,您可能想要还原其中的大多数差异,而仅保留所做的更改
mhall
。