Как определить, что коммиты являются допустимыми - PullRequest
4 голосов
/ 25 ноября 2011

В Git это легко, потому что remote/branch указывает на коммит, отличный от branch.Как это сделать с Mercurial?

Ответы [ 6 ]

7 голосов
/ 25 ноября 2011

Если вы хотите увидеть разницу между вашим локальным репо и тем, на который вы хотите, попробуйте

hg outgoing
2 голосов
/ 12 октября 2012

Начиная с Mercurial 2.1, существует также чисто локальное решение: фазы . Фаза draft, вероятно, то, что вы ищете. За подробностями обращайтесь к:

https://www.mercurial -scm.org / вики / Phases

Вы можете найти hg phase <rev> и hg log -r "draft()" интересными.

2 голосов
/ 07 января 2012

Существует расширение для удаленной ветви , которое даст вам Git-подобную настройку. Он отслеживает удаленные заголовки для репозиториев, перечисленных в [paths], и выставляет их в виде тегов с именем <path>/<branch>. Это позволяет вам запустить

$ hg diff -r foo/default

чтобы увидеть, что изменилось с ветки default в репозитории foo. Также есть новые ключевые слова revset, которые позволяют вам делать такие вещи, как

$ hg log -r "not pushed()"

чтобы получить то, что

$ hg outgoing

будет делать, но без сетевого трафика.

1 голос
/ 28 августа 2013

Каков вызов командной строки, чтобы показать все ревизии на этапе черновика?

hg log --style phases

Будет отображаться лог + фаза, начиная с Mercurial 2.7 (2013-08-01) .

1 голос
/ 07 января 2012

Если вам нужно выбрать наборы изменений для дальнейшей обработки, то вы можете использовать предикат outgoing revset .Это позволяет вам повторно реализовать hg outgoing как

hg log -r "outgoing()"

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

hg strip "outgoing()"
1 голос
/ 26 ноября 2011

Я бы просто использовал hg outgoing, как предлагают другие, но hg summary скажет вам тоже. Для проверки удаленного сервера по умолчанию может потребоваться опция --remote.

...