Подтвердить что ты не робот

Mercurial: создать ветку без необходимости внесения изменений

Я слышал, что единственный способ создать ветку в репозитории Mercurial - это внести изменения в рабочую копию, а затем передать их новой ветке.

В Subversion я могу создать ветку без внесения изменений (путем копирования trunk в путь под tags) - возможно ли это сделать и в Mercurial?

В настоящее время я вижу TortoiseHg, поэтому это возможно сделать только с помощью инструмента командной строки, и я этого не знаю.

Мой рабочий процесс для этого:

  • Создать ветвь функции.
  • Выполняйте некоторые работы в этой ветке свойств.
  • Создать ветвь кандидата релиза.
  • Объединить функцию для освобождения ветки кандидата.
  • Разверните, протестируйте, исправьте развертывание, протестируйте, исправьте ветвь кандидата релиза.
  • Слияние с кандидатом на ветку.

Большое спасибо заранее.

4b9b3361

Ответ 1

Это зависит от того, что вы подразумеваете под веткой.

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

hg branch NEWNAME
hg commit -m "Created branch NEWNAME"

Вы также можете сделать это, используя диалог TortoiseHg.

Однако, если вы хотите создать другую неназванную ветвь, т.е. просто еще один руководитель, тогда да, вам нужно что-то изменить. И действительно, почему вы хотите просто создать пустой набор изменений без каких-либо изменений? Просто чтобы сообщить, что "это место, где я буду размещать свою ветку, когда у меня есть какие-то изменения"?

Ответ 2

Возможно, вы захотите проверить расширение (которое вскоре станет частью ядра Mercurial).
Если вы знакомы с тем, как ветки работают в git, то это почти то же самое.

И так же, как ветки в git, вы можете создать закладку, не совершая ничего.

$ hg bookmark my-feature

Ответ 3

После создания ветки не забудьте нажать ее:

hg push --new-branch