Как слить ветку в бзр?

Я участвую в конкурсе Ubuntu App Showdown и получил отзывы https://myapps.developer.ubuntu.com/dev/apps/1183/feedback/ и хочу 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.

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,

Использовать -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
Другие вопросы по тегам