Re: Testing if a certain commit is in the current branch
- From
Petr Baudis <pasky@suse.cz>
- Date
- Jan 27, 2010, 15:08 UTC
- Message-ID
- <20100127150834.GG9553@machine.or.cz>
- In-Reply-To
- <201001270936.14935.elendil@planet.nl>
On Wed, Jan 27, 2010 at 09:36:14AM +0100, Frans Pop wrote:
Show 14 quoted lines
> On Wednesday 27 January 2010, Junio C Hamano wrote: > > Frans Pop <elendil@planet.nl> 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.)
Isn't something very wrong if grepping the log output is faster than simple merge-base call? Can you post exact numbers?
Petr "Pasky" Baudis