bzr вытягивают по сравнению со слиянием bzr

Я использую bzr для очень простой задачи: получение версии разработки GNU Emacs. После начальной буквы bzr branch, Я хотел бы усовершенствовать свою локальную версию. Я читал о документации относительно bzr pull и bzr merge, но не мог иметь смысла из него. Я попробовал bzr merge в течение нескольких дней, и найденный этим bzr merge часто приводил к неразрешимым конфликтам. Обратите внимание, что я не вносил локальных изменений. bzr pull рекомендуемый путь?

ОТРЕДАКТИРУЙТЕ 1 (добавила схема, украденная от Chris Conway):

remote: A --> B --> C --> D
         \                 \
       (branch)           (merge)
           \                  \
local:      \--> A (no change) \--> why conflicts?

Я понимаю мерзавца и darcs, но не знаю о bzr. Аналогии с мерзавцем или darcs помогут много.

РЕДАКТИРОВАНИЕ 2: update предполагаемый работать с checkout только? Выполнение update в a branch кажется, ничего не делает.

17
задан Community 23 May 2017 в 11:53
поделиться

2 ответа

Вы видели Генератор прокси WCF на Codeplex? Основываясь на том, кто стоит за этим (Кейт Грегори и Микеле Леру Бустаманте), есть надежда, что это может быть полезно - плюс вы получаете источники, чтобы вы могли адаптироваться/подправить содержание своего сердца!

(еще не успели всерьез взглянуть на него сами - еще - это в бесконечном перечислять «To-Do when I around to it»....)

Плюс посмотрите эту запись блога здесь Педрама Резаеи , показывающую, как повлиять на шаг Visual Studio «Add Service Reference» с вашим собственным пользовательским кодом.

-121--2349442-

Простой LIKE найти любое число будет достаточно...

...WHERE LIKE '%[0-9]%'
-121--5109213-

Обратите внимание, что я не сделал никаких локальных изменения. Является ли bzr pull рекомендуемым Путь?

Да, это звучит так, как будто bzr pull является подходящей командой для вашего использования. pull берет удаленную исходную ветвь и копирует все изменения из нее в локальную конечную ветвь в более старой версии. (Здесь я использую «удаленный» и «локальный» для обозначения «источник» и «пункт назначения». Любые две ветви будут работать, даже две локальные ветви.)

remote: A --> B --> C --> D
         \                 \
       (branch)           (pull)
           \                  \
local:      \--> A (no change) \--> D

pull работает только в том случае, если две ветви не разошлись, т.е. если ревизия пункта назначения является старой ревизией источника. push - это как раз противоположная операция: она копирует изменения в локальной ветви в удаленную ветвь в более старой версии.

remote: A      (no change)       --> C
         \                      /
       (branch)             (push)
           \                  /
local:      \--> A --> B --> C

Слияние используется, когда требуется скопировать изменения в локальную ветвь, которая разошлась с удаленной ветвью.

remote: A --> B --> C --> D
         \                 \  
       (branch)           (merge) 
           \                  \ 
local:      \--> A --> X --> Y --> Z

Здесь Z включает все изменения из D и изменения из Y . В этом случае извлечение невозможно. Обратите внимание, что для сохранения новой объединенной редакции необходимо зафиксировать после слияния , в то время как при извлечении ветвь автоматически переносится в сохраненную точку ревизии.

Извлечение позволяет использовать bzr в режиме, аналогичном CVS/SVN: локальная ветвь будет «присоединена» к удаленной ветви; commit s автоматически push ed; если удаленная ветвь разошлась, фиксация завершится неуспешно; update - это только слияние из «присоединенной» удаленной ветви.

35
ответ дан 30 November 2019 в 11:27
поделиться

Слияние предназначено для слияния двух разных ветвей, а не копий (локальных и удаленных). Используйте тягу.

4
ответ дан 30 November 2019 в 11:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: