Так что мой коллега только выиграл хэш-лотерею. Мы создаем ветвь функций для каждого разрешенного нами билета по соглашению b#####
, где #####
- номер проблемы.Как обновить ветку по имени при столкновении хэшей?
Беда в том, что, когда он попробовал обновить эту ветвь (до ее существования) через hg up branch(b29477)
, он взял его в default
вместо того, чтобы сказать, что ветка не существует.
Оказывается, что branch(b29477)
фактически возвращает название ветки вещи внутри паренов (вместо того, чтобы вынуждать Mercurial оценивать предмет внутри parens как название ветки, как я думал!), И так получилось changeet, начинающийся с b29477
, который был по умолчанию, поэтому вместо того, чтобы говорить, что ветка не существует, он взял его до конца по умолчанию!
Теперь мы можем обойти эту проблему, выбрав другое название ветки, но я хочу знать, есть ли какой-либо способ для hg update <branch_name_and_dont_interpret_this_as_anything_else>
?
КСТАТИ hg log
также лежит о том, что это --branch
параметр делает. В нем говорится:
-b --branch BRANCH [+] show changesets within the given named branch
Но это не так. Идите вперед и запустите его с помощью хэша. например,
hg log --branch eea844fb
И это принесет результаты. Если вы копаться в документации, вы обнаружите, что это на самом деле так же, как:
hg log -r 'branch(eea844fb)'
Но может «строка» будет тег или закладку? – mpen
Сомневаюсь, что вы найдете проблемы с закладками и тегами.Используя что-то вроде этого: «hg update -r» bookmark (mpenBkMrk) »и« hg update -r »tag (mpenTag)« 'достаточно. –
Чтобы быть ясным, ответ НЕТ. Команда 'hg update -r" branch() "' не принимает теги и закладки, принимаются только ветви и наборы. –