Почему я не могу перенести это изменение в свой «основной» ртутный репозиторий? - PullRequest
49 голосов
/ 02 марта 2010

Я пытаюсь заполучить Mercurial и надеюсь, что я просто запутался здесь!

У меня есть репозиторий («основной»), который я клонировал («клон»), оба на моей собственной машине.Оба были полностью синхронизированы друг с другом.

Я решил поиграть с именованными ветками, поэтому в следующий раз, когда я зафиксировал свой «клон», я сделал это под именем ветви «case1212», и, похоже, он имеетправильно обработал коммит на моем клоне, я не могу перенести эти изменения обратно в 'main'.Выдается ошибка:

abort: push creates new remote branch 'case1212'!

... и это говорит о том, что мне может понадобиться сначала объединить?Что я должен объединить в этом хранилище «клон»?Когда я пытаюсь вытащить из 'main', изменений нет.

Я почти уверен, что на самом деле хотел бы, чтобы он создал удаленную ветку в моем 'main' репозитории, чтобы люди, которые обновляются из него, могли видетьэта ветвь.

Ответы [ 3 ]

50 голосов
/ 02 марта 2010

Поведение Mercurial по умолчанию не позволяет создавать удаленные филиалы. Если вы хотите сделать это, вам нужно принудительно нажать.

В отображаемом окне синхронизировать меню, есть опция принудительного нажатия.

24 голосов
/ 13 января 2011

Черепаха теперь имеет опцию Push new branch, которая может быть безопаснее, чем Force pull or push. У инструмента командной строки есть флаг --new-branch.

Обновление: новый интерфейс черепахи делает его немного труднее найти. Переключитесь в представление «Синхронизировать», затем нажмите «Параметры» и выберите «Разрешить отправку новой ветви».

19 голосов
/ 02 марта 2010

Это предупреждает вас, что ваш толчок создаст новые удаленные головки (и в этом случае ответвления). Если вы согласны с этим, и это звучит так, как вы, вы можете нажать push -f.

Эта проверка включена, поэтому, если вы хотите, чтобы ветвь case1212 не возвращалась на главный сервер, вы можете сделать hg push -r default, и тогда вы не увидите это предупреждение и не отправите case1212.

Как только вы это сделаете для case1212, вы больше не увидите предупреждение, поскольку case1212 уже будет там.

Более новые версии Mercurial делают это предупреждение менее пугающим в случае, когда новая голова - новая ветвь.

...