Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-08-16 07:55:44 +0400
committerJunio C Hamano <gitster@pobox.com>2007-08-16 08:39:07 +0400
commit312efe9b58edb428132f0bf0fdc7f3d6a41f1183 (patch)
treed95ff4c8adad3d0e084ad1eb9bc0edb4a5d2bc0c
parentd250626cbbfc1d047b234681d2f71f56e3ada07a (diff)
git-clone: allow --bare clone
This is a stop-gap to work around problem with git-init without intrusive changes. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-clone.sh7
-rwxr-xr-xt/t5701-clone-local.sh5
2 files changed, 10 insertions, 2 deletions
diff --git a/git-clone.sh b/git-clone.sh
index 4c9b1c9710..e4a9ac4bab 100755
--- a/git-clone.sh
+++ b/git-clone.sh
@@ -215,7 +215,12 @@ else
GIT_DIR="$D/.git"
fi &&
export GIT_DIR &&
-git-init $quiet ${template+"$template"} || usage
+GIT_CONFIG="$GIT_DIR/config" git-init $quiet ${template+"$template"} || usage
+
+if test -n "$bare"
+then
+ GIT_CONFIG="$GIT_DIR/config" git config core.bare true
+fi
if test -n "$reference"
then
diff --git a/t/t5701-clone-local.sh b/t/t5701-clone-local.sh
index 56f9d8ae73..822ac8c28e 100755
--- a/t/t5701-clone-local.sh
+++ b/t/t5701-clone-local.sh
@@ -8,13 +8,16 @@ D=`pwd`
test_expect_success 'preparing origin repository' '
: >file && git add . && git commit -m1 &&
git clone --bare . a.git &&
- git clone --bare . x
+ git clone --bare . x &&
+ test "$(GIT_CONFIG=a.git/config git config --bool core.bare)" = true &&
+ test "$(GIT_CONFIG=x/config git config --bool core.bare)" = true
'
test_expect_success 'local clone without .git suffix' '
cd "$D" &&
git clone -l -s a b &&
cd b &&
+ test "$(GIT_CONFIG=.git/config git config --bool core.bare)" = false &&
git fetch
'