threads / patch / 18077

patch, 3 partst3400-rebase: Move detached HEAD check earlier

Subject: [PATCH 1/3] t3400-rebase: Move detached HEAD check earlier

## tl;dr

3 messages between Mar 1, 2009 and Mar 2, 2009. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Johannes Sixt· Mar 1, 2009, 10:20 UTC · lore

Short story: There is a section in t3400 that tests fundamental rebase properties. 3ec7371f (Add two extra tests for git rebase, 2009-02-09) added a check that rebase works on a detached HEAD, but the test was put near the end of the file. This moves it to a more suitable place.

Long story: The test that preceded the one in question tests that a rebased commit degrades from a content change with mode change to a mere mode change. But on Windows, where we have core.filemode=false, the original commit did not record the mode change, and so the rebase operation did not rebase anything. This caused the subsequent detached HEAD test to fail.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
 t/t3400-rebase.sh |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
Show changes to t/t3400-rebase.sh +4 −4
diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
index 8c0c5f5..be7ae5a 100755
--- a/t/t3400-rebase.sh
+++ b/t/t3400-rebase.sh
@@ -48,6 +48,10 @@ test_expect_success \
     'the rebase operation should not have destroyed author information' \
     '! (git log | grep "Author:" | grep "<>")'
 
+test_expect_success 'HEAD was detached during rebase' '
+     test $(git rev-parse HEAD@{1}) != $(git rev-parse my-topic-branch@{1})
+'
+
 test_expect_success 'rebase after merge master' '
      git reset --hard topic &&
      git merge master &&
@@ -85,10 +89,6 @@ test_expect_success 'rebase a single mode change' '
      GIT_TRACE=1 git rebase master
 '
 
-test_expect_success 'HEAD was detached during rebase' '
-     test $(git rev-parse HEAD@{1}) != $(git rev-parse modechange@{1})
-'
-
 test_expect_success 'Show verbose error when HEAD could not be detached' '
      : > B &&
      test_must_fail git rebase topic 2> output.err > output.out &&
-- 
1.6.2.rc1.27.g29e57
Junio C Hamano· Mar 2, 2009, 08:03 UTC · re: Johannes Sixt · lore

Re: [PATCH 1/3] t3400-rebase: Move detached HEAD check earlier

Johannes Sixt <j6t@kdbg.org> writes:
Show 6 quoted lines
> Long story: The test that preceded the one in question tests that a
> rebased commit degrades from a content change with mode change to a
> mere mode change.  But on Windows, where we have core.filemode=false,
> the original commit did not record the mode change, and so the rebase
> operation did not rebase anything.  This caused the subsequent detached
> HEAD test to fail.
Thanks.

I'll apply it as is since it is very close to the real release, but I think a more suitable fix would be to make tests less dependent on the outcome of earlier tests.

← back to recent threads