From: Junio C Hamano Date: Wed, 23 Oct 2013 20:32:50 +0000 (-0700) Subject: Merge branch 'jh/checkout-auto-tracking' into maint X-Git-Tag: v1.8.4.2~9 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/74051fa805b2b4aa6a0c2e6d4663dc8969e80967?hp=-c Merge branch 'jh/checkout-auto-tracking' into maint "git branch --track" had a minor regression in v1.8.3.2 and later that made it impossible to base your local work on anything but a local branch of the upstream repository you are tracking from. * jh/checkout-auto-tracking: t3200: fix failure on case-insensitive filesystems branch.c: Relax unnecessary requirement on upstream's remote ref name t3200: Add test demonstrating minor regression in 41c21f2 Refer to branch..remote/merge when documenting --track t3200: Minor fix when preparing for tracking failure t2024: Fix &&-chaining and a couple of typos --- 74051fa805b2b4aa6a0c2e6d4663dc8969e80967 diff --combined branch.c index c5c6984cb5,428be60b8c..2d15c19e3e --- a/branch.c +++ b/branch.c @@@ -57,7 -57,7 +57,7 @@@ void install_branch_config(int flag, co if (remote_is_branch && !strcmp(local, shortname) && !origin) { - warning("Not setting branch %s as its own upstream.", + warning(_("Not setting branch %s as its own upstream."), local); return; } @@@ -78,25 -78,25 +78,25 @@@ if (flag & BRANCH_CONFIG_VERBOSE) { if (remote_is_branch && origin) - printf(rebasing ? - "Branch %s set up to track remote branch %s from %s by rebasing.\n" : - "Branch %s set up to track remote branch %s from %s.\n", - local, 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) - printf(rebasing ? - "Branch %s set up to track local branch %s by rebasing.\n" : - "Branch %s set up to track local branch %s.\n", - local, shortname); + 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) - printf(rebasing ? - "Branch %s set up to track remote ref %s by rebasing.\n" : - "Branch %s set up to track remote ref %s.\n", - local, remote); + 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) - printf(rebasing ? - "Branch %s set up to track local ref %s by rebasing.\n" : - "Branch %s set up to track local ref %s.\n", - local, remote); + 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); @@@ -115,7 -115,7 +115,7 @@@ static int setup_tracking(const char *n 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", + return error(_("Tracking not set up: name too long: %s"), new_ref); memset(&tracking, 0, sizeof(tracking)); @@@ -134,7 -134,7 +134,7 @@@ } if (tracking.matches > 1) - return error("Not tracking: ambiguous information for ref %s", + return error(_("Not tracking: ambiguous information for ref %s"), orig_ref); install_branch_config(config_flags, new_ref, tracking.remote, @@@ -179,12 -179,12 +179,12 @@@ int validate_new_branchname(const char int force, int attr_only) { if (strbuf_check_branch_ref(ref, name)) - die("'%s' is not a valid branch name.", name); + die(_("'%s' is not a valid branch name."), name); if (!ref_exists(ref->buf)) return 0; else if (!force && !attr_only) - die("A branch named '%s' already exists.", ref->buf + strlen("refs/heads/")); + die(_("A branch named '%s' already exists."), ref->buf + strlen("refs/heads/")); if (!attr_only) { const char *head; @@@ -192,7 -192,7 +192,7 @@@ head = resolve_ref_unsafe("HEAD", sha1, 0, NULL); if (!is_bare_repository() && head && !strcmp(head, ref->buf)) - die("Cannot force update the current branch."); + die(_("Cannot force update the current branch.")); } return 1; } @@@ -203,8 -203,7 +203,7 @@@ static int check_tracking_branch(struc struct refspec query; memset(&query, 0, sizeof(struct refspec)); query.dst = tracking_branch; - return !(remote_find_tracking(remote, &query) || - prefixcmp(query.src, "refs/heads/")); + return !remote_find_tracking(remote, &query); } static int validate_remote_tracking_branch(char *ref) @@@ -262,7 -261,7 +261,7 @@@ void create_branch(const char *head } die(_(upstream_missing), start_name); } - die("Not a valid object name: '%s'.", start_name); + die(_("Not a valid object name: '%s'."), start_name); } switch (dwim_ref(start_name, strlen(start_name), sha1, &real_ref)) { @@@ -282,18 -281,18 +281,18 @@@ } break; default: - die("Ambiguous object name: '%s'.", start_name); + die(_("Ambiguous object name: '%s'."), start_name); break; } if ((commit = lookup_commit_reference(sha1)) == NULL) - die("Not a valid branch point: '%s'.", start_name); + die(_("Not a valid branch point: '%s'."), start_name); hashcpy(sha1, commit->object.sha1); if (!dont_change_ref) { lock = lock_any_ref_for_update(ref.buf, NULL, 0); if (!lock) - die_errno("Failed to lock ref for update"); + die_errno(_("Failed to lock ref for update")); } if (reflog) @@@ -311,7 -310,7 +310,7 @@@ if (!dont_change_ref) if (write_ref_sha1(lock, sha1, msg) < 0) - die_errno("Failed to write ref"); + die_errno(_("Failed to write ref")); strbuf_release(&ref); free(real_ref);