Hg Ветвление / Слияние для исправлений - PullRequest
1 голос
/ 08 ноября 2011

Итак, у меня есть репозиторий Hg, который выглядит следующим образом:

O [default] [tip] Current repo
|
O Merging changes from named branch
|\ 
|O Something from a named branch
||
O| [prod-v1.2] Okay, version 1.2 is done

Теперь я столкнулся с проблемой в версии 1.2.Я могу обновить тег prod-v1.2 и зафиксировать его, но при нажатии он предупреждает меня о нескольких головах.Есть ли способ сделать мою новую ветку "bugfix" временно по умолчанию?Как я могу справиться с этим?

1 Ответ

2 голосов
/ 08 ноября 2011

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

При необходимости вы можете легко объединить содержимое ветки с вашей разработкой.branch.

Пример такого вида рабочего процесса описан здесь: http://stevelosh.com/blog/2010/05/mercurial-workflows-stable-default/, но вы также можете найти еще много способов сделать это.

В вашем конкретном случае вы можетесделайте что-то вроде этого, если вы сделали только один коммит:

 hg rollback # rollbacking last commit to allow for branch creation
 hg branch bugfix-v1.2
 hg commit
 hg push

Теперь вы можете переключиться обратно на ветку по умолчанию и продолжить работу над следующей версией ... В следующий раз, когда вам нужно будет исправить ошибку, простопереключитесь на свою ветку с hg update bugfix-v1.2 и зафиксируйте здесь.

...