Actually, (1) has never worked for either clone or init. Init always
obeyed GIT_CONFIG as for where it put the output (in fact git-clone.sh
used GIT_CONFIG to cause git-init to write to the created repo, IIRC).
Clone always replaced GIT_CONFIG with the destination location before it
read any configuration, so it wouldn't see configuration that was in the
user's GIT_CONFIG (or in any pre-existing config file at all).
Historically, these commands don't support (1) and aren't consistant with
each other.
I think it would make sense if there were some way to provide custom
configuration to a particular invocation of "git clone", but GIT_CONFIG as
currently handled by config.c can't do it.
My patch makes "git clone" do what "git init; git remote; git fetch" do
with respect to GIT_CONFIG. I don't think this behavior is really useful
for any of those programs or for the combination, but at least having them
match would be consistant. I think the sensible thing would be for
config.c to always write to git_path("config") (or a variable used by
"git config"), and read: git_path("config"), $GIT_CONFIG, ~/.gitconfig,
/etc/gitconfig (in order of decreasing precedence); and further have
builtin-config.c set the "file to write to" variable based on $GIT_CONFIG
or "--file", "--global", or "--system".
But I don't really understand what the purpose of the feature was in the
first place, aside from the narrow case of being able to read and write
files that use the config file format with "git config".
-Daniel
*This .sig left intentionally blank*
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html