如何合并 bzr 中的分支?

如何合并 bzr 中的分支?

我是 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 项目中一样。

我认为你有两个选择:

  1. 将更改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

  2. 将版本复制到mhall您的代码顶部。

    bzr branch lp:~yourbranch mangar
    bzr branch lp:~mhall119/ubuntu-app-reviews/mangar mhall-mangar
    cp -r mhall-mangar/* mangar/
    

    在检查了差异之后,您可能想要还原其中的大多数差异,而仅保留所做的更改mhall

相关内容