On 11/05/2013 15:23, John Keeping wrote:
This is helpful when examining branches with disjoint roots, for example
because one is periodically merged into a subtree of the other.



         $ git log --left-right F...E --not $(git merge-base --merge-child F E)
         < F
         > E


Wouldn't "--left-right --ancestry-path F...E" do the job? I can't immediately see how that differs.

Unfortunately, that syntax doesn't currently work - I just stumbled across this problem, and my "history traversal refinements" series in pu fixes it, somewhat incidentally to the main subject in there.

However, without that patch, the alternative way of expressing it:

"--left-right --ancestry path F E --not $(git merge-base --all F E)"

should still work. Unless --left-right is magic for "..."? If it is, then my patch is more significant than I thought.

My series will also be better at optimising away D too, through a combination of my and Junio's efforts. Try it out.

On this subject, is there any way to exclude a path from a log query? Is there a "not" operator for paths? Might be another way of doing this - disjoint histories probably have disjoint paths...

Kevin

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to