Merge branch 'bg/install-branch-config-skip-prefix'
* bg/install-branch-config-skip-prefix: branch: use skip_prefix() in install_branch_config() t3200-branch: test setting branch as own upstream
This commit is contained in:
commit
9cf0137bdf
18
branch.c
18
branch.c
@ -1,3 +1,4 @@
|
||||
#include "git-compat-util.h"
|
||||
#include "cache.h"
|
||||
#include "branch.h"
|
||||
#include "refs.h"
|
||||
@ -49,12 +50,11 @@ static int should_setup_rebase(const char *origin)
|
||||
|
||||
void install_branch_config(int flag, const char *local, const char *origin, const char *remote)
|
||||
{
|
||||
const char *shortname = remote + 11;
|
||||
int remote_is_branch = starts_with(remote, "refs/heads/");
|
||||
const char *shortname = skip_prefix(remote, "refs/heads/");
|
||||
struct strbuf key = STRBUF_INIT;
|
||||
int rebasing = should_setup_rebase(origin);
|
||||
|
||||
if (remote_is_branch
|
||||
if (shortname
|
||||
&& !strcmp(local, shortname)
|
||||
&& !origin) {
|
||||
warning(_("Not setting branch %s as its own upstream."),
|
||||
@ -77,29 +77,29 @@ void install_branch_config(int flag, const char *local, const char *origin, cons
|
||||
strbuf_release(&key);
|
||||
|
||||
if (flag & BRANCH_CONFIG_VERBOSE) {
|
||||
if (remote_is_branch && origin)
|
||||
if (shortname && origin)
|
||||
printf_ln(rebasing ?
|
||||
_("Branch %s set up to track remote branch %s from %s by rebasing.") :
|
||||
_("Branch %s set up to track remote branch %s from %s."),
|
||||
local, shortname, origin);
|
||||
else if (remote_is_branch && !origin)
|
||||
else if (shortname && !origin)
|
||||
printf_ln(rebasing ?
|
||||
_("Branch %s set up to track local branch %s by rebasing.") :
|
||||
_("Branch %s set up to track local branch %s."),
|
||||
local, shortname);
|
||||
else if (!remote_is_branch && origin)
|
||||
else if (!shortname && origin)
|
||||
printf_ln(rebasing ?
|
||||
_("Branch %s set up to track remote ref %s by rebasing.") :
|
||||
_("Branch %s set up to track remote ref %s."),
|
||||
local, remote);
|
||||
else if (!remote_is_branch && !origin)
|
||||
else if (!shortname && !origin)
|
||||
printf_ln(rebasing ?
|
||||
_("Branch %s set up to track local ref %s by rebasing.") :
|
||||
_("Branch %s set up to track local ref %s."),
|
||||
local, remote);
|
||||
else
|
||||
die("BUG: impossible combination of %d and %p",
|
||||
remote_is_branch, origin);
|
||||
die("BUG: impossible combination of %p and %p",
|
||||
shortname, origin);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -507,6 +507,16 @@ EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success '--set-upstream-to notices an error to set branch as own upstream' '
|
||||
git branch --set-upstream-to refs/heads/my13 my13 2>actual &&
|
||||
cat >expected <<-\EOF &&
|
||||
warning: Not setting branch my13 as its own upstream.
|
||||
EOF
|
||||
test_expect_code 1 git config branch.my13.remote &&
|
||||
test_expect_code 1 git config branch.my13.merge &&
|
||||
test_i18ncmp expected actual
|
||||
'
|
||||
|
||||
# Keep this test last, as it changes the current branch
|
||||
cat >expect <<EOF
|
||||
$_z40 $HEAD $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150200 +0000 branch: Created from master
|
||||
|
Loading…
Reference in New Issue
Block a user