All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Kevin Ballard <kevin@sb.org>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
	Yann Dirson <dirson@bertin.fr>, Eric Raible <raible@nextest.com>
Subject: Re: [PATCHv3] git-rebase--interactive.sh: extend "edit" command to be more useful
Date: Fri, 3 Dec 2010 02:06:03 -0600	[thread overview]
Message-ID: <20101203080603.GC18202@burratino> (raw)
In-Reply-To: <1290629960-60917-1-git-send-email-kevin@sb.org>

Hi,

Kevin Ballard wrote:

> [Subject: [PATCHv3] git-rebase--interactive.sh: extend "edit" command to be more useful

Maybe something like

	rebase-i: treat "edit" without sha1 as a request to amend previous commit

would make the meaning more obvious in a shortlog.

> Extend the "edit" command to simply stop for editing if no sha1 is
> given or if the sha1 is equal to "-". This behaves the same as "x false"
> but is a bit friendlier for the user.

Nice.  I like the semantics.

> * Picked up the extended explanation suggested by Jonathan Nieder.
>   I left off the last line about "noop" as that doesn't seem related.

Right, please feel free to remind me if I forget to pick that up again.

> * If the line given is "edit - some comments", emit "some comments" when
>   stopped. This is undocumented

I think that's okay for now (though of course it would be best to explain
some example uses in Documentation/git-rebase.txt in the form of examples).

> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -469,12 +469,29 @@ do_next () {
> +			comment="$rest"
> +			line=$(git rev-list --pretty=oneline -1 --abbrev-commit --abbrev=7 HEAD)

Hmm, the script seems to assume rev-list will not fail throughout.  :/
Ok.

> +			sha1="${line%% *}"
> +			rest="${line#* }"
> +			echo "$sha1" > "$DOTEST"/stopped-sha

Maybe this can be done without relying on details of --pretty=oneline
format?

			sha1=$(git rev-parse --short HEAD)
			rest=$(git show -s --format=%s HEAD)

(Yes, elsewhere the script uses

	git rev-list --no-merges --pretty=oneline --abbrev-commit \
		--abbrev=7 --reverse --left-right --topo-order "$@" |
	sed -n "s/^>//p" |
	while read -r shortsha1 rest

but in that loop, avoiding an extra exec seems more important.)

> +		fi
>  		git rev-parse --verify HEAD > "$AMEND"
>  		warn "Stopped at $sha1... $rest"
> +		if test -n "$comment"; then
> +			warn
> +			warn "	$comment"
> +			warn

Thanks, looks good to me.

Ideas for tests?  (see t3404 for inspiration)

  reply	other threads:[~2010-12-03  8:06 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-04  5:17 [PATCH] git-rebase--interactive.sh: Add new command "shell" Kevin Ballard
2010-11-04  5:22 ` Kevin Ballard
2010-11-04  8:42 ` Matthieu Moy
2010-11-04  8:53   ` Kevin Ballard
2010-11-04  9:23     ` Ævar Arnfjörð Bjarmason
2010-11-04  9:25       ` Kevin Ballard
2010-11-04  9:27         ` Ævar Arnfjörð Bjarmason
2010-11-04 10:24     ` Johannes Sixt
2010-11-04  9:36 ` Erik Faye-Lund
2010-11-04  9:43   ` Kevin Ballard
2010-11-04 10:25     ` Yann Dirson
2010-11-04 10:40       ` Erik Faye-Lund
2010-11-04 17:04       ` Eric Raible
2010-11-04 17:34         ` Matthieu Moy
2010-11-04 17:43           ` Eric Raible
2010-11-04 18:10           ` Jonathan Nieder
2010-11-04 20:53             ` Yann Dirson
2010-11-04 21:05               ` Eric Raible
2010-11-04 22:01                 ` [PATCHv2] git-rebase--interactive.sh: extend "edit" command to be more useful Kevin Ballard
2010-11-04 21:33               ` [PATCH] git-rebase--interactive.sh: Add new command "shell" Kevin Ballard
2010-11-05  7:33               ` Johannes Sixt
2010-11-05  8:39                 ` Kevin Ballard
2010-11-08 18:31               ` Junio C Hamano
2010-11-08 21:49                 ` Kevin Ballard
2010-11-08 22:29                   ` Yann Dirson
2010-11-10  1:42                     ` Jonathan Nieder
2010-11-10  1:46                       ` Kevin Ballard
2010-11-10  1:56                         ` Jonathan Nieder
2010-11-10  7:43                       ` Yann Dirson
2010-11-10 16:00                         ` Matthieu Moy
2010-11-10  1:53                 ` Jonathan Nieder
2010-11-10  2:14                   ` Kevin Ballard
2010-11-24 20:19                   ` [PATCHv3] git-rebase--interactive.sh: extend "edit" command to be more useful Kevin Ballard
2010-12-03  8:06                     ` Jonathan Nieder [this message]
2010-12-03  8:16                       ` Kevin Ballard
2010-12-03  8:55                         ` Jonathan Nieder
2010-12-03  9:55                       ` Johannes Sixt
2010-12-03 10:00                         ` Jonathan Nieder
2010-12-03 10:14                           ` Kevin Ballard

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=20101203080603.GC18202@burratino \
    --to=jrnieder@gmail.com \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=dirson@bertin.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=kevin@sb.org \
    --cc=raible@nextest.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 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.