From: Junio C Hamano Date: Tue, 06 Sep 2011 22:58:51 GMT Subject: Re: [PATCHv2 1/2] remote: write correct fetch spec when renaming remote 'remote' Message-ID: <7vaaah6zx0.fsf@alter.siamese.dyndns.org> In-Reply-To: <1314924634-12235-1-git-send-email-martin.von.zweigbergk@gmail.com> Martin von Zweigbergk writes: > @@ -659,15 +660,18 @@ static int mv(int argc, const char **argv) > strbuf_addf(&buf, "remote.%s.fetch", rename.new); > if (git_config_set_multivar(buf.buf, NULL, NULL, 1)) > return error("Could not remove config section '%s'", buf.buf); > + strbuf_addf(&old_remote_context, ":refs/remotes/%s/", rename.old); > for (i = 0; i < oldremote->fetch_refspec_nr; i++) { > char *ptr; > > strbuf_reset(&buf2); > strbuf_addstr(&buf2, oldremote->fetch_refspec[i]); > - ptr = strstr(buf2.buf, rename.old); > + ptr = strstr(buf2.buf, old_remote_context.buf); > if (ptr) > - strbuf_splice(&buf2, ptr-buf2.buf, strlen(rename.old), > - rename.new, strlen(rename.new)); > + strbuf_splice(&buf2, > + ptr-buf2.buf + strlen(":refs/remotes/"), > + strlen(rename.old), rename.new, > + strlen(rename.new)); > if (git_config_set_multivar(buf.buf, buf2.buf, "^$", 0)) > return error("Could not append '%s'", buf.buf); > } It is somewhat bothering that we do not say "we didn't do any magic" here when we did not move the tracking branch specifications, but that is not a new problem, so I am OK with this change. I however suspect that you would want to keep the record of what you changed here, so that the renaming of actual refs done in [PATCH 2/2] is limited to those that you updated the specifications for, no?