summaryrefslogtreecommitdiff
path: root/builtin/commit.c
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2017-04-17 17:10:02 +0700
committerJunio C Hamano <gitster@pobox.com>2017-04-19 18:50:30 -0700
commite145a0bc9b8711fe1c6cfad29af52ef06ce4c1ec (patch)
tree9ad64ddf3cb267686cfa6d9f6bd19de04152a341 /builtin/commit.c
parent2185fde56328942d5be9603cc199ee7c6d004085 (diff)
downloadgit-e145a0bc9b8711fe1c6cfad29af52ef06ce4c1ec.tar.gz
config: correct file reading order in read_early_config()nd/conditional-config-in-early-config
Config file reading order is important because each file can override values in the previous files and this is expected behavior. Normally we read in this order, all in do_git_config_sequence(): 1. $HOME/.gitconfig 2. $GIT_DIR/config 3. config from command line However in read_early_config() the order may be swapped a bit if setup_git_directory() has not been called: 1. $HOME/.gitconfig 2. $GIT_DIR/config is NOT read because .git dir is not found _yet_ 3. config from command line 4. $GIT_DIR/config is now READ (after discover_git_directory() call) The reading at step 4 could override config at step 3, which is not the expectation. Now that we could pass the .git dir around, we could feed discover_git_directory() back to step 2, so that it works again, and remove step 4. Noticed-by: Jeff King <peff@peff.net> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/commit.c')
0 files changed, 0 insertions, 0 deletions