General ref log reading improvements.
[git.git] / t / t1300-repo-config.sh
old mode 100644 (file)
new mode 100755 (executable)
index 5e994ff..8260d57
@@ -12,10 +12,6 @@ test -f .git/config && rm .git/config
 git-repo-config core.penguin "little blue"
 
 cat > expect << EOF
-#
-# This is the config file
-#
-
 [core]
        penguin = little blue
 EOF
@@ -25,10 +21,6 @@ test_expect_success 'initial' 'cmp .git/config expect'
 git-repo-config Core.Movie BadPhysics
 
 cat > expect << EOF
-#
-# This is the config file
-#
-
 [core]
        penguin = little blue
        Movie = BadPhysics
@@ -39,10 +31,6 @@ test_expect_success 'mixed case' 'cmp .git/config expect'
 git-repo-config Cores.WhatEver Second
 
 cat > expect << EOF
-#
-# This is the config file
-#
-
 [core]
        penguin = little blue
        Movie = BadPhysics
@@ -55,10 +43,6 @@ test_expect_success 'similar section' 'cmp .git/config expect'
 git-repo-config CORE.UPPERCASE true
 
 cat > expect << EOF
-#
-# This is the config file
-#
-
 [core]
        penguin = little blue
        Movie = BadPhysics
@@ -76,10 +60,6 @@ test_expect_success 'replace with non-match (actually matching)' \
        'git-repo-config core.penguin "very blue" !kingpin'
 
 cat > expect << EOF
-#
-# This is the config file
-#
-
 [core]
        penguin = very blue
        Movie = BadPhysics
@@ -249,7 +229,7 @@ test_expect_failure 'invalid key' 'git-repo-config inval.2key blabla'
 test_expect_success 'correct key' 'git-repo-config 123456.a123 987'
 
 test_expect_success 'hierarchical section' \
-       'git-repo-config 1.2.3.alpha beta'
+       'git-repo-config Version.1.2.3eX.Alpha beta'
 
 cat > expect << EOF
 [beta] ; silly comment # another comment
@@ -261,11 +241,73 @@ noIndent= sillyValue ; 'nother silly comment
        NoNewLine = wow2 for me
 [123456]
        a123 = 987
-[1.2.3]
-       alpha = beta
+[Version "1.2.3eX"]
+       Alpha = beta
 EOF
 
 test_expect_success 'hierarchical section value' 'cmp .git/config expect'
 
+cat > expect << EOF
+beta.noindent=sillyValue
+nextsection.nonewline=wow2 for me
+123456.a123=987
+version.1.2.3eX.alpha=beta
+EOF
+
+test_expect_success 'working --list' \
+       'git-repo-config --list > output && cmp output expect'
+
+cat > expect << EOF
+beta.noindent sillyValue
+nextsection.nonewline wow2 for me
+EOF
+
+test_expect_success '--get-regexp' \
+       'git-repo-config --get-regexp in > output && cmp output expect'
+
+cat > .git/config << EOF
+[novalue]
+       variable
+EOF
+
+test_expect_success 'get variable with no value' \
+       'git-repo-config --get novalue.variable ^$'
+
+git-repo-config > output 2>&1
+
+test_expect_success 'no arguments, but no crash' \
+       "test $? = 129 && grep usage output"
+
+cat > .git/config << EOF
+[a.b]
+       c = d
+EOF
+
+git-repo-config a.x y
+
+cat > expect << EOF
+[a.b]
+       c = d
+[a]
+       x = y
+EOF
+
+test_expect_success 'new section is partial match of another' 'cmp .git/config expect'
+
+git-repo-config b.x y
+git-repo-config a.b c
+
+cat > expect << EOF
+[a.b]
+       c = d
+[a]
+       x = y
+       b = c
+[b]
+       x = y
+EOF
+
+test_expect_success 'new variable inserts into proper section' 'cmp .git/config expect'
+
 test_done