qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: Laszlo Ersek <lersek@redhat.com>, Jeff Cody <jcody@redhat.com>
Cc: kwolf@redhat.com, blauwirbel@gmail.com,
	alex.williamson@redhat.com, qemu-devel@nongnu.org,
	stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH] script: git script to compile every commit in a range of commits
Date: Fri, 07 Jun 2013 11:51:36 -0500	[thread overview]
Message-ID: <87y5al27af.fsf@codemonkey.ws> (raw)
In-Reply-To: <51B1FED9.2050000@redhat.com>

Laszlo Ersek <lersek@redhat.com> writes:

> On 06/07/13 16:44, Jeff Cody wrote:
>
>> Thanks.  I can either do the above changes for a v2, or as follow on
>> patches.
>
> Whichever is easier for you, certainly! I'm fine with the script
> going-in as is.

A suggestion I'll make is to split the script into two parts.
git-bisect run is a terribly useful command and I use a bisect script
that looks like this:

    #!/bin/sh

    set -e

    pushd ~/build/qemu
    make -j1 || exit 1
    popd

    # Add right seed here
    if test "$1"; then
        "$@"
    fi

I'm sure we all have bisect scripts like this.

What you're proposing is very similar to bisect but instead of doing a
binary search, it does a linear search starting from the oldest commit.
Basically:

    #!/bin/sh

    refspec="$1"
    shift

    git rev-list $refspec | while read commit; do
        git checkout $commit
        "$@" || exit $?
    done

And indeed, I have a local script called git-foreach to do exactly
this.  I suspect a nicer version would make a very good addition to the
git project.

So to bisect for a make check failure, I do:

  git bisect run bisect.sh make check

Or to bisect for a qemu-test failure:

  git bisect run bisect.sh qemu-test-regress.sh

With git-foreach, you can do:

  git-foreach bisect.sh

To do a simple build test.  Or you can do:

  git-foreach git show checkpatch-head.sh

etc.

Regards,

Anthony Liguori

>
> Cheers,
> Laszlo

  reply	other threads:[~2013-06-07 16:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-31 16:39 [Qemu-devel] [PATCH] script: git script to compile every commit in a range of commits Jeff Cody
2013-06-06  8:58 ` Laszlo Ersek
2013-06-07 14:44   ` Jeff Cody
2013-06-07 15:40     ` Laszlo Ersek
2013-06-07 16:51       ` Anthony Liguori [this message]
2013-06-07 20:30         ` Jeff Cody
2013-06-10  9:41           ` Peter Crosthwaite
2013-06-07 16:36 ` Peter Crosthwaite
2013-06-07 19:13   ` Jeff Cody

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=87y5al27af.fsf@codemonkey.ws \
    --to=aliguori@us.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=jcody@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lersek@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.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).