Re: [PATCH] revision: --ancestry-path
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 21, 2010, 09:04 UTC
- Message-ID
- <7vy6ghb2hm.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <201004211046.22643.johan@herland.net>
Johan Herland <johan@herland.net> writes:
Show 10 quoted lines
> 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--MWhile 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.