So here's my series for using cached generations with "tag --contains". I already posted some numbers here: http://article.gmane.org/gmane.comp.version-control.git/176807 But to recap, this seems to be about as fast as limiting by timestamp, but without the skew issues. It uses 24 bytes per commit of disk storage for the cache (about 6 megabytes for linux-2.6). If we like this approach, we could do something similar for "branch --contains", and possibly move "name-rev" to use generations instead of timestamps with a timestamp slop. These patches are built on top of ffc4b80 (tag: speed up --contains calculation, 2011-06-11), the first commit from jk/tag-contains-ab. [1/5]: decorate: allow storing values instead of pointers [2/5]: add object-cache infrastructure [3/5]: commit: add commit_generation function [4/5]: pretty: support %G to show the generation number of a commit [5/5]: limit "contains" traversals based on commit generation -Peff -- To unsubscribe from this list: 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