From: Junio C Hamano Date: Tue, 18 Mar 2014 20:51:09 +0000 (-0700) Subject: Merge branch 'bg/install-branch-config-skip-prefix' X-Git-Tag: v2.0.0-rc0~88 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/9cf0137bdf01d3fe4fdf4cd4b1ad605eebdfb1de?hp=-c 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 --- 9cf0137bdf01d3fe4fdf4cd4b1ad605eebdfb1de diff --combined branch.c index 05feaff78a,e163f3ca64..8eecb1d8c0 --- a/branch.c +++ b/branch.c @@@ -1,3 -1,4 +1,4 @@@ + #include "git-compat-util.h" #include "cache.h" #include "branch.h" #include "refs.h" @@@ -49,12 -50,11 +50,11 @@@ static int should_setup_rebase(const ch 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 +77,29 @@@ 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); } } @@@ -114,6 -114,10 +114,6 @@@ static int setup_tracking(const char *n struct tracking tracking; int config_flags = quiet ? 0 : BRANCH_CONFIG_VERBOSE; - if (strlen(new_ref) > 1024 - 7 - 7 - 1) - return error(_("Tracking not set up: name too long: %s"), - new_ref); - memset(&tracking, 0, sizeof(tracking)); tracking.spec.dst = (char *)orig_ref; if (for_each_remote(find_tracked_branch, &tracking))