diff options
author | Jeff King <peff@peff.net> | 2012-02-16 03:07:32 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-02-17 07:58:54 -0800 |
commit | 270a34438b0776c072268838a8e8aa786494cfee (patch) | |
tree | fc78eb7336b3452911acae8adedd3dba41b5afeb /t/t4013/diff.diff-tree_--pretty_--patch-with-stat_side | |
parent | config: provide a version of git_config with more options (diff) | |
download | tgif-270a34438b0776c072268838a8e8aa786494cfee.tar.xz |
config: stop using config_exclusive_filename
The git-config command sometimes operates on the default set
of config files (either reading from all, or writing to repo
config), and sometimes operates on a specific file. In the
latter case, we set the magic global config_exclusive_filename,
and the code in config.c does the right thing.
Instead, let's have git-config use the "advanced" variants
of config.c's functions which let it specify an individual
filename (or NULL for the default). This makes the code a
lot more obvious, and fixes two small bugs:
1. A relative path specified by GIT_CONFIG=foo will look
in the wrong directory if we have to chdir as part of
repository setup. We already handle this properly for
"git config -f foo", but the GIT_CONFIG lookup used
config_exclusive_filename directly. By dropping to a
single magic variable, the GIT_CONFIG case now just
works.
2. Calling "git config -f foo --edit" would not respect
core.editor. This is because just before editing, we
called git_config, which would respect the
config_exclusive_filename setting, even though this
particular git_config call was not about looking in the
user's specified file, but rather about loading actual
git config, just as any other git program would.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4013/diff.diff-tree_--pretty_--patch-with-stat_side')
0 files changed, 0 insertions, 0 deletions