Я, честно говоря, не могу сказать, как это могло произойти - честно говоря, похоже, что это будет поведение (звучит довольно катастрофически), если вы не сделали что-то вроде bzr pull --overwrite
или не сделали bzr revert
после bzr pull
которые имели конфликты.
Перво-наперво, посмотрим, сможете ли вы надежно воспроизвести эту проблему.Возможно ли это, однако, подать отчет об ошибке в bzr , чтобы эту проблему можно было отследить.Кроме того, прежде чем делать ЧТО-ТО ВСЕГО , сделайте резервную копию данных, которые у вас есть в этих ветвях.Если вы работали в общем хранилище, сделайте резервную копию всего этого.Таким образом, он доступен для судебного восстановления, если такие решительные усилия необходимы.Однако для получения дополнительной помощи вам придется поработать с разработчиками Bazaar.Может быть полезно потусоваться в комнате #bzr
в IRC-сети FreeNode, чтобы попросить о помощи.Как обычно для поиска поддержки в IRC, терпение является ключевым, даже если ситуация, в которой вы находитесь, довольно срочна.Они могут дать вам некоторый код Python или инструкции о том, как выкапывать эти коммиты, а также могут рассказать вам, как узнать, что произошло.
Тем не менее, что я обычно делаю, когдазанимаюсь разработкой, как это, если у меня есть несвязанная ветвь «вверх по течению», и затем в любой ветке, в которой я работаю. Когда я закончу со своими изменениями, я вытяну из ветки вверх по течению, сливаю свою ветку в получившееся дерево и затемрезервное копирование.Например:
$ bzr init-repo project; cd project
$ bzr branch bzr+ssh://example.org/srv/bzr/project/trunk trunk
$ bzr branch trunk my-feature-branch
$ cd my-feature-branch
... work, commit; work, commit; ...
$ cd ../trunk
$ bzr pull
$ bzr merge ../my-feature-branch
... resolve any merge conflicts here, if any ...
$ bzr ci -m 'Merge in my-feature-branch'
$ bzr push :parent
Делая это таким образом, вы также отделяете свою работу от ветви upsteam до тех пор, пока вы не будете готовы слить и протолкнуть ее.И это гарантирует, что ваш местный филиал никогда не будет перезаписан.