diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2017-04-17 17:10:02 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-04-19 18:50:30 -0700 |
commit | e145a0bc9b8711fe1c6cfad29af52ef06ce4c1ec (patch) | |
tree | 9ad64ddf3cb267686cfa6d9f6bd19de04152a341 /Documentation/diff-heuristic-options.txt | |
parent | config: handle conditional include when $GIT_DIR is not set up (diff) | |
download | tgif-e145a0bc9b8711fe1c6cfad29af52ef06ce4c1ec.tar.xz |
config: correct file reading order in read_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 'Documentation/diff-heuristic-options.txt')
0 files changed, 0 insertions, 0 deletions