LINUX.ORG.RU

Mercurial, как отказаться от слияния с ненужными коммитами?


0

1

Добрый день! Работал, работал, коммит за коммитом и вдруг понял что все это не то и надо все таки взять за основу коммит N(три дня назад, с номером 312). Пишу hg up 312. Все ок, класс. Делаю дальше нужные изменения. Коммит.Теперь надо запушить это на сервер чтобы отдать другим. Пишу hg push, а он говорит что:

searching for changes
abort: push creates new remote heads on branch 'default'!
(did you forget to merge? use push -f to force)

Не забыл я про merge? Не, не забыл. Просто не хочу сливаться с ненужным кодом. Иначе опять работать не будет ;) Как быть в такой ситуации? Как сказать ему, что забей на все что я делал позже текущего коммита - мне это не нужно?

P.S. Можно сделать merge но потом долго править и останутся ненужные файлы (из тех будущих ревизий).


Можно сделать hg push -r нужнаяголова, и после этого прибить репозиторий с ненужными коммитами; можно сделать hg clone -r нужнаяголова, и прибить репозиторий-источник; или просто hg strip перваяненужнаяревизия.

tailgunner ★★★★★
()
Ответ на: комментарий от true_admin

hg strip грозит нам лютым геморроем с необходимостью ведения списка ненужных ревизий, если удаляемые ревизии есть не только у тебя в репозитории. Всё-таки идеология mercurial предусматривает подход append-only. Если ревизия уже расползлась, то надо юзать hg revert.

Zenom ★★★
()
Ответ на: комментарий от Zenom

идеология mercurial предусматривает подход append-only

угу, поэтому и указал в каких условиях это будет работать. Я бы предпочёл чтобы можно было указывать при hg clone какие бранчи нужны а какие нет ибо при разработке иногда создаю бранчи чисто для тестирования какой-то фичи. Потом хочется этот бранч прибить и всё. Хотя можно тупо склонировать проект ещё раз в другую папку и там извращаться, но это менее удобно.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

> Я бы предпочёл чтобы можно было указывать при hg clone какие бранчи нужны а какие нет

Чем не подходит hg clone -r?

tailgunner ★★★★★
()
Ответ на: комментарий от true_admin

>Хотя можно тупо склонировать проект ещё раз в другую папку и там извращаться, но это менее удобно.

Если такой подход не устраивает, то я рекомендовал бы mq.

Zenom ★★★
()
Ответ на: комментарий от tailgunner

Чем не подходит hg clone -r?

Проглядел. Думаю подходит.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.