branch: use skip_prefix() in install_branch_config()

The install_branch_config() function reimplemented the skip_prefix()
function inline.

Reported-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Brian Gesiak <modocache@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Brian Gesiak 2014-02-28 15:43:33 +09:00 committed by Junio C Hamano
parent 95052d1f2d
commit 303d1d0bd6

View File

@ -1,3 +1,4 @@
#include "git-compat-util.h"
#include "cache.h" #include "cache.h"
#include "branch.h" #include "branch.h"
#include "refs.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) void install_branch_config(int flag, const char *local, const char *origin, const char *remote)
{ {
const char *shortname = remote + 11; const char *shortname = skip_prefix(remote, "refs/heads/");
int remote_is_branch = starts_with(remote, "refs/heads/");
struct strbuf key = STRBUF_INIT; struct strbuf key = STRBUF_INIT;
int rebasing = should_setup_rebase(origin); int rebasing = should_setup_rebase(origin);
if (remote_is_branch if (shortname
&& !strcmp(local, shortname) && !strcmp(local, shortname)
&& !origin) { && !origin) {
warning(_("Not setting branch %s as its own upstream."), 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); strbuf_release(&key);
if (flag & BRANCH_CONFIG_VERBOSE) { if (flag & BRANCH_CONFIG_VERBOSE) {
if (remote_is_branch && origin) if (shortname && origin)
printf_ln(rebasing ? 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 by rebasing.") :
_("Branch %s set up to track remote branch %s from %s."), _("Branch %s set up to track remote branch %s from %s."),
local, shortname, origin); local, shortname, origin);
else if (remote_is_branch && !origin) else if (shortname && !origin)
printf_ln(rebasing ? printf_ln(rebasing ?
_("Branch %s set up to track local branch %s by rebasing.") : _("Branch %s set up to track local branch %s by rebasing.") :
_("Branch %s set up to track local branch %s."), _("Branch %s set up to track local branch %s."),
local, shortname); local, shortname);
else if (!remote_is_branch && origin) else if (!shortname && origin)
printf_ln(rebasing ? printf_ln(rebasing ?
_("Branch %s set up to track remote ref %s by rebasing.") : _("Branch %s set up to track remote ref %s by rebasing.") :
_("Branch %s set up to track remote ref %s."), _("Branch %s set up to track remote ref %s."),
local, remote); local, remote);
else if (!remote_is_branch && !origin) else if (!shortname && !origin)
printf_ln(rebasing ? printf_ln(rebasing ?
_("Branch %s set up to track local ref %s by rebasing.") : _("Branch %s set up to track local ref %s by rebasing.") :
_("Branch %s set up to track local ref %s."), _("Branch %s set up to track local ref %s."),
local, remote); local, remote);
else else
die("BUG: impossible combination of %d and %p", die("BUG: impossible combination of %p and %p",
remote_is_branch, origin); shortname, origin);
} }
} }