Merge branch 'jh/maint-do-not-track-non-branches' into maint
authorJunio C Hamano <gitster@pobox.com>
Fri, 1 Apr 2011 23:20:45 +0000 (16:20 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 1 Apr 2011 23:20:45 +0000 (16:20 -0700)
* jh/maint-do-not-track-non-branches:
branch/checkout --track: Ensure that upstream branch is indeed a branch

1  2 
t/t3200-branch.sh
t/t6040-tracking-info.sh
diff --combined t/t3200-branch.sh
index f308235f5dd28da2c19d91dc63803312aacd2cda,55af032f2e325a0399186097fa3a59690a8a9449..78ce09f9d788203ebea280cc94c8098c9043311f
@@@ -26,17 -26,6 +26,17 @@@ test_expect_success 
       ! test -f .git/refs/heads/--help
  '
  
 +test_expect_success 'branch -h in broken repository' '
 +      mkdir broken &&
 +      (
 +              cd broken &&
 +              git init &&
 +              >.git/refs/heads/master &&
 +              test_expect_code 129 git branch -h >usage 2>&1
 +      ) &&
 +      grep "[Uu]sage" broken/usage
 +'
 +
  test_expect_success \
      'git branch abc should create a branch' \
      'git branch abc && test -f .git/refs/heads/abc'
@@@ -223,6 -212,11 +223,11 @@@ test_expect_success 
      'branch from non-branch HEAD w/--track causes failure' \
      'test_must_fail git branch --track my10 HEAD^'
  
+ test_expect_success \
+     'branch from tag w/--track causes failure' \
+     'git tag foobar &&
+      test_must_fail git branch --track my11 foobar'
  # Keep this test last, as it changes the current branch
  cat >expect <<EOF
  0000000000000000000000000000000000000000 $HEAD $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000    branch: Created from master
@@@ -488,6 -482,15 +493,15 @@@ test_expect_success 'autosetuprebase al
        test "z$(git config branch.myr20.rebase)" = z
  '
  
+ test_expect_success 'autosetuprebase always on detached HEAD' '
+       git config branch.autosetupmerge always &&
+       test_when_finished git checkout master &&
+       git checkout HEAD^0 &&
+       git branch my11 &&
+       test -z "$(git config branch.my11.remote)" &&
+       test -z "$(git config branch.my11.merge)"
+ '
  test_expect_success 'detect misconfigured autosetuprebase (bad value)' '
        git config branch.autosetuprebase garbage &&
        test_must_fail git branch
diff --combined t/t6040-tracking-info.sh
index 1e0447f615c55ecf98ae341553ea60f10a956ae3,10bf3dee3f538b72f4f98d59f180a771b728b996..cb851326425be7a552a0624a5d7483244625a7ed
@@@ -60,7 -60,7 +60,7 @@@ test_expect_success 'checkout' 
  
  test_expect_success 'checkout with local tracked branch' '
        git checkout master &&
 -      git checkout follower >actual
 +      git checkout follower >actual &&
        grep "is ahead of" actual
  '
  
@@@ -74,20 -74,20 +74,20 @@@ test_expect_success 'status' 
        grep "have 1 and 1 different" actual
  '
  
- test_expect_success 'status when tracking lightweight tags' '
+ test_expect_success 'fail to track lightweight tags' '
        git checkout master &&
        git tag light &&
-       git branch --track lighttrack light >actual &&
-       grep "set up to track" actual &&
-       git checkout lighttrack
+       test_must_fail git branch --track lighttrack light >actual &&
+       test_must_fail grep "set up to track" actual &&
+       test_must_fail git checkout lighttrack
  '
  
- test_expect_success 'status when tracking annotated tags' '
+ test_expect_success 'fail to track annotated tags' '
        git checkout master &&
        git tag -m heavy heavy &&
-       git branch --track heavytrack heavy >actual &&
-       grep "set up to track" actual &&
-       git checkout heavytrack
+       test_must_fail git branch --track heavytrack heavy >actual &&
+       test_must_fail grep "set up to track" actual &&
+       test_must_fail git checkout heavytrack
  '
  
  test_expect_success 'setup tracking with branch --set-upstream on existing branch' '