Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html