git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2] branch: die when setting branch as own upstream

From
Brian Gesiak <modocache@gmail.com>
Date
Mar 1, 2014, 12:19 UTC
Message-ID
<1393676356-67203-1-git-send-email-modocache@gmail.com>
In-Reply-To
<vpqa9db1e0l.fsf@anie.imag.fr>
From: modocache <modocache@gmail.com>

Branch set as own upstream using one of the following commands returns immediately with an exit code of 0:

- `git branch --set-upstream-to foo refs/heads/foo`
- `git branch --force --track foo foo`

Since neither of these actions currently set the upstream, an exit code of 0 is misleading. Instead, exit with a status code indicating failure by using the die function.

Signed-off-by: Brian Gesiak <modocache@gmail.com>
---
 branch.c          | 9 ++-------
 t/t3200-branch.sh | 6 +++---
 2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/branch.c b/branch.c
index e163f3c..9bac8b5 100644
--- a/branch.c
+++ b/branch.c
@@ -54,13 +54,8 @@ void install_branch_config(int flag, const char *local, const char *origin, cons
 	struct strbuf key = STRBUF_INIT;
 	int rebasing = should_setup_rebase(origin);
 
-	if (shortname
-	    && !strcmp(local, shortname)
-	    && !origin) {
-		warning(_("Not setting branch %s as its own upstream."),
-			local);
-		return;
-	}
+	if (shortname && !strcmp(local, shortname) && !origin)
+		die(_("Not setting branch %s as its own upstream."), local);
 
 	strbuf_addf(&key, "branch.%s.remote", local);
 	git_config_set(key.buf, origin ? origin : ".");
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index 6164126..3ac493f 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -507,10 +507,10 @@ EOF
 	test_cmp expected actual
 '
 
-test_expect_success '--set-upstream-to shows warning if used to set branch as own upstream' '
-	git branch --set-upstream-to refs/heads/my13 my13 2>actual &&
+test_expect_success '--set-upstream-to fails if used to set branch as own upstream' '
+	test_must_fail git branch --set-upstream-to refs/heads/my13 my13 2>actual &&
 	cat >expected <<EOF &&
-warning: Not setting branch my13 as its own upstream.
+fatal: Not setting branch my13 as its own upstream.
 EOF
 	test_i18ncmp expected actual
 '
-- 
1.8.3.4 (Apple Git-47)
Previous: Matthieu MoyNext: Brian Gesiak
Message 19 of 22 in “t3200-branch: test setting branch as own upstream”
  1. 1/2 t3200-branch: test setting branch as own upstreamBrian Gesiak, Feb 28, 2014
  2. 2/2 branch: use skip_prefixBrian Gesiak, Feb 28, 2014
  3. Jeff KingFeb 28, 2014
  4. Junio C HamanoMar 3, 2014
  5. Jeff KingFeb 28, 2014
  6. Brian GesiakFeb 28, 2014
  7. Jeff KingFeb 28, 2014
  8. brian m. carlsonFeb 28, 2014
  9. Johannes SixtFeb 28, 2014
  10. Jeff KingFeb 28, 2014
  11. Jeff KingFeb 28, 2014
  12. Brian GesiakFeb 28, 2014
  13. Jeff KingFeb 28, 2014
  14. Brian GesiakFeb 28, 2014
  15. Jeff KingFeb 28, 2014
  16. Brian GesiakFeb 28, 2014
  17. Jeff KingFeb 28, 2014
  18. Matthieu MoyFeb 28, 2014
  19. branch: die when setting branch as own upstreamBrian Gesiak, Mar 1, 2014
  20. 3/3 branch: die when setting branch as own upstreamBrian Gesiak, Mar 1, 2014
  21. Brian GesiakMar 1, 2014
  22. Johannes SixtFeb 28, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.