From: Brian Gesiak Date: Sat, 01 Mar 2014 12:23:44 GMT Subject: [PATCH 3/3] branch: die when setting branch as own upstream Message-ID: <1393676624-67687-1-git-send-email-modocache@gmail.com> In-Reply-To: <1393676356-67203-1-git-send-email-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 --- 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 <