В ходе использования и одновременного изучения системы контроля версий mercurial допустил ошибку:
имелось 2 branch'a:
default и next.
Не замеча, что текущим является branch next, я закоммител изменени, нужные мне в default.
Собственно задача сводится к откату последнего коммита из бранча next, и коммита этих изменений в branch default.
На #mercurial мне подсказали решение:
hg update next
hg export tip > ../last-commit.diff
hg rollback
hg update default
hg import ../last-commit.diff
Итак: hg update - обновление рабочей версии до нужного branch'a. hg export - экспортируем в файл изменения последнего коммита. hg rollback - откат последнего коммита, ну и hg import это импорт изменений в репозиторий.
Все бы ничего, но hg import ругается на невозможность применения изменений. А вся причина в том, что последний коммит, тот что у нас в файле, накладывается на файлы, версии которых лежат в другом бранче. В этом нет ничего страшного. для этого придется закоммитить все версии этих измененный файлов до версий из другой ветки. т.е. делаем hg revert до нужной версии, и коммитим в первом бранче. После этого import пройдет без проблем.
Подписаться на:
Комментарии к сообщению (Atom)
0 коммент.:
Отправить комментарий