Как оформить заказ файла из одной ветки в другую в Mercurial? - PullRequest
16 голосов
/ 21 февраля 2011

Как оформить заказ файла из одной ветки в другую в Mercurial?

В основном я хочу скопировать один файл из ветви experimental в другую ветку production.

Ответы [ 2 ]

17 голосов
/ 21 февраля 2011

Вы можете показать любой файл любой ревизии с помощью hg cat -r experimental filename.Но этот тип поведения выглядит как патч отладки, и в этом случае я бы рассмотрел transplant ing (выбор вишни в других DVCS).

hg revert -r experimental filename может это сделать, не тестировалось.

0 голосов
/ 06 октября 2018

hg revert в соответствии с предложением @shellholic действительно создаст файл из одной ветви другой ветви. Однако файл будет выглядеть как недавно добавленный в историю. Его фактическая история не отображается в целевой ветви.

Я считаю прививание лучшей альтернативой.

Предположим, у вас есть 2 ветки, и вы создали и работали с файлом f2.txt в боковой ветке. Вы также работали над файлом f3.txt в той же ветке в то же время.

enter image description here

  1. Создайте другой набор изменений в исходной (боковой) ветке, этот набор содержит только интересующий вас файл. Если у вас уже есть такой набор изменений, используйте его, создавать новый не нужно.

  2. Обновление до целевой ветки.

  3. Привить источник ревизии. Mercurial спросит вас, хотите ли вы использовать измененную версию. Ответ "с" (изменен).

enter image description here

Результат выглядит так:

enter image description here

история файлов сохранена правильно:

enter image description here

и f3.txt не объединены в целевую ветвь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...