I'd like my releases to have major.minor.patch version number. While increments of major.minor are something one has to do manually, I don't want to do that for patch. So I was thinking of having a VERSION file in the repo containing major.minor and then calculate patch at the given commit C automatically as the length of the longest path starting at C in the subgraph containing only commits in which VERSION is the same as C's. I can do that pretty easily right now by * identifying commits in which VERSION changes with `git log -- VERSION` and then * walking the graph in topo order with `git log --format=format:"%H %P"`. The latter step can terminate early, so it doesn't have to walk the entire repo, but the latter walks everything and can be quite slow. Is there a more efficient way to do this? If not, would there be an interest in a new builtin (git-depth?) that would calculate the value? -- Martin