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

3 messages from 2009-03-01 to 2009-03-02. Participants: Johannes Sixt, Junio C Hamano.
Thread: https://gitlist.dev/t/18077

## Johannes Sixt, 2009-03-01 10:20

Subject: [PATCH 1/3] t3400-rebase: Move detached HEAD check earlier
Message-ID: <1235902803-32528-1-git-send-email-j6t@kdbg.org>
URL: https://gitlist.dev/e/1235902803-32528-1-git-send-email-j6t%40kdbg.org

```
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(-)

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

```

## Johannes Sixt, 2009-03-01 11:21

Subject: Re: [PATCH 1/3] t3400-rebase: Move detached HEAD check earlier
Message-ID: <200903011221.23615.j6t@kdbg.org>
URL: https://gitlist.dev/e/200903011221.23615.j6t%40kdbg.org
In-Reply-To: <1235902803-32528-1-git-send-email-j6t@kdbg.org>

```
Hmpf. There won't be 2/3 or 3/3 today :-(

I've set format.numbered to false now.

-- Hannes

```

## Junio C Hamano, 2009-03-02 08:03

Subject: Re: [PATCH 1/3] t3400-rebase: Move detached HEAD check earlier
Message-ID: <7vmyc45p2w.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vmyc45p2w.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <1235902803-32528-1-git-send-email-j6t@kdbg.org>

```
Johannes Sixt <j6t@kdbg.org> writes:

> 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.

```
