Code

Add test for rebase -i with commits that do not pass pre-commit
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Mon, 28 Jan 2008 16:33:28 +0000 (16:33 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Jan 2008 19:04:00 +0000 (11:04 -0800)
This accompanies c5b09feb786f6a2456ec3d8203d0f4d67f09f043 (Avoid
update hook during git-rebase --interactive) to make sure that
any regression to make Debian's Bug#458782 (git-core: git-rebase
doesn't work when trying to squash changes into commits created
with --no-verify) resurface will be caught.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3404-rebase-interactive.sh

index 74a7eb30f84baf2f381c2af7a6c21225bfcd2b08..e33ea4e9f4c33cc1f94cd184c371a8fa05bedf3b 100755 (executable)
@@ -324,4 +324,20 @@ test_expect_success 'rebase a detached HEAD' '
        test $grandparent = $(git rev-parse HEAD~2)
 '
 
+test_expect_success 'rebase a commit violating pre-commit' '
+
+       mkdir -p .git/hooks &&
+       PRE_COMMIT=.git/hooks/pre-commit &&
+       echo "#!/bin/sh" > $PRE_COMMIT &&
+       echo "test -z \"\$(git diff --cached --check)\"" >> $PRE_COMMIT &&
+       chmod a+x $PRE_COMMIT &&
+       echo "monde! " >> file1 &&
+       test_tick &&
+       ! git commit -m doesnt-verify file1 &&
+       git commit -m doesnt-verify --no-verify file1 &&
+       test_tick &&
+       FAKE_LINES=2 git rebase -i HEAD~2
+
+'
+
 test_done