суббота, 1 августа 2009 г.

HG squash. Или как объеденить несколько изменений.

Часто, в репозитарий попадают изменения, которые делают исходный код не рабочим, но исправления будут сделаны в следующих ревизиях. А потом, может возникает желание, объединить их в один патч. Это можно сделать следующим образом.

hg update S

Обновляем до ревизии, предшествующей необходимым изменениям.

hg revert -r tip --all

Теперь отменяем все сделанные изменения.

hg commit -m "Combine changesets S+1..S+k"

И объединяем в один chageset.

Теперь возникает такая проблема, что в репозитарии образовалось две ветки, основная, и полученная после hg commit. Это решается двумя разными способами:

1) hg clone -r tip oldrepo newrepo - созданием нового репозитария
2) воспользоваться командой hg strip

Комментариев нет:

Отправить комментарий