как объединить изменения с Bazaar Explorer - PullRequest
2 голосов
/ 09 февраля 2010

Итак, я только начинаю с Bazaar. Я использую Bazaar Explorer для Windows в качестве графического интерфейса.

Я вижу, как отправить свои изменения по электронной почте, но я не знаю, что делать с файлом изменений, когда он у меня есть. Куда поместить файл изменений, как объединить изменения в магистраль?

Если я выбираю объединить, а затем в папке, содержащей файл изменений, я получаю сообщение об ошибке, в котором говорится, что выбранная папка не является ветвью. Вытащить изменения работает так же. Если я помещаю файл изменений в ветку, это ничего не делает. Я уверен, что это что-то простое.

Спасибо

Пояснение:

Я не говорю о сжатии всего проекта, отправке по электронной почте сжатого файла, распаковке и объединении. Я говорю о функции экспорта, упомянутой здесь:

http://doc.bazaar.canonical.com/explorer/en/visual-tour-windows.html#export

Может быть, я неправильно понимаю назначение функции экспорта.

Прямо сейчас я склоняюсь к настройке VPN для всех участников проекта, чтобы мы могли работать более напрямую.

Ответы [ 2 ]

1 голос
/ 08 марта 2010

Даже если вы не можете начать работу с электронной почтой, я не думаю, что вам нужен VPN. Похоже, вы можете настроить SFTP-сервер, предоставить каждому пользователю доступ на запись к своему собственному репозиторию и предоставить им доступ для чтения ко всем остальным репозиториям. Затем вы можете выдвигать или фиксировать свои собственные ветки, а также извлекать, обновлять или объединять ветки других пользователей.

Если не понятно, как это настроить, я бы порекомендовал вам настроить учетную запись на Launchpad , чтобы поэкспериментировать с ответвлениями и слиянием. Вероятно, будет проще настроить собственный сервер после того, как вы и некоторые из ваших товарищей по команде подготовили небольшой демонстрационный проект, работающий на Launchpad.

В случае, если это полезно, вот сводка моего рабочего процесса Bazaar в проекте с открытым исходным кодом. Он охватывает настройку веток, объединение изменений и создание предложений по объединению.

1 голос
/ 09 февраля 2010

Как объяснено в ошибка # 86420 , существует несколько способов, которыми местоположение может быть не ветвью, например:

  • нет .bzr каталог
  • .bzr каталог присутствует, но нет .bzr/branch каталог

Было бы полезно, если бы Bazaar точно объяснил, почему он не рассматривает местоположение как ветвь, потому что это объясняет пользователю, что происходит (и где искать дальше, чтобы диагностировать дальше), а также потому, что он предлагает вероятное лекарство легче.

В частности, это помогло бы ошибка # 86402 , улучшив обратную связь с пользователем и упростив систему для того, чтобы предложить пользователю соответствующее исправление.

Для случая, когда есть каталог .bzr, но в нем нет ветки, возможно, в тексте ошибки следует предложить пользователю попробовать "bzr info", чтобы понять, что же содержит этот каталог.

У вас есть пример слияния из файла изменений по электронной почте здесь . (версия для командной строки)

# USER 1
bzr init-repository project
bzr init project/user2
bzr branch project/user2 project/user1

# USER 2
bzr init-repository project
bzr init project/user1
bzr branch project/user1 project/user2

# USER 1
cd project/user1
<do some work>
bzr commit -m "feature foo"
bzr send -o ../foo.patch # email the feature foo as it compares to the 'user2' branch

# USER 2
cd project/user2
bzr commit -m "feature bar"
bzr send -o ../bar.patch # email to USER 1
cd ../user1
bzr pull ../foo.patch
cd ../user2
bzr merge ../user1
bzr commit -m "Merge foo"

# USER 1
cd project/user2
bzr pull ../bar.patch
cd ../user1
bzr merge ../user2
...

По сути, идея в том, что у вас есть 1 ветвь, которую вы явно обозначаете как работу другого пользователя. Когда они отправляют вам новую директиву слияния, вы переходите к своей копии их ветви и используете «bzr pull». На этом этапе ваша локальная ветвь должна быть точным зеркалом их удаленной ветки. Затем вы вводите «bzr merge», как вам нужно, в свою собственную рабочую ветку.

Причина, по которой я начинаю с "bzr branch user1 user2", заключается в том, чтобы просто получить цель по умолчанию для набора "bzr send". Вы можете просто сделать «bzr send -o XXX ../userX» в первый раз, я думаю, что это запомнилось оттуда.

Кроме того, вам не нужно использовать «-o XXX», если вы просто хотите запустить почтовую программу с прикрепленным патчем. (Я думаю, вам нужно установить --mail-to в этом случае.)

...