Bzr push error: разошлись репозитории после слияния с основной линией - PullRequest
0 голосов
/ 15 декабря 2011

Я очень недавно начал использовать общий репозиторий Bzr для управления моим проектом.Я получил это путем ветвления из отдельного хранилища, в которое я до сих пор делал добавочные коммиты.Этот новый общий репозиторий имеет макет «/ trunk, / branch»:

--xxxx_shared
  --trunk
    --src
    --lib
    --doc
  --branches

Таким образом, я слил некоторые изменения из ствола этого репозитория в основную линию, но позже я попытался внести некоторые дополнительные измененияиз ствола я получил сообщение о том, что две ветви разошлись.Я совершил слияние с основной линией, и поэтому произошло расхождение.Но как этого избежать, учитывая, что нужно совершить любое слияние?Или я серьезно неправильно понимаю вещи?

Чтобы разрешить этот конфликт, я слился с основной линией BACK в ветвь общего транка.Я подозреваю, что это было ошибкой, так как теперь у меня есть история изменений для / xxxx_shared / trunk, которая выглядит следующим образом:

    ------------------------------------------------------------
    revno: 74 [merge]
    committer: Chris <xxxxxxxx@yahoo.com>
    branch nick: trunk
    timestamp: Wed 2011-12-14 03:47:49 +0000
    message:
      Committing merge from parent branch.
        ------------------------------------------------------------
        revno: 71.1.1 [merge]
        committer: Chris <xxxxxxxx@yahoo.com>
        branch nick: mainline
        timestamp: Tue 2011-12-13 21:13:06 +0000
        message:
          Merged WinAPI toolbar updates from /projects/xxxx_shared/trunk.
    ------------------------------------------------------------
    revno: 73
    committer: Chris <xxxxxxxx@yahoo.com>
    branch nick: trunk
    timestamp: Wed 2011-12-14 03:33:35 +0000
    message:
      Updated the WinAPI toolbar button code...

Таким образом, вышеприведенный пункт 71.1.1 объединен с основной строкой и относится кобъединить FROM / projects / xxxx_shared / trunk (shared repo) с основной линией.

Надеюсь, все это понятно.Но как я могу решить эту проблему, чтобы восстановить линейную линию развития?И что было бы консервативной «лучшей практикой» с Bzr, чтобы избежать подобных вещей в будущем?У меня все еще есть неизмененная копия исходного автономного репозитория, поэтому я всегда могу вернуться к этому и начать все заново, если это будет необходимо.

1 Ответ

1 голос
/ 16 декабря 2011

Если вы хотите, чтобы «основная линия» была точным зеркалом «магистрали», вам следует только толкать от магистрали к главной линии или лучше тянуть от магистрали к основной линии:

cd mainline
bzr pull /path/to/repo/trunk

Если у вас ситуация с разветвленными ветвями, вам нужно использовать команду bzr missing, чтобы понять, почему происходит расхождение, после этого объединения в магистраль и выполнить команду pull, указанную выше. Таким образом, ваша основная линия будет точной копией транка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...