summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 4fc5006)
raw | patch | inline | side by side (parent: 4fc5006)
author | Matthieu Moy <Matthieu.Moy@imag.fr> | |
Mon, 18 Jan 2010 20:44:12 +0000 (22:44 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 19 Jan 2010 01:46:28 +0000 (17:46 -0800) |
Previous patch allows commands like "git branch --set-upstream foo foo",
which doesn't make much sense. Warn the user and don't change the
configuration in this case. Don't die to let the caller finish its job in
such case.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
which doesn't make much sense. Warn the user and don't change the
configuration in this case. Don't die to let the caller finish its job in
such case.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
branch.c | patch | blob | history |
diff --git a/branch.c b/branch.c
index 40d3c4574350dffdfd65d06a002b537b1cc23302..9e1f63ed8dbe8b087f99292880059642d9744697 100644 (file)
--- a/branch.c
+++ b/branch.c
void install_branch_config(int flag, const char *local, const char *origin, const char *remote)
{
+ const char *shortname = remote + 11;
+ int remote_is_branch = !prefixcmp(remote, "refs/heads/");
struct strbuf key = STRBUF_INIT;
int rebasing = should_setup_rebase(origin);
+ if (remote_is_branch
+ && !strcmp(local, shortname)
+ && !origin) {
+ warning("Not setting branch %s as its own upstream.",
+ local);
+ return;
+ }
+
strbuf_addf(&key, "branch.%s.remote", local);
git_config_set(key.buf, origin ? origin : ".");
strbuf_addstr(&key, origin ? "remote" : "local");
/* Are we tracking a proper "branch"? */
- if (!prefixcmp(remote, "refs/heads/")) {
- strbuf_addf(&key, " branch %s", remote + 11);
+ if (remote_is_branch) {
+ strbuf_addf(&key, " branch %s", shortname);
if (origin)
strbuf_addf(&key, " from %s", origin);
}