While I really do not think this belongs to rev-list, I suspect what you want is a command that takes a set of commits you are interested in and gives you an abbreviated topology across them.
I was thinking at an extension of git-rev-list because 1) Current git-rev-list options are quite orthogonal with rev limiter. As example in previous given examples -n and --parents options are used and I think more could be used with interesting results. Current git-rev-list options are a lot and are very powerful, it's a pity if this new feature do not inherit them. 2) This feature could be seen as a generalization of path limiting.
From today:
git-rev-list HEAD -- <path 1> <path 2> ... <path n> To possible: git-rev-list HEAD -- <obj 1> <obj 2> ... <obj n> Where obj == <path> || obj == <commit sha> || obj == <something else I didn't think of> Of course we need a (syntactic) way to disambiguate the arguments after '--' but the results are very powerful and general, as example we could mix commit objects _and_ paths in git-rev-list command line (git-rev-list HEAD -- foo.c tag1) and also be able to use the full set of git-rev-list options before the '--' Marco - : 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