Mihai Rusu [off-list ref] writes:
I have found a possible bug in Git. When running "git rebase"
(non-interactively, ie not "git rebase -i") on code that would
conflict on the last commit that is being rebased and if that last
commit is being skipped (git rebase --skip) then after the rebase is
done the "post-rewrite" hook is not called by "git rebase". If I get a
conflict and "git rebase --skip" any other commit or if I use "git
rebase -i" and "git rebase --skip" the last commit when it conflicts
then it calls post-rewrite just fine. Because this hook is normally
called only once, at the end of a non-aborted rebase the fact that
"git rebase" does not call it when the last commit conflicts and is
skipped means the script is not called at all for that rebase
operation thus breaking the code that depends on it.
Please advise, thank you.
Perhaps this? Totally untested...
git-am.sh | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/git-am.sh b/git-am.sh
index cf1f64b..6cdd591 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -577,13 +577,6 @@ then
resume=
fi
-if test "$this" -gt "$last"
-then
- say Nothing to do.
- rm -fr "$dotest"
- exit
-fi
-
while test "$this" -le "$last"
do
msgnum=`printf "%0${prec}d" $this`