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
Attachment:
example.git.gfi.bz2
Description: Binary data