All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
To: <dag@cray.com>
Cc: Antonio Ospite <ospite@studenti.unina.it>, <git@vger.kernel.org>
Subject: Re: Feature idea: git rebase --exec $CMD
Date: Wed, 23 May 2012 17:41:09 +0200	[thread overview]
Message-ID: <vpqd35udhwq.fsf@bauges.imag.fr> (raw)
In-Reply-To: <nngfwar3p9z.fsf@transit.us.cray.com> (dag@cray.com's message of "Wed, 23 May 2012 10:12:08 -0500")

<dag@cray.com> writes:

> Antonio Ospite <ospite@studenti.unina.it> writes:
>
>> I find the x/exec function in "git rebase -i" very useful, but it may
>> be tedious to edit the commit list to add something like "make test"
>> after each commit.
>
> I've taken a more general approach inspired by
> run-command-on-git-revisions at
> https://github.com/garybernhardt/dotfiles/tree/master/bin
>
> I took that and turned it into a git-run-command subcommand.  It will
> take an arbitrary command and run it on each revision specified by a
> revlist.

That's sensible too. The nice things with running commands in "git
rebase" are:

* It's likely to be the place where you want to run some tests. The
  typical use-case is that you have a patch serie whose last revision
  passes tests, and you want to check that intermediate commits also do.
  At that point, you probably want to rebase against upstream too, to
  make sure you're developping against the latest revision, before
  sening a patch serie or pushing.

* if the "exec" command fails, you're likely to be exactly in the right
  place to fix it: fix the bug, run "git commit --amend", and "git
  rebase --continue".

The nice thing with your approach (as I understand it) is that it
doesn't require rewritting history, and may apply to all commits in
non-linear history.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

  reply	other threads:[~2012-05-23 15:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-05 11:26 Feature idea: git rebase --exec $CMD Antonio Ospite
2012-05-05 11:54 ` Felipe Contreras
2012-05-06 10:03 ` Matthieu Moy
2012-05-06 10:44   ` Antonio Ospite
2012-05-06 12:26   ` Jeff King
2012-05-10  8:28 ` Matthieu Moy
2012-05-23 15:12 ` dag
2012-05-23 15:41   ` Matthieu Moy [this message]
2012-05-23 15:50     ` dag

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=vpqd35udhwq.fsf@bauges.imag.fr \
    --to=matthieu.moy@grenoble-inp.fr \
    --cc=dag@cray.com \
    --cc=git@vger.kernel.org \
    --cc=ospite@studenti.unina.it \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.