Мы конвертировали все в Mercurial из CVS и пока все хорошо. Однако сегодня мы столкнулись с проблемой:
До перехода на Mercurial у меня было несколько незавершенных изменений, которые были запущены, а затем отложены по разным причинам. Скорее всего, кто-то еще закончит эти функции через несколько месяцев после того, как я остановился.
После клонирования нового репозитория Mercurial я создал отдельные ветки для изоляции этих функций.
Это оставило меня с чем-то вроде этого (составленный номер рев.)
hg update default
hg branch feature1
hg commit -m "Description of what I was doing in feature1"
hg update default
hg branch feature2
hg commit -m "Description of what I was doing feature2" (my tip is now here)
hg update default
hg push -f (to force the creation of my new branches, w/o affecting default, I haven't merged them)
В течение этого времени команда работала и отправлялась в наш центральный репозиторий, поэтому ветка по умолчанию, скажем, rev 40 (tip)
Теперь мой push -f работал нормально, но располагался (подсказка) к моему последнему изменению -> 50: feature3 (подсказка). Я ожидал, что чаевые останутся по умолчанию в центральном репозитории и будут просто иметь свои ветки, чтобы кто-нибудь мог их поднять. График также выглядит довольно забавно, когда я использую hgwebdir, поэтому я почти уверен, что это неправильный подход.
Как бы я это сделал? Должен ли я сначала закрыть ветку? Является ли совет действительно важным или просто метаданными.