On Fri, 27 Jun 2008, Johannes Schindelin wrote: > After initializing the config in the newly-created repository, we > need to unset GIT_CONFIG so that the global configs are read again. This seems fine to me. OTOH, I'm not sure the environment variable should be needed in the first place; I think the config stuff should look in git_path("config") without it, and we set the git dir to the one we're initializing. So I think the use of the environment variable is just an artifact of how the shell script did it and how I was originally calling the init_db stuff. Just removing the "setenv()" line survives all of the tests for me, and I remember some of them failing before I'd gotten some sort of solution for the config stuff. > Noticed by Pieter de Bie. You'd think I would have noticed this, since I mainly decided to convert clone to C so that url.insteadOf in global config would let you do "git clone work:modulename", but I clearly never tested it. > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > > On Fri, 27 Jun 2008, Pieter de Bie wrote: > > > I sometimes use url.insteadOf to create a shortcut to a central > > repository. For example, having something like[*1*] > > > > [url "git://repo.or.cz/git/"] > > insteadOf = "repo:" > > > > in my global gitconfig allows me to do a 'git fetch > > repo:dscho.git'. I'd also like to use that with git clone :). > > Currently if I try that, I get > > > > Vienna:~ pieter$ git clone repo:dscho.git > > Initialize dscho/.git > > Initialized empty Git repository in /Users/pieter/dscho/.git/ > > ssh: Error resolving hostname repo: nodename nor servname provided, > > or not known > > fatal: The remote end hung up unexpectedly > > > > [...] > > > > Is there an easy fix for this? > > Yes ;-) > > builtin-clone.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/builtin-clone.c b/builtin-clone.c > index 17baa20..965b5fc 100644 > --- a/builtin-clone.c > +++ b/builtin-clone.c > @@ -424,6 +424,13 @@ int cmd_clone(int argc, const char **argv, const char *prefix) > fprintf(stderr, "Initialize %s\n", git_dir); > init_db(option_template, option_quiet ? INIT_DB_QUIET : 0); > > + /* > + * At this point, the config exists, so we do not need the > + * environment variable. We actually need to unset it, too, to > + * re-enable parsing of the global configs. > + */ > + unsetenv(CONFIG_ENVIRONMENT); > + > if (option_reference) > setup_reference(git_dir); > > -- > 1.5.6.173.gde14c > > -- 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