Есть ли разница между `bzr clone`,` bzr branch` и `bzr checkout`?

Очевидно, что bzr clone, bzr branch и bzr checkout все делают то же самое, когда задают URL-адрес в качестве параметра и выполняются в каталоге без bzr.

Есть ли разница для последующего рабочего процесса Bazaar? т.е. bzr commit, bzr update и друзей.

Ответ 1

Ветвление и клонирование одинаковы, но разветвление и проверка не соответствуют не.

$ bzr help branch
...
Aliases:  get, clone
See also: checkout

Оглядываясь на Руководство по оформлению заказов, вы увидите, что проверка по существу связывает каждое действие, которое вы берете непосредственно в ветку. Итак, все, что вы делаете, по существу push ed, когда вы это делаете, - очевидно, что огромная разница в рабочем процессе.

Разница между веткой и кассой

Пусть начнется, сказав, что ничего нет вы можете сделать с Checkout, что вы не может работать с простыми ветвями. Оформить заказ по умолчанию и помощники рабочего процесса.

Что делает Checkout do

С помощью Checkout, когда вы создаете новые записи в местном филиале, а также создает их в удаленной ветке. Эта соответствует командам типа bzr commit и bzr pull. Если вы попытаетесь зафиксировать новые изменения, а удаленный Филиал имеет другое состояние, чем локальный, это предотвратит вас, и сообщите, что вы устарели. Вы можете использовать bzr update для применения удаленные изменения локально.

Ответ 2

bzr branch и bzr checkout делают разные вещи. Они оба дают вам рабочее дерево, но bzr checkout дает вам только рабочее дерево; коммиты и обновления работают непосредственно в/из исходного репозитория. bzr branch дает вам рабочее дерево новой ветки репозитория; фиксация этой ветки не будет автоматически применена к ветки источника. Я не уверен в clone.

Обновить: в соответствии с комментарием checkout дает вам полную историю; это кажется правильным. Семантически checkout выглядит и чувствует себя как централизованная проверка VCS с веткой локально; он реализует это, сохраняя локальную историю (которую вы можете просматривать в автономном режиме - плюс), но привязывая ее к исходной истории, чтобы вы могли совершать транзакции только в том случае, если вы обновляетесь, и автоматически фиксируется. Кроме того, можно совершать без связи, отвязывая проверку, и в этом случае она становится регулярной ветвью.

Ответ 3

Как и другие плакаты, "bzr checkout" - это надмножество "bzr clone/branch", в котором "bzr checkout" создает связанную ветвь. Связанные ветки извлекают из исходного репо всякий раз, когда выполняется операция обновления, и нажимают на исходное репо всякий раз, когда выполняется фиксация.

Чтобы связать клонированную ветвь или отвязать выделенную ветвь, используйте "bzr bind" / "bzr unbind".