fast-export: deal with tag objects that do not have a tagger
[gitweb.git] / t / t0001-init.sh
index b14b3ec39418b37a2a7e4b3745032360c146dff7..5ac0a273a94c033fbb7c48cb9a22e44c389e0f7d 100755 (executable)
@@ -25,7 +25,7 @@ check_config () {
 
 test_expect_success 'plain' '
        (
-               unset GIT_DIR GIT_WORK_TREE &&
+               unset GIT_DIR GIT_WORK_TREE
                mkdir plain &&
                cd plain &&
                git init
@@ -35,7 +35,7 @@ test_expect_success 'plain' '
 
 test_expect_success 'plain with GIT_WORK_TREE' '
        if (
-               unset GIT_DIR &&
+               unset GIT_DIR
                mkdir plain-wt &&
                cd plain-wt &&
                GIT_WORK_TREE=$(pwd) git init
@@ -48,7 +48,7 @@ test_expect_success 'plain with GIT_WORK_TREE' '
 
 test_expect_success 'plain bare' '
        (
-               unset GIT_DIR GIT_WORK_TREE GIT_CONFIG &&
+               unset GIT_DIR GIT_WORK_TREE GIT_CONFIG
                mkdir plain-bare-1 &&
                cd plain-bare-1 &&
                git --bare init
@@ -58,7 +58,7 @@ test_expect_success 'plain bare' '
 
 test_expect_success 'plain bare with GIT_WORK_TREE' '
        if (
-               unset GIT_DIR GIT_CONFIG &&
+               unset GIT_DIR GIT_CONFIG
                mkdir plain-bare-2 &&
                cd plain-bare-2 &&
                GIT_WORK_TREE=$(pwd) git --bare init
@@ -72,17 +72,28 @@ test_expect_success 'plain bare with GIT_WORK_TREE' '
 test_expect_success 'GIT_DIR bare' '
 
        (
-               unset GIT_CONFIG &&
+               unset GIT_CONFIG
                mkdir git-dir-bare.git &&
                GIT_DIR=git-dir-bare.git git init
        ) &&
        check_config git-dir-bare.git true unset
 '
 
+test_expect_success 'init --bare' '
+
+       (
+               unset GIT_DIR GIT_WORK_TREE GIT_CONFIG
+               mkdir init-bare.git &&
+               cd init-bare.git &&
+               git init --bare
+       ) &&
+       check_config init-bare.git true unset
+'
+
 test_expect_success 'GIT_DIR non-bare' '
 
        (
-               unset GIT_CONFIG &&
+               unset GIT_CONFIG
                mkdir non-bare &&
                cd non-bare &&
                GIT_DIR=.git git init
@@ -93,7 +104,7 @@ test_expect_success 'GIT_DIR non-bare' '
 test_expect_success 'GIT_DIR & GIT_WORK_TREE (1)' '
 
        (
-               unset GIT_CONFIG &&
+               unset GIT_CONFIG
                mkdir git-dir-wt-1.git &&
                GIT_WORK_TREE=$(pwd) GIT_DIR=git-dir-wt-1.git git init
        ) &&
@@ -103,7 +114,7 @@ test_expect_success 'GIT_DIR & GIT_WORK_TREE (1)' '
 test_expect_success 'GIT_DIR & GIT_WORK_TREE (2)' '
 
        if (
-               unset GIT_CONFIG &&
+               unset GIT_CONFIG
                mkdir git-dir-wt-2.git &&
                GIT_WORK_TREE=$(pwd) GIT_DIR=git-dir-wt-2.git git --bare init
        )
@@ -113,4 +124,79 @@ test_expect_success 'GIT_DIR & GIT_WORK_TREE (2)' '
        fi
 '
 
+test_expect_success 'reinit' '
+
+       (
+               unset GIT_CONFIG GIT_WORK_TREE GIT_CONFIG
+
+               mkdir again &&
+               cd again &&
+               git init >out1 2>err1 &&
+               git init >out2 2>err2
+       ) &&
+       grep "Initialized empty" again/out1 &&
+       grep "Reinitialized existing" again/out2 &&
+       >again/empty &&
+       test_cmp again/empty again/err1 &&
+       test_cmp again/empty again/err2
+'
+
+test_expect_success 'init with --template' '
+       mkdir template-source &&
+       echo content >template-source/file &&
+       (
+               mkdir template-custom &&
+               cd template-custom &&
+               git init --template=../template-source
+       ) &&
+       test_cmp template-source/file template-custom/.git/file
+'
+
+test_expect_success 'init with --template (blank)' '
+       (
+               mkdir template-plain &&
+               cd template-plain &&
+               git init
+       ) &&
+       test -f template-plain/.git/info/exclude &&
+       (
+               mkdir template-blank &&
+               cd template-blank &&
+               git init --template=
+       ) &&
+       ! test -f template-blank/.git/info/exclude
+'
+
+test_expect_success 'init --bare/--shared overrides system/global config' '
+       (
+               HOME="`pwd`" &&
+               export HOME &&
+               test_config="$HOME"/.gitconfig &&
+               unset GIT_CONFIG_NOGLOBAL &&
+               git config -f "$test_config" core.bare false &&
+               git config -f "$test_config" core.sharedRepository 0640 &&
+               mkdir init-bare-shared-override &&
+               cd init-bare-shared-override &&
+               git init --bare --shared=0666
+       ) &&
+       check_config init-bare-shared-override true unset &&
+       test x0666 = \
+       x`git config -f init-bare-shared-override/config core.sharedRepository`
+'
+
+test_expect_success 'init honors global core.sharedRepository' '
+       (
+               HOME="`pwd`" &&
+               export HOME &&
+               test_config="$HOME"/.gitconfig &&
+               unset GIT_CONFIG_NOGLOBAL &&
+               git config -f "$test_config" core.sharedRepository 0666 &&
+               mkdir shared-honor-global &&
+               cd shared-honor-global &&
+               git init
+       ) &&
+       test x0666 = \
+       x`git config -f shared-honor-global/.git/config core.sharedRepository`
+'
+
 test_done