On Fri, 10 Mar 2006, Paul Mackerras wrote: > > It would be nice also to be able to combine that with the existing > ability to output a dense graph containing the commits that modify a > specified set of files or directories. > > In other words, I would like to be able to select any combination of > (a) some explicitly specified commits > (b) commits that have a reference > (c) commits that affect specified files or directories > > and have git-rev-list output a graph that shows the relationship of > those commits. > > Possible? Yeah. I _think_ what you want is - phase 1: generate the current graph that we already do for git-rev-list --all ^cmit - phase 2: start at "cmit", and mark everything that refers to it as "show me" (including "cmit" itself, which was originally marked uninteresting) So phase 1 already exists and was the hard part. phase 2 is just walking the graph (that is now all in memory) from "cmit" using the "object->refs" reverse references that got built up during phase 1. The only question is how to show the ref-names, or, more properly, what to do when we have a ref-name, but the commit it points to wasn't interesting because it didn't change the set of files we used to determine interest... And where to find the sucker^H^H^H^H^H^Hhelpful soul to actually do the work. Linus - : 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