>hg glog -r 410:426 --template "{rev} - {desc|firstline|fill68}\n"
o 426 - Merge test fixes for dulwich changes and output changes.
|\
| o 425 - Merge incoming fix.
| |\
| | o 424 - getremotechanges: fix incoming support
| | |
o | | 423 - overlay: stop using deprecated tree.entries() method
| | |
| o | 422 - Fix all-version-tests.
| | |
o | | 421 - Test output format tweaks for test-outgoing.
| | |
o | | 420 - test-incoming: fixes for hg 1.7
| | |
| o | 419 - Merge fix for `hg out` failing on empty repo.
| |\ \
| | o | 418 - In some situations where a reference is being used but does not
| | | | exist in _map_git or _map_hg, silently skip the reference rather
| | | | than throwing an error. This allows hg outgoing to work on
| | | | repositories which do not contain any revisions at all.
| o | | 417 - only want heads and tags
| |/ /
| o | 416 - test-url-parsing: update expecations missed by edaadbd99074
| | |
| o | 415 - to be recognized port number in path to repository
| | |
| o | 414 - Unbreak outgoing to non-git repos with hg pre-1.9
| | |
| o | 413 - test fixes for progress cleanup
| |/
| o 412 - Fix mercurial issue2855
| |
| o 411 - Convert dulwich progress into mercurial ui.progress
|/
o 410 - test-incoming: only run on hg 1.7.x and newer
Вместо крайне уродливого кейса из gist я использую часть реального репозитория DAG (репозиторий hg-git). Надеюсь, подборка достаточно показательна для решаемой задачи.
Необходимый набор изменений (на английском языке) будет
"Диапазон A:B без второго родителя и его предков для наборов слияния"
На функциональном языке revset (TBT!)
-r "410::426 - (p2(merge()) or ancestors(p2(merge())))"
В случае полного набора наборов изменений в качестве исходника более читаемая форма будет примерно такой
hg log -r "!(p2(merge()) or ancestors(p2(merge())))"
страйк>
Изменить 1
Я протестировал revset, переосмыслил методологию (вместо того, чтобы исключать, я хочу добавлять только необходимое в пустой набор), ближайшая итерация для моего варианта использования на данный момент (есть ошибки, не могу найти решение)
(p1(ancestors(p1(426))) or p1(426) or 426) and 410::426
которые (все еще) включают некоторые нежелательные изменения
person
Lazy Badger
schedule
18.03.2013
git merge
. Поэтому, если я объединяю функцию ветки с главной (т.е. на главной,git merge feature
), текущая главная фиксация является первым родителем коммита слияния, тогда как, если я объединяю основную ветку с функцией (т.е. на функции,git merge master
), текущая фиксация функции будет первый родитель коммита слияния. - person Max Nanasy   schedule 15.03.2013