From: Junio C Hamano Date: Wed, 21 Apr 2010 09:04:37 GMT Subject: Re: [PATCH] revision: --ancestry-path Message-ID: <7vy6ghb2hm.fsf@alter.siamese.dyndns.org> In-Reply-To: <201004211046.22643.johan@herland.net> Johan Herland writes: > I'm not very familiar with "rewrite_parents", nor do I know exactly how it > should affect/interoperate with --ancestry-path in all cases, but running > > git rev-list D..M -- M.t > > produces one commit (M), whereas > > git rev-list --ancestry-path D..M -- M.t > > produces nothing, so I suspect there is something not quite right here. Merge simplification gets in our way big time. D---E-------F / \ \ B---C---G---H---I---J / \ A-------K---------------L--M While traversing the history from M, we notice that M's parent is L, and then further we notice that neither the transition between J to L nor between K to L change the named path M.t, so we simplify the merge L to have K as its sole parent. This makes M appear disconnected from D's decendant chain, and causes the TMP_MARK reverse traversal not to work as intended.