Рабочий процесс экспериментов с Mercurial - PullRequest
1 голос
/ 16 сентября 2010

Я столкнулся с проблемой в моем рабочем процессе Mercurial, когда экспериментировал с реализацией определенной функции.Я пробовал три разных подхода к реализации этой функции, фиксируя каждое обновление с последующим обновлением до предыдущего набора изменений, поэтому я в итоге получил три разные ветви.

После того, как я выбрал одну из ветвей в качестве «правильной» реализации функции, я хочу удалить другие ветви, чтобы у меня не было нескольких головок.Как мне сделать это простым способом?Я закончил тем, что объединил три ветви вместе, что было бессмысленно, потому что я когда-либо хотел код только из одной ветви.

Ответы [ 3 ]

2 голосов
/ 19 сентября 2010

В дополнение к hg strip из расширения mq вы можете просто использовать стандартную команду клонирования :

$ hg clone -r the-good-head . ../pruned

, чтобы получить клон в ../pruned, которая содержит только хорошую голову (и всех ее предков).Это безопасный, встроенный способ обрезки объектов в Mercurial, и он имеет преимущество в том, что у вас все еще остаются нетронутыми оба хранилища после команды.Поэтому, если вы допустили ошибку, просто удалите клон ../pruned.

2 голосов
/ 16 сентября 2010

Следующее закрывает ветку

hg commit --close-branch

Не будет отображаться в

hg branches or hg heads
1 голос
/ 16 сентября 2010

Включить встроенное расширение mq и запустить hg strip.

@ ответ pyfunc сохраняет закрытые ветки в истории изменений, что я и сделал бы, если бы ваши нежелательные ветки не были большими.

...