HG / Mercurial: как получить все коммиты, которые идут в новой версии приложения? - PullRequest
0 голосов
/ 09 октября 2018

Я использую подход hg flow (аналогично git flow).Мне нужны все коммиты между моей текущей веткой "release / 2.0.0", последним коммитом и предыдущим коммитом "Develop", в котором был запущен "release / 1.0.0".

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

enter image description here

1 Ответ

0 голосов
/ 09 октября 2018

На самом деле это очень просто с помощью Mercurial: revsets на помощь!

Вы в основном хотите включить все, что произошло до вашего текущего выпуска разработчика, но исключите то, что уже произошлодо последней версии:

hg log -r"ancestors(DEVREV) and not ancestors(RELEASE)"

, где DEVREV - версия текущей версии, а RELEASE - версия последней версии.

Например:

ingo@aeolus:~/hg-test$ hg log -G -T"{rev}: {desc}\n"
@  8: New release
|
| o  7: New dev stuff
| |
o |    6: Merge 4
|\ \
| | o  5: Add cc
| |/
| o  4: Add bb
| |
o |  3: Add d
| |
o |  2: Add c
| |
o |  1: Add b
|/
o  0: Add a

ingo@aeolus:~/hg-test$ hg log -r"ancestors(7) and not ancestors(8)"
changeset:   5:ce0558751c5a
user:        planetmaker <planetmaker@openttd.org>
date:        Wed Aug 22 16:14:12 2018 +0200
summary:     Add cc

changeset:   7:78f338d1c8fa
parent:      5:ce0558751c5a
user:        planetmaker <planetmaker@openttd.org>
date:        Tue Oct 09 13:02:20 2018 +0200
summary:     New dev stuff

Возможно, вы захотите попробовать --style=changelog с соответствующим revset.

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