> Hi, > > On Wed, 4 Jun 2008, Victor Bogado da Silva Lins wrote: > >> On Wed, 2008-06-04 at 16:51 +0100, Johannes Schindelin wrote: >> >> > On Wed, 4 Jun 2008, Victor Bogado da Silva Lins wrote: >> > >> > > I trying to refactor [in builtin-remote.c] rm into rm_or_rename, but >> > > I stumbled into a problem, how do I free a remote struct obtained >> > > with "remote_get"? >> >> It seems that git-remote thinks that remote_get will return NULL if >> there is no such remote, but in fact it does not do this, it always >> alloc a new remote struct and returns that newly allocated. > > From remote.c, remote_get(), line 601--602 in my checkout: > > if (!ret->url) > return NULL; > In fact, I think Victor is right. If you do a simple test (assuming you don't have a remote named foo): vincent:git$ git remote rm foo error: Could not remove config section 'remote.foo' You notice that it is trying to remove the configuration section for this remote. We have hit the line 372 of builtin-remote.c: if (git_config_rename_section(buf.buf, NULL) < 1) return error("Could not remove config section '%s'", buf.buf); instead of exiting at line 364: if (!remote) die("No such remote: %s", argv[1]); -- Vincent -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html