Mercurial Pushing закрытых веток - PullRequest
9 голосов
/ 12 августа 2010

Я пытаюсь выяснить, почему Mercurial думает, что я пытаюсь создать новую удаленную ветку в этой ситуации:

альтернативный текст http://a.yfrog.com/img716/8421/9vz.png

Это просто пытается сообщить мне, что ветвь будет отображаться в метаданных как закрытая ветвь?

Я на Mercurial v1.6.1023

Редактировать : единственная ветка в удаленном репозитории называется "default"

Ответы [ 3 ]

6 голосов
/ 12 августа 2010

По умолчанию hg push собирается отправить все наборы изменений в вашем локальном репозитории, которых нет в удаленном репозитории. Если у вас есть какие-то изменения в локальной ветви (Environment_Switching в вашем случае) - даже в закрытой ветви - они тоже пойдут , если , если вы явно исключите их, используя hg push -b default (при условии, что у вас нет ' т слил эту ветку обратно на default).

Чтобы ответить на ваш вопрос, я просто предупреждаю, что вы создаете новую удаленную ветку.

РЕДАКТИРОВАТЬ: hg push -r default и hg push -b default эквивалентны. С выхода для hg help revs:

Mercurial поддерживает несколько способов указания отдельных ревизий. ... текст удален для краткости ... Имя ветви обозначает самую последнюю версию этой ветви.

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

0 голосов
/ 12 августа 2010

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

0 голосов
/ 12 августа 2010

РЕДАКТИРОВАТЬ: неправильно понял вопрос.Ниже показано, как получить несколько головок в одной ветви.


Обычно новая головка создается, если база отличается от удаленной.
Я видел это в следующем рабочем процессе:
R1 Пользователь A фиксирует и нажимает
R1 Пользователь B вытягивает
R2 Пользователь A фиксирует и нажимает
R?Пользователь B фиксирует и отправляет

Mercurial решит, что отправка пользователя B основана на R1, в то время как сервер находится на R2, поэтому он будет принимать изменения пользователя B только в другой ветви.
Чтобы предотвратить это, передайте изменения пользователя B локально, затем выполните hg pull, затем hg merge и объедините ваши изменения с удаленными изменениями.Чем вы можете отправить свои изменения на удаленный сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...