2009-12-30 6 views
3

Интересно, что разница междуBZR выезд vs. Bzr получить

bzr checkout ./MyProject MyProject.dev 
# later followed by a 
cd MyProject.dev 
bzr pull ../MyProject 

и

bzr get ./MyProject MyProject.dev 
# later followed by 
cd MyProject.dev 
bzr pull 

Насколько я могу сказать, разница лишь в том:

  1. bzr get устанавливает вытащить место.
  2. bzr checkout не устанавливает тяговое положение , поэтому его необходимо указывать при первом нажатии.

Есть ли другие отличия?

ответ

6

bzr get создает ветку, тогда как bzr checkout создает кассу. При оформлении заказа любые изменения, которые вы совершаете для MyProject.dev, также будут переведены на номер MyProject.

Для получения более подробной информации см. checkout tutorial.

+0

Таким образом, «bzr checkout» дает такое же поведение фиксации, как и subversion, где commit загружает на сервер немедленно. И «bzr get» дает такое же поведение фиксации, что и git, где коммиты должны быть нажаты. Это оно? – neoneye

+0

Осмотр Bazaar также может принимать локальное коммитирование, которое нет в Subversion. Легкие проверки наиболее близки к модели Subversion. Я не могу отдельно комментировать git, поскольку я еще не использовал его. Другой способ использования функции проверки заключается в том, чтобы все ветви были сохранены локально, а затем иметь один каталог, в котором вы * bzr переключаете * между ветвями. –

+0

Благодарим вас за ссылку на «учебное пособие», это заставило меня понять некоторые вещи. Особенно в разделе «Оффлайн Commit» о bind/unbind. – neoneye

7

В случае с bzr checkout вы не должны использовать bzr pull, но вместо этого следует использовать bzr update.

bzr get является псевдонимом bzr branch, что примерно эквивалентно git clone.

+0

Ах, если бы я не заметил этого маленького ответа здесь, я бы отправил его сам. – Mez

+0

Всегда использовал 'bzr branch' сам, но полезно знать' get' - это псевдоним. –

2

В принципе, у вас есть возможность не привязываться к ветке, в которой вы получили код: если вы хотите, чтобы автономная копия использовала bzr get, если вы хотите автоматически привязываться к исходной ветке: используйте bzr checkout.

Если вы передумали позже и хотите, чтобы он вел себя как SVN, вы можете сделать bzr bind, и любые сделанные вами фиксации будут автоматически переданы родительской ветке.

3

Это один из способов отличных функций Bazaar, который не получает достаточного давления: способность людей работать так, что делает их удобными, даже в одном общем хранилище.

Есть ли git или другие преданные DVCS? Хорошо. Попросите их использовать ветвь bzr.

Есть несколько старых школьных svn парней, которые просто не могут обернуть головы вокруг всего ветвления и слияния? «Подождите ... Мне нужно создать ветвь, сделать коммиты, затем слить свою ветку, а затем нажать мою ветку? Как глупо, я просто хочу совершить!» Хорошо. Попросите их работать с bzr checkout.

Этот тип гибкости меня привлекает к Bazaar, несмотря на то, что git дико более популярен и быстрее.

Смежные вопросы