Attached is a repository (to be imported via git fast-import) that has
such a history:
o--o--A--B--o
\ \
o--o--C-----M--o--X <- master
where the A,B,C touch path P2 such that P2 is the same after B and C.
Commit X touches P2 as well.
This command does not give the expected result: It reports *two* initial
commits and one merge; in particular, commit X is reported as initial commit.
$ git rev-list --parents --reverse --full-history master -- P2
This command gives the expected result, i.e. there is one initial commit,
one merge, and some more regular commits:
$ git rev-list --parents --full-history master -- P2
And this works as well, i.e there is a linear history that omits the
branch via C:
$ git rev-list --parents --reverse master -- P2
Please help!
BTW, I've observed this behavior earlier when I debugged David Tweed's
repository, after which we removed --full-history from git-filter-branch.
But I could not easily find a simple history that exposes the problem. Now
I have such a history.
BTW2, using --simplify-merges instead of --full-history has the same
problem (but I don't think that comes as a surprise).
-- Hannes