создание новой ветви в mercurial: "abort: push создает новую удаленную головку"

Я пытаюсь сделать что-то очень простое: создать новую ветку. Но я все испортил. Где я допустил ошибку и как ее исправить?

Я единственный пользователь Mercurial. У меня была исправлена ревизия 54 и отправлена в удаленный репозиторий. Я хотел создать ветку на основе версии 53, поэтому я обновил свою локальную копию до версии 53, внес изменения и зафиксировал (игнорируя предупреждение "это не голова"). Затем, когда я пытаюсь нажать на удаленный репозиторий, он говорит

abort: push creates new remote head

может быть, мне нужно было сказать Mercurial, что я хочу создать новую ветку? Если да, то как и в какой момент?

спасибо!

3 ответов


вы говорите Mercurial, что он может идти вперед с

$ hg push --force

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

альтернативой является использование имени филиалаhg branch), а затем вы будете использовать

$ hg push --new-branch

разрешить создание новой ветви на дистанционный. имени отделения имейте преимущество что они делают его легким различить 2 ветви. Их недостаток в том, что они постоянны. Постоянное означает, что вы не можете удалить имя ветви из наборов изменений на ветви - имя буквально запечено непосредственно в наборе изменений.

закладки С помощью непостоянных именах ветку, вижу hg help bookmarks.


еще одна причина этой ошибки: вероятно, есть некоторые несогласованные изменения формы Центрального РЕПО в вашей ветви по умолчанию.

hg up default
hg merge
hg ci -m "Merge"
hg pus

Я сделал это. С Помощью TortoiseHg ... вот как я это исправил:

в настройках я включил расширение полосы, затем щелкнул Правой Кнопкой Мыши ветку, которую я не хотел, изменил историю-полосу. Если вы нажали, то его нужно удалить из всех других репозиториев, включая товарищей по работе, которые вытащили вашу нежелательную ветку.

альтернативой является объединение нежелательной ветви в вашу основную ветвь, но не принимайте никаких изменений из этой ветви - я не уверен, как этот механизм работает.