Re: [PATCH 1/2] clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
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
[Newbies FAQ] [Kernel List] [Site Home] [Free Online Dating] [Gcc Help] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [V4L] [Bugtraq] [Free Online Dating] [Rubini] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [DDR & Rambus] [Linux Resources]