Code

Avoid update hook during git-rebase --interactive
authorShawn O. Pearce <spearce@spearce.org>
Wed, 19 Dec 2007 06:41:26 +0000 (01:41 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Dec 2007 01:15:38 +0000 (17:15 -0800)
If we are rebasing changes that contain potential whitespace
errors that our .git/hooks/pre-commit hook looks for and fails
on then git-commit will fail to commit that change.  This causes
git-rebase--interactive to squash commits together, even though it
was not requested to do so by the todo file.

Passing --no-verify to git-commit makes git-rebase -i behave more
like git-rebase normally would in such conditions, providing more
consistent behavior between the different rebase implementations.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh

index 7153ac7877118854bcf4588ad75d81686bab8ad7..fa9c11f1736b27d58ffed84be693b80b7f21465d 100755 (executable)
@@ -296,7 +296,7 @@ do_next () {
                        GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \
                        GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \
                        GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \
-                       $USE_OUTPUT git commit -F "$MSG" $EDIT_COMMIT
+                       $USE_OUTPUT git commit --no-verify -F "$MSG" $EDIT_COMMIT
                        ;;
                t)
                        cp "$MSG" "$GIT_DIR"/MERGE_MSG
@@ -372,7 +372,7 @@ do
                        test ! -f "$DOTEST"/amend || git reset --soft HEAD^
                } &&
                export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE &&
-               git commit -F "$DOTEST"/message -e
+               git commit --no-verify -F "$DOTEST"/message -e
 
                require_clean_work_tree
                do_rest