Merge branch 'sk/test-cmp-bin'
[gitweb.git] / t / t1507-rev-parse-upstream.sh
index cace1ca4ad4ed78cf2c00076332904ac76c42e28..1978947c4196fb666d55395bedc53ae149b6d13d 100755 (executable)
@@ -17,6 +17,9 @@ test_expect_success 'setup' '
         test_commit 4 &&
         git branch --track my-side origin/side &&
         git branch --track local-master master &&
+        git branch --track fun@ny origin/side &&
+        git branch --track @funny origin/side &&
+        git branch --track funny@ origin/side &&
         git remote add -t master master-only .. &&
         git fetch master-only &&
         git branch bad-upstream &&
@@ -54,6 +57,24 @@ test_expect_success 'my-side@{upstream} resolves to correct full name' '
        test refs/remotes/origin/side = "$(full_name my-side@{u})"
 '
 
+test_expect_success 'upstream of branch with @ in middle' '
+       full_name fun@ny@{u} >actual &&
+       echo refs/remotes/origin/side >expect &&
+       test_cmp expect actual
+'
+
+test_expect_success 'upstream of branch with @ at start' '
+       full_name @funny@{u} >actual &&
+       echo refs/remotes/origin/side >expect &&
+       test_cmp expect actual
+'
+
+test_expect_success 'upstream of branch with @ at end' '
+       full_name funny@@{u} >actual &&
+       echo refs/remotes/origin/side >expect &&
+       test_cmp expect actual
+'
+
 test_expect_success 'refs/heads/my-side@{upstream} does not resolve to my-side{upstream}' '
        test_must_fail full_name refs/heads/my-side@{upstream}
 '
@@ -100,7 +121,7 @@ test_expect_success 'merge my-side@{u} records the correct name' '
        git branch -D new ;# can fail but is ok
        git branch -t new my-side@{u} &&
        git merge -s ours new@{u} &&
-       git show -s --pretty=format:%s >actual &&
+       git show -s --pretty=tformat:%s >actual &&
        echo "Merge remote-tracking branch ${sq}origin/side${sq}" >expect &&
        test_cmp expect actual
 )