On Wednesday 27 January 2010, Junio C Hamano wrote: > Frans Pop <elendil@xxxxxxxxx> writes: > > I'm currently using the following command for this: > > git log --pretty=format:%H | grep -q "^<commit id>" > > > > Problem is that with large repos that can be quite slow. > > > > Is there a faster way to do the test? > > test "$(git merge-base HEAD $commit)" = "$(git rev-parse $commit)" Great! If the commit ID is not present that only takes 1 sec versus 11 secs for my test. (If the commit _is_ present and fairly recent my test can be faster, but 11 secs delay when it's not present hurts more.) > But this is a literal answer that could be a less than optimal solution > if you are having an XY problem. The use case is a wrapper script for kernel builds in which some variation are needed (due to changes in the build system) when building older kernels, e.g. during bisections or when building older stable updates. So I test for the presence of commits that introduced relevant changes. Thanks again, FJP -- 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