-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
config: read (but not write) from $XDG_CONFIG_HOME/git/config file
Teach git to read the "gitconfig" information from a new location, $XDG_CONFIG_HOME/git/config; this allows the user to avoid cluttering $HOME with many per-application configuration files. In the order of reading, this file comes between the global configuration file (typically $HOME/.gitconfig) and the system wide configuration file (typically /etc/gitconfig). We do not write to this new location (yet). If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/config will be used. This is in line with XDG specification. If the new file does not exist, the behavior is unchanged. Signed-off-by: Huynh Khoi Nguyen Nguyen <Huynh-Khoi-Nguyen.Nguyen@ensimag.imag.fr> Signed-off-by: Valentin Duperray <Valentin.Duperray@ensimag.imag.fr> Signed-off-by: Franck Jonas <Franck.Jonas@ensimag.imag.fr> Signed-off-by: Lucien Kong <Lucien.Kong@ensimag.imag.fr> Signed-off-by: Thomas Nguy <Thomas.Nguy@ensimag.imag.fr> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Huynh Khoi Nguyen Nguyen
authored and
Junio C Hamano
committed
Jun 25, 2012
1 parent
0e18bef
commit 21cf322
Showing
6 changed files
with
158 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
#!/bin/sh | ||
# | ||
# Copyright (c) 2012 Valentin Duperray, Lucien Kong, Franck Jonas, | ||
# Thomas Nguy, Khoi Nguyen | ||
# Grenoble INP Ensimag | ||
# | ||
|
||
test_description='Compatibility with $XDG_CONFIG_HOME/git/ files' | ||
|
||
. ./test-lib.sh | ||
|
||
test_expect_success 'read config: xdg file exists and ~/.gitconfig doesn'\''t' ' | ||
mkdir -p .config/git && | ||
echo "[alias]" >.config/git/config && | ||
echo " myalias = !echo in_config" >>.config/git/config && | ||
echo in_config >expected && | ||
git myalias >actual && | ||
test_cmp expected actual | ||
' | ||
|
||
|
||
test_expect_success 'read config: xdg file exists and ~/.gitconfig exists' ' | ||
>.gitconfig && | ||
echo "[alias]" >.gitconfig && | ||
echo " myalias = !echo in_gitconfig" >>.gitconfig && | ||
echo in_gitconfig >expected && | ||
git myalias >actual && | ||
test_cmp expected actual | ||
' | ||
|
||
|
||
test_expect_success 'read with --get: xdg file exists and ~/.gitconfig doesn'\''t' ' | ||
rm .gitconfig && | ||
echo "[user]" >.config/git/config && | ||
echo " name = read_config" >>.config/git/config && | ||
echo read_config >expected && | ||
git config --get user.name >actual && | ||
test_cmp expected actual | ||
' | ||
|
||
|
||
test_expect_success 'read with --get: xdg file exists and ~/.gitconfig exists' ' | ||
>.gitconfig && | ||
echo "[user]" >.gitconfig && | ||
echo " name = read_gitconfig" >>.gitconfig && | ||
echo read_gitconfig >expected && | ||
git config --get user.name >actual && | ||
test_cmp expected actual | ||
' | ||
|
||
|
||
test_expect_success 'read with --list: xdg file exists and ~/.gitconfig doesn'\''t' ' | ||
rm .gitconfig && | ||
echo user.name=read_config >expected && | ||
git config --global --list >actual && | ||
test_cmp expected actual | ||
' | ||
|
||
|
||
test_expect_success 'read with --list: xdg file exists and ~/.gitconfig exists' ' | ||
>.gitconfig && | ||
echo "[user]" >.gitconfig && | ||
echo " name = read_gitconfig" >>.gitconfig && | ||
echo user.name=read_gitconfig >expected && | ||
git config --global --list >actual && | ||
test_cmp expected actual | ||
' | ||
|
||
|
||
test_done |