diff -r 634b259079c5 -r b2670290eab4 tests/test-annotate.t --- a/tests/test-annotate.t Tue Jul 04 22:35:52 2017 -0700 +++ b/tests/test-annotate.t Wed Jul 05 13:54:53 2017 +0200 @@ -725,6 +725,65 @@ | ~ +Issue5595: on a merge changeset with different line ranges depending on +parent, be conservative and use the surrounding interval to avoid loosing +track of possible further descendants in specified range. + + $ hg up 23 --quiet + $ hg cat baz -r 24 + 0 + 0 + 1 baz:1 + 2 baz:2 + 3+ baz:3 + 4 baz:4 + 5 + 6 + $ cat > baz << EOF + > 0 + > 0 + > a + > b + > 3+ baz:3 + > 4 baz:4 + > y + > z + > EOF + $ hg ci -m 'baz: mostly rewrite with some content from 24' + created new head + $ hg merge --tool :merge-other 24 + merging baz + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + $ hg ci -m 'merge forgetting about baz rewrite' + $ cat > baz << EOF + > 0 + > 0 + > 1 baz:1 + > 2+ baz:2 + > 3+ baz:3 + > 4 baz:4 + > 5 + > 6 + > EOF + $ hg ci -m 'baz: narrow change (2->2+)' + $ hg log -T '{rev}: {desc}\n' -r 'followlines(baz, 3:4, startrev=20, descend=True)' --graph + @ 33: baz: narrow change (2->2+) + | + o 32: merge forgetting about baz rewrite + |\ + | o 31: baz: mostly rewrite with some content from 24 + | : + | : o 30: baz:3->+3 + | :/ + +---o 27: baz:3+->3- + | : + o : 24: baz:3->3+ + :/ + o 20: baz:4 + |\ + ~ ~ + check error cases $ hg up 24 --quiet $ hg log -r 'followlines()'