All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zbigniew Jędrzejewski-Szmek" <zbyszek@in.waw.pl>
To: git@vger.kernel.org, gitster@pobox.com
Cc: "Zbigniew Jędrzejewski-Szmek" <zbyszek@in.waw.pl>
Subject: [PATCH 1/5] t1507: add additional tests for @{upstream}
Date: Wed, 11 Apr 2012 18:17:11 +0200	[thread overview]
Message-ID: <1334161035-26355-2-git-send-email-zbyszek@in.waw.pl> (raw)
In-Reply-To: <1334161035-26355-1-git-send-email-zbyszek@in.waw.pl>

- test branch@{u} with . as remote
- check error message for branch@{u} on a branch with
  * no upstream,
  * on a branch with a configured upstream, but when a branch is not
    in remote.<remote>.fetch
- check error message for branch@{u} when branch 'branch' does not
  exist
- check error message for @{u} without the branch name

Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
---
 t/t1507-rev-parse-upstream.sh | 82 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 79 insertions(+), 3 deletions(-)

diff --git a/t/t1507-rev-parse-upstream.sh b/t/t1507-rev-parse-upstream.sh
index a455551..1342915 100755
--- a/t/t1507-rev-parse-upstream.sh
+++ b/t/t1507-rev-parse-upstream.sh
@@ -15,10 +15,18 @@ test_expect_success 'setup' '
 	test_commit 3 &&
 	(cd clone &&
 	 test_commit 4 &&
-	 git branch --track my-side origin/side)
-
+	 git branch --track my-side origin/side &&
+	 git branch --track local-master master &&
+	 git remote add -t master master-only .. &&
+	 git fetch master-only &&
+	 git branch bad-upstream &&
+	 git config branch.bad-upstream.remote master-only &&
+	 git config branch.bad-upstream.merge refs/heads/side
+	)
 '
 
+sq="'"
+
 full_name () {
 	(cd clone &&
 	 git rev-parse --symbolic-full-name "$@")
@@ -29,6 +37,11 @@ commit_subject () {
 	 git show -s --pretty=format:%s "$@")
 }
 
+error_message () {
+	(cd clone &&
+	 test_must_fail git rev-parse --verify "$@")
+}
+
 test_expect_success '@{upstream} resolves to correct full name' '
 	test refs/remotes/origin/master = "$(full_name @{upstream})"
 '
@@ -78,7 +91,6 @@ test_expect_success 'checkout -b new my-side@{u} forks from the same' '
 
 test_expect_success 'merge my-side@{u} records the correct name' '
 (
-	sq="'\''" &&
 	cd clone || exit
 	git checkout master || exit
 	git branch -D new ;# can fail but is ok
@@ -107,6 +119,70 @@ test_expect_success 'checkout other@{u}' '
 	test_cmp expect actual
 '
 
+test_expect_success 'branch@{u} works when tracking a local branch' '
+	test refs/heads/master = "$(full_name local-master@{u})"
+'
+
+test_expect_success 'branch@{u} error message when no upstream' '
+	cat >expect <<-EOF &&
+	error: No upstream branch found for ${sq}non-tracking${sq}
+	fatal: Needed a single revision
+	EOF
+	(cd clone &&
+	 test_must_fail git rev-parse --verify non-tracking@{u}) 2>actual &&
+	test_cmp expect actual
+'
+
+test_expect_success '@{u} error message when no upstream' '
+	cat >expect <<-EOF &&
+	error: No upstream branch found for ${sq}${sq}
+	fatal: Needed a single revision
+	EOF
+	test_must_fail git rev-parse --verify @{u} 2>actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'branch@{u} error message with misspelt branch' '
+	cat >expect <<-EOF &&
+	error: No upstream branch found for ${sq}no-such-branch${sq}
+	fatal: Needed a single revision
+	EOF
+	error_message no-such-branch@{u} 2>actual &&
+	test_cmp expect actual
+'
+
+test_expect_success '@{u} error message when not on a branch' '
+	cat >expect <<-EOF &&
+	error: No upstream branch found for ${sq}${sq}
+	fatal: Needed a single revision
+	EOF
+	git checkout HEAD^0 &&
+	test_must_fail git rev-parse --verify @{u} 2>actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'branch@{u} error message if upstream branch not fetched' '
+	cat >expect <<-EOF &&
+	error: No upstream branch found for ${sq}bad-upstream${sq}
+	fatal: Needed a single revision
+	EOF
+	error_message bad-upstream@{u} 2>actual &&
+	test_cmp expect actual
+'
+
+test_expect_success 'pull works when tracking a local branch' '
+(
+	cd clone &&
+	git checkout local-master &&
+	git pull
+)
+'
+
+# makes sense if the previous one succeeded
+test_expect_success '@{u} works when tracking a local branch' '
+	test refs/heads/master = "$(full_name @{u})"
+'
+
 cat >expect <<EOF
 commit 8f489d01d0cc65c3b0f09504ec50b5ed02a70bd5
 Reflog: master@{0} (C O Mitter <committer@example.com>)
-- 
1.7.10.344.g387ed

  reply	other threads:[~2012-04-11 16:17 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-11 16:17 [PATCH 0/5] provide better error messages for @{upstream} Zbigniew Jędrzejewski-Szmek
2012-04-11 16:17 ` Zbigniew Jędrzejewski-Szmek [this message]
2012-04-11 17:52   ` [PATCH 1/5] t1507: add additional tests " Junio C Hamano
2012-04-11 17:57     ` Junio C Hamano
2012-04-11 21:51       ` Zbigniew Jędrzejewski-Szmek
2012-04-11 17:59     ` Matthieu Moy
2012-04-11 22:05       ` Zbigniew Jędrzejewski-Szmek
2012-04-11 16:17 ` [PATCH 2/5] Provide branch name in error message when using @{u} Zbigniew Jędrzejewski-Szmek
2012-04-11 18:00   ` Junio C Hamano
2012-04-11 22:13     ` Zbigniew Jędrzejewski-Szmek
2012-04-11 16:17 ` [PATCH 3/5] Provide better message for barnhc_wiht_tpyo@{u} Zbigniew Jędrzejewski-Szmek
2012-04-11 16:17 ` [PATCH 4/5] Be more specific if upstream branch is not fetched Zbigniew Jędrzejewski-Szmek
2012-04-12  5:30   ` Jeff King
2012-04-12  9:15     ` Zbigniew Jędrzejewski-Szmek
2012-04-12 15:15       ` Junio C Hamano
2012-04-12 20:40         ` Jeff King
2012-04-14  7:54           ` [PATCH v2 0/5] provide better error messages for @{upstream} Zbigniew Jędrzejewski-Szmek
2012-04-14  7:54             ` [PATCH v2 1/5] t1507: add tests to document @{upstream} behaviour Zbigniew Jędrzejewski-Szmek
2012-04-14  7:54             ` [PATCH v2 2/5] Provide branch name in error message when using @{u} Zbigniew Jędrzejewski-Szmek
2012-04-14  7:54             ` [PATCH v2 3/5] Provide better message for barnhc_wiht_tpyo@{u} Zbigniew Jędrzejewski-Szmek
2012-04-14  7:54             ` [PATCH v2 4/5] Be more specific if upstream branch is not tracked Zbigniew Jędrzejewski-Szmek
2012-04-14  7:54             ` [PATCH v2 5/5] i18n: mark @{upstream} error messages for translation Zbigniew Jędrzejewski-Szmek
2012-04-14  8:09             ` [PATCH v2 0/5] provide better error messages for @{upstream} Jeff King
2012-04-11 16:17 ` [PATCH 5/5] i18n: mark @{upstream} error messages for translation Zbigniew Jędrzejewski-Szmek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1334161035-26355-2-git-send-email-zbyszek@in.waw.pl \
    --to=zbyszek@in.waw.pl \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.