"Marco Costalba" <mcostalba@xxxxxxxxx> writes: > In a less corner case, just to better explaing my idea, consider this: > > a---b---d---e---f---g---h > t1 \ / t3 > ---c > t2 > > Where our sha1 is still "e", in this case > > git-rev-list --topo-order <e> ^a ^c ^g > > gives, as last revision in output list, "f" > Then parentOf(<f>) is <g> and our looked for tag is t3 Sorry, in the example time flows from left to right. If you exclude g then you are excluding everything that is reachable from g so you would not see "f". Even if your example is different from what I gave (which had "a" as the root commit) and h is the root commit, your ^a and ^c would exclude everything that is reachable from either a or c, so you would get an empty set. So your "last revision in output" would not be "f" either. - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html