git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frans Pop <elendil@planet.nl>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: Testing if a certain commit is in the current branch
Date: Wed, 27 Jan 2010 09:36:14 +0100	[thread overview]
Message-ID: <201001270936.14935.elendil@planet.nl> (raw)
In-Reply-To: <7viqaorowo.fsf@alter.siamese.dyndns.org>

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.)

> 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

  reply	other threads:[~2010-01-27  8:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-27  7:19 Testing if a certain commit is in the current branch Frans Pop
2010-01-27  7:24 ` Junio C Hamano
2010-01-27  8:36   ` Frans Pop [this message]
2010-01-27 10:19     ` Jonathan Nieder
2010-01-27 13:26       ` Frans Pop
2010-01-27 15:15         ` Dale Farnsworth
2010-01-27 15:39           ` Frans Pop
2010-01-27 15:08     ` Petr Baudis
2010-01-27 15:27       ` Frans Pop
2010-01-27  8:26 ` Matthieu Moy
2010-01-27  8:47   ` Frans Pop
2010-01-27  8:56 ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201001270936.14935.elendil@planet.nl \
    --to=elendil@planet.nl \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).