Nguyễn Thái Ngọc Duy <pclo...@gmail.com> writes:

> I find myself often do "git rebase -i xxx" and replace one "pick" line
> with "edit" to amend just one commit when I see something I don't like
> in that commit. This happens often while cleaning up a series. This
> automates the "replace" step so it sends me straight to that commit.

Sounds a good idea to me.

>  git-rebase--interactive.sh | 17 ++++++++++++++---
>  git-rebase.sh              | 10 ++++++++++

(obviously, don't forget doc and test if this becomes a non-RFC)

>  has_action "$todo" ||
>       die_abort "Nothing to do"
> diff --git a/git-rebase.sh b/git-rebase.sh
> index 1cf8dba..98796cc 100755
> --- a/git-rebase.sh
> +++ b/git-rebase.sh
> @@ -31,6 +31,7 @@ verify             allow pre-rebase hook to run
>  rerere-autoupdate  allow rerere to update index with resolved conflicts
>  root!              rebase all reachable commits up to the root(s)
>  autosquash         move commits that begin with squash!/fixup! under -i
> +1,edit-one!        generate todo list to edit this commit
>  committer-date-is-author-date! passed to 'git am'
>  ignore-date!       passed to 'git am'
>  whitespace=!       passed to 'git apply'
> @@ -249,6 +250,10 @@ do
>       -i)
>               interactive_rebase=explicit
>               ;;
> +     -1)
> +             interactive_rebase=explicit
> +             edit_one=t
> +             ;;
>       -k)
>               keep_empty=yes
>               ;;
> @@ -450,6 +455,11 @@ then
>               ;;
>       *)      upstream_name="$1"
>               shift
> +             if test -n "$edit_one"
> +             then
> +                     edit_one="$upstream_name"
> +                     upstream_name="$upstream_name^"
> +             fi
>               ;;

I think you forgot the case where the user specified -1 but no extra
argument (i.e. use the default to upstream branch). Shouldn't the added
code be after the esac?

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to