summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2022-09-16 14:27:13 -0400
committerEdward Thomson <ethomson@edwardthomson.com>2022-09-16 17:53:53 -0400
commitea61c67ae6e890b2d3605c164aad49e81122f551 (patch)
tree178e4a322179fdf37331f5d9b40a8701d55e6a35
parentf36cbc0eb05df875403a9bc01cc11ff148842697 (diff)
downloadlibgit2-ea61c67ae6e890b2d3605c164aad49e81122f551.tar.gz
clone: test bare clone namespaced repo with no HEAD
Test that we can successfully clone a repository that is namespace scoped to a bare repository locally. We need not specify a checkout branch in this case (obviously, since we do not check anything out in a bare clone).
-rwxr-xr-xci/test.sh37
-rw-r--r--tests/libgit2/CMakeLists.txt1
-rw-r--r--tests/libgit2/online/clone.c19
-rw-r--r--tests/resources/namespace.git/COMMIT_EDITMSG1
-rw-r--r--tests/resources/namespace.git/HEAD1
-rw-r--r--tests/resources/namespace.git/config7
-rw-r--r--tests/resources/namespace.git/description1
-rw-r--r--tests/resources/namespace.git/indexbin0 -> 321 bytes
-rw-r--r--tests/resources/namespace.git/info/exclude6
-rw-r--r--tests/resources/namespace.git/logs/HEAD9
-rw-r--r--tests/resources/namespace.git/logs/refs/heads/branch3
-rw-r--r--tests/resources/namespace.git/logs/refs/heads/four2
-rw-r--r--tests/resources/namespace.git/logs/refs/heads/main2
-rw-r--r--tests/resources/namespace.git/logs/refs/heads/one1
-rw-r--r--tests/resources/namespace.git/objects/04/433ff5b52d6ad534fd6288de4a57b81cc12188bin0 -> 160 bytes
-rw-r--r--tests/resources/namespace.git/objects/0a/890bd10328d68f6d85efd2535e3a4c588ee8e6bin0 -> 54 bytes
-rw-r--r--tests/resources/namespace.git/objects/10/fcb1c85bd6b3bc6f43e0a3932ff5859121a84ebin0 -> 54 bytes
-rw-r--r--tests/resources/namespace.git/objects/24/bbdca8b223aaa3384d78312f730c58492aa30abin0 -> 54 bytes
-rw-r--r--tests/resources/namespace.git/objects/27/0c611ee72c567bc1b2abec4cbc345bab9f15babin0 -> 30 bytes
-rw-r--r--tests/resources/namespace.git/objects/2b/df67abb163a4ffb2d7f3f0880c9fe5068ce782bin0 -> 21 bytes
-rw-r--r--tests/resources/namespace.git/objects/3d/669d1b33ec8add4609d8043d025527db4989eb2
-rw-r--r--tests/resources/namespace.git/objects/42/0d51ce75a87909e29659da2072ffd3d5daf5b7bin0 -> 128 bytes
-rw-r--r--tests/resources/namespace.git/objects/56/26abf0f72e58d7a153368ba57db4c673c0e171bin0 -> 19 bytes
-rw-r--r--tests/resources/namespace.git/objects/56/300b5eae653453102ac1213e921973c066425bbin0 -> 95 bytes
-rw-r--r--tests/resources/namespace.git/objects/7e/eaa70d7c5592db920a2e107ce3918bd4c8a4252
-rw-r--r--tests/resources/namespace.git/objects/85/10665149157c2bc901848c3e0b746954e9cbd9bin0 -> 20 bytes
-rw-r--r--tests/resources/namespace.git/objects/9e/bfa6bdc9d38075d29d26aa5df89b1cf635b269bin0 -> 137 bytes
-rw-r--r--tests/resources/namespace.git/objects/9e/f15e3c5c0c8c6913936f843ad967cbe5541f0dbin0 -> 121 bytes
-rw-r--r--tests/resources/namespace.git/objects/af/5626b4a114abcb82d63db7c8082c3c4756e51bbin0 -> 30 bytes
-rw-r--r--tests/resources/namespace.git/objects/af/81e4bd99cbfe6f05a501f1e4c82db2bf803e02bin0 -> 30 bytes
-rw-r--r--tests/resources/namespace.git/objects/bf/d17f429f4e2d121769213171ad57ca2e5173f92
-rw-r--r--tests/resources/namespace.git/objects/ec/947e3dd7a7752d078f1ed0cfde7457b21fef58bin0 -> 54 bytes
-rw-r--r--tests/resources/namespace.git/objects/f7/19efd430d52bcfc8566a43b2eb655688d38871bin0 -> 19 bytes
-rw-r--r--tests/resources/namespace.git/objects/f7/5ba05f340c51065cbea2e1fdbfe5fe13144c97bin0 -> 30 bytes
-rw-r--r--tests/resources/namespace.git/refs/heads/branch1
-rw-r--r--tests/resources/namespace.git/refs/heads/main1
-rw-r--r--tests/resources/namespace.git/refs/namespaces/name1/refs/heads/four1
-rw-r--r--tests/resources/namespace.git/refs/namespaces/name1/refs/heads/one1
38 files changed, 91 insertions, 9 deletions
diff --git a/ci/test.sh b/ci/test.sh
index 9e5ff9a3e..c1e514911 100755
--- a/ci/test.sh
+++ b/ci/test.sh
@@ -22,9 +22,14 @@ CONTINUE_ON_FAILURE=0
cleanup() {
echo "Cleaning up..."
- if [ ! -z "$GITDAEMON_PID" ]; then
- echo "Stopping git daemon..."
- kill $GITDAEMON_PID
+ if [ ! -z "$GIT_STANDARD_PID" ]; then
+ echo "Stopping git daemon (standard)..."
+ kill $GIT_STANDARD_PID
+ fi
+
+ if [ ! -z "$GIT_NAMESPACE_PID" ]; then
+ echo "Stopping git daemon (namespace)..."
+ kill $GIT_NAMESPACE_PID
fi
if [ ! -z "$PROXY_BASIC_PID" ]; then
@@ -98,11 +103,17 @@ echo "##########################################################################
echo ""
if [ -z "$SKIP_GITDAEMON_TESTS" ]; then
- echo "Starting git daemon..."
- GITDAEMON_DIR=`mktemp -d ${TMPDIR}/gitdaemon.XXXXXXXX`
- git init --bare "${GITDAEMON_DIR}/test.git" >/dev/null
- git daemon --listen=localhost --export-all --enable=receive-pack --base-path="${GITDAEMON_DIR}" "${GITDAEMON_DIR}" 2>/dev/null &
- GITDAEMON_PID=$!
+ echo "Starting git daemon (standard)..."
+ GIT_STANDARD_DIR=`mktemp -d ${TMPDIR}/git_standard.XXXXXXXX`
+ git init --bare "${GIT_STANDARD_DIR}/test.git" >/dev/null
+ git daemon --listen=localhost --export-all --enable=receive-pack --base-path="${GIT_STANDARD_DIR}" "${GIT_STANDARD_DIR}" 2>/dev/null &
+ GIT_STANDARD_PID=$!
+
+ echo "Starting git daemon (namespace)..."
+ GIT_NAMESPACE_DIR=`mktemp -d ${TMPDIR}/git_namespace.XXXXXXXX`
+ cp -R "${SOURCE_DIR}/tests/resources/namespace.git" "${GIT_NAMESPACE_DIR}/namespace.git"
+ GIT_NAMESPACE="name1" git daemon --listen=localhost --port=9419 --export-all --enable=receive-pack --base-path="${GIT_NAMESPACE_DIR}" "${GIT_NAMESPACE_DIR}" &
+ GIT_NAMESPACE_PID=$!
fi
if [ -z "$SKIP_PROXY_TESTS" ]; then
@@ -229,12 +240,20 @@ fi
if [ -z "$SKIP_GITDAEMON_TESTS" ]; then
echo ""
- echo "Running gitdaemon tests"
+ echo "Running gitdaemon (standard) tests"
echo ""
export GITTEST_REMOTE_URL="git://localhost/test.git"
run_test gitdaemon
unset GITTEST_REMOTE_URL
+
+ echo ""
+ echo "Running gitdaemon (namespace) tests"
+ echo ""
+
+ export GITTEST_REMOTE_URL="git://localhost:9419/namespace.git"
+ run_test gitdaemon_namespace
+ unset GITTEST_REMOTE_URL
fi
if [ -z "$SKIP_PROXY_TESTS" ]; then
diff --git a/tests/libgit2/CMakeLists.txt b/tests/libgit2/CMakeLists.txt
index 7f6fafe77..17f2253f0 100644
--- a/tests/libgit2/CMakeLists.txt
+++ b/tests/libgit2/CMakeLists.txt
@@ -69,6 +69,7 @@ add_clar_test(libgit2_tests invasive -v -sfilter::stream::bigfile -so
add_clar_test(libgit2_tests online -v -sonline -xonline::customcert)
add_clar_test(libgit2_tests online_customcert -v -sonline::customcert)
add_clar_test(libgit2_tests gitdaemon -v -sonline::push)
+add_clar_test(libgit2_tests gitdaemon_namespace -v -sonline::clone::namespace)
add_clar_test(libgit2_tests ssh -v -sonline::push -sonline::clone::ssh_cert -sonline::clone::ssh_with_paths -sonline::clone::path_whitespace_ssh)
add_clar_test(libgit2_tests proxy -v -sonline::clone::proxy)
add_clar_test(libgit2_tests auth_clone -v -sonline::clone::cred)
diff --git a/tests/libgit2/online/clone.c b/tests/libgit2/online/clone.c
index 6a087b1af..fd8fb17ea 100644
--- a/tests/libgit2/online/clone.c
+++ b/tests/libgit2/online/clone.c
@@ -1006,3 +1006,22 @@ void test_online_clone__redirect_initial_fails_for_subsequent(void)
cl_git_fail(git_clone(&g_repo, _remote_redirect_subsequent, "./fail", &options));
}
+
+void test_online_clone__namespace_bare(void)
+{
+ git_clone_options options = GIT_CLONE_OPTIONS_INIT;
+ git_reference *head;
+
+ if (!_remote_url)
+ cl_skip();
+
+ options.bare = true;
+
+ cl_git_pass(git_clone(&g_repo, _remote_url, "./namespaced.git", &options));
+
+ cl_git_pass(git_reference_lookup(&head, g_repo, GIT_HEAD_FILE));
+ cl_assert_equal_i(GIT_REFERENCE_SYMBOLIC, git_reference_type(head));
+ cl_assert_equal_s("refs/heads/master", git_reference_symbolic_target(head));
+
+ git_reference_free(head);
+}
diff --git a/tests/resources/namespace.git/COMMIT_EDITMSG b/tests/resources/namespace.git/COMMIT_EDITMSG
new file mode 100644
index 000000000..851066514
--- /dev/null
+++ b/tests/resources/namespace.git/COMMIT_EDITMSG
@@ -0,0 +1 @@
+four
diff --git a/tests/resources/namespace.git/HEAD b/tests/resources/namespace.git/HEAD
new file mode 100644
index 000000000..60cbd742c
--- /dev/null
+++ b/tests/resources/namespace.git/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/four
diff --git a/tests/resources/namespace.git/config b/tests/resources/namespace.git/config
new file mode 100644
index 000000000..6c9406b7d
--- /dev/null
+++ b/tests/resources/namespace.git/config
@@ -0,0 +1,7 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+ ignorecase = true
+ precomposeunicode = true
diff --git a/tests/resources/namespace.git/description b/tests/resources/namespace.git/description
new file mode 100644
index 000000000..498b267a8
--- /dev/null
+++ b/tests/resources/namespace.git/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/tests/resources/namespace.git/index b/tests/resources/namespace.git/index
new file mode 100644
index 000000000..5ed27feb0
--- /dev/null
+++ b/tests/resources/namespace.git/index
Binary files differ
diff --git a/tests/resources/namespace.git/info/exclude b/tests/resources/namespace.git/info/exclude
new file mode 100644
index 000000000..a5196d1be
--- /dev/null
+++ b/tests/resources/namespace.git/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/tests/resources/namespace.git/logs/HEAD b/tests/resources/namespace.git/logs/HEAD
new file mode 100644
index 000000000..ca0497615
--- /dev/null
+++ b/tests/resources/namespace.git/logs/HEAD
@@ -0,0 +1,9 @@
+0000000000000000000000000000000000000000 9ebfa6bdc9d38075d29d26aa5df89b1cf635b269 Edward Thomson <ethomson@edwardthomson.com> 1661110058 -0400 commit (initial): Hello, world.
+9ebfa6bdc9d38075d29d26aa5df89b1cf635b269 7eeaa70d7c5592db920a2e107ce3918bd4c8a425 Edward Thomson <ethomson@edwardthomson.com> 1661110068 -0400 commit: with enthusiasm
+7eeaa70d7c5592db920a2e107ce3918bd4c8a425 7eeaa70d7c5592db920a2e107ce3918bd4c8a425 Edward Thomson <ethomson@edwardthomson.com> 1661110072 -0400 checkout: moving from main to branch
+7eeaa70d7c5592db920a2e107ce3918bd4c8a425 3d669d1b33ec8add4609d8043d025527db4989eb Edward Thomson <ethomson@edwardthomson.com> 1661110088 -0400 commit: capitalize
+3d669d1b33ec8add4609d8043d025527db4989eb bfd17f429f4e2d121769213171ad57ca2e5173f9 Edward Thomson <ethomson@edwardthomson.com> 1661110104 -0400 commit: less enthusiastic
+bfd17f429f4e2d121769213171ad57ca2e5173f9 7eeaa70d7c5592db920a2e107ce3918bd4c8a425 Edward Thomson <ethomson@edwardthomson.com> 1661110107 -0400 checkout: moving from branch to main
+0000000000000000000000000000000000000000 420d51ce75a87909e29659da2072ffd3d5daf5b7 Edward Thomson <ethomson@edwardthomson.com> 1661110166 -0400 commit (initial): 1 2 3
+420d51ce75a87909e29659da2072ffd3d5daf5b7 420d51ce75a87909e29659da2072ffd3d5daf5b7 Edward Thomson <ethomson@edwardthomson.com> 1661110209 -0400 checkout: moving from one to four
+420d51ce75a87909e29659da2072ffd3d5daf5b7 04433ff5b52d6ad534fd6288de4a57b81cc12188 Edward Thomson <ethomson@edwardthomson.com> 1661110212 -0400 commit: four
diff --git a/tests/resources/namespace.git/logs/refs/heads/branch b/tests/resources/namespace.git/logs/refs/heads/branch
new file mode 100644
index 000000000..e3dfea400
--- /dev/null
+++ b/tests/resources/namespace.git/logs/refs/heads/branch
@@ -0,0 +1,3 @@
+0000000000000000000000000000000000000000 7eeaa70d7c5592db920a2e107ce3918bd4c8a425 Edward Thomson <ethomson@edwardthomson.com> 1661110072 -0400 branch: Created from HEAD
+7eeaa70d7c5592db920a2e107ce3918bd4c8a425 3d669d1b33ec8add4609d8043d025527db4989eb Edward Thomson <ethomson@edwardthomson.com> 1661110088 -0400 commit: capitalize
+3d669d1b33ec8add4609d8043d025527db4989eb bfd17f429f4e2d121769213171ad57ca2e5173f9 Edward Thomson <ethomson@edwardthomson.com> 1661110104 -0400 commit: less enthusiastic
diff --git a/tests/resources/namespace.git/logs/refs/heads/four b/tests/resources/namespace.git/logs/refs/heads/four
new file mode 100644
index 000000000..2abf339ac
--- /dev/null
+++ b/tests/resources/namespace.git/logs/refs/heads/four
@@ -0,0 +1,2 @@
+0000000000000000000000000000000000000000 420d51ce75a87909e29659da2072ffd3d5daf5b7 Edward Thomson <ethomson@edwardthomson.com> 1661110209 -0400 branch: Created from HEAD
+420d51ce75a87909e29659da2072ffd3d5daf5b7 04433ff5b52d6ad534fd6288de4a57b81cc12188 Edward Thomson <ethomson@edwardthomson.com> 1661110212 -0400 commit: four
diff --git a/tests/resources/namespace.git/logs/refs/heads/main b/tests/resources/namespace.git/logs/refs/heads/main
new file mode 100644
index 000000000..04de95a49
--- /dev/null
+++ b/tests/resources/namespace.git/logs/refs/heads/main
@@ -0,0 +1,2 @@
+0000000000000000000000000000000000000000 9ebfa6bdc9d38075d29d26aa5df89b1cf635b269 Edward Thomson <ethomson@edwardthomson.com> 1661110058 -0400 commit (initial): Hello, world.
+9ebfa6bdc9d38075d29d26aa5df89b1cf635b269 7eeaa70d7c5592db920a2e107ce3918bd4c8a425 Edward Thomson <ethomson@edwardthomson.com> 1661110068 -0400 commit: with enthusiasm
diff --git a/tests/resources/namespace.git/logs/refs/heads/one b/tests/resources/namespace.git/logs/refs/heads/one
new file mode 100644
index 000000000..bd3c5fa25
--- /dev/null
+++ b/tests/resources/namespace.git/logs/refs/heads/one
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 420d51ce75a87909e29659da2072ffd3d5daf5b7 Edward Thomson <ethomson@edwardthomson.com> 1661110166 -0400 commit (initial): 1 2 3
diff --git a/tests/resources/namespace.git/objects/04/433ff5b52d6ad534fd6288de4a57b81cc12188 b/tests/resources/namespace.git/objects/04/433ff5b52d6ad534fd6288de4a57b81cc12188
new file mode 100644
index 000000000..be49bee0e
--- /dev/null
+++ b/tests/resources/namespace.git/objects/04/433ff5b52d6ad534fd6288de4a57b81cc12188
Binary files differ
diff --git a/tests/resources/namespace.git/objects/0a/890bd10328d68f6d85efd2535e3a4c588ee8e6 b/tests/resources/namespace.git/objects/0a/890bd10328d68f6d85efd2535e3a4c588ee8e6
new file mode 100644
index 000000000..41f340b2a
--- /dev/null
+++ b/tests/resources/namespace.git/objects/0a/890bd10328d68f6d85efd2535e3a4c588ee8e6
Binary files differ
diff --git a/tests/resources/namespace.git/objects/10/fcb1c85bd6b3bc6f43e0a3932ff5859121a84e b/tests/resources/namespace.git/objects/10/fcb1c85bd6b3bc6f43e0a3932ff5859121a84e
new file mode 100644
index 000000000..3005ed15a
--- /dev/null
+++ b/tests/resources/namespace.git/objects/10/fcb1c85bd6b3bc6f43e0a3932ff5859121a84e
Binary files differ
diff --git a/tests/resources/namespace.git/objects/24/bbdca8b223aaa3384d78312f730c58492aa30a b/tests/resources/namespace.git/objects/24/bbdca8b223aaa3384d78312f730c58492aa30a
new file mode 100644
index 000000000..c1e97d5e3
--- /dev/null
+++ b/tests/resources/namespace.git/objects/24/bbdca8b223aaa3384d78312f730c58492aa30a
Binary files differ
diff --git a/tests/resources/namespace.git/objects/27/0c611ee72c567bc1b2abec4cbc345bab9f15ba b/tests/resources/namespace.git/objects/27/0c611ee72c567bc1b2abec4cbc345bab9f15ba
new file mode 100644
index 000000000..300fb6715
--- /dev/null
+++ b/tests/resources/namespace.git/objects/27/0c611ee72c567bc1b2abec4cbc345bab9f15ba
Binary files differ
diff --git a/tests/resources/namespace.git/objects/2b/df67abb163a4ffb2d7f3f0880c9fe5068ce782 b/tests/resources/namespace.git/objects/2b/df67abb163a4ffb2d7f3f0880c9fe5068ce782
new file mode 100644
index 000000000..d0398e6e3
--- /dev/null
+++ b/tests/resources/namespace.git/objects/2b/df67abb163a4ffb2d7f3f0880c9fe5068ce782
Binary files differ
diff --git a/tests/resources/namespace.git/objects/3d/669d1b33ec8add4609d8043d025527db4989eb b/tests/resources/namespace.git/objects/3d/669d1b33ec8add4609d8043d025527db4989eb
new file mode 100644
index 000000000..a926c9ea7
--- /dev/null
+++ b/tests/resources/namespace.git/objects/3d/669d1b33ec8add4609d8043d025527db4989eb
@@ -0,0 +1,2 @@
+xQ
+0D)re&D^`ЂiJ*`TK*%E1#!zˀ!aH,*s(Bh$]4a`9=XW}'c-:lvH{c @z@mt;hݦ7-)Q \ No newline at end of file
diff --git a/tests/resources/namespace.git/objects/42/0d51ce75a87909e29659da2072ffd3d5daf5b7 b/tests/resources/namespace.git/objects/42/0d51ce75a87909e29659da2072ffd3d5daf5b7
new file mode 100644
index 000000000..fb91b1b12
--- /dev/null
+++ b/tests/resources/namespace.git/objects/42/0d51ce75a87909e29659da2072ffd3d5daf5b7
Binary files differ
diff --git a/tests/resources/namespace.git/objects/56/26abf0f72e58d7a153368ba57db4c673c0e171 b/tests/resources/namespace.git/objects/56/26abf0f72e58d7a153368ba57db4c673c0e171
new file mode 100644
index 000000000..4d5447467
--- /dev/null
+++ b/tests/resources/namespace.git/objects/56/26abf0f72e58d7a153368ba57db4c673c0e171
Binary files differ
diff --git a/tests/resources/namespace.git/objects/56/300b5eae653453102ac1213e921973c066425b b/tests/resources/namespace.git/objects/56/300b5eae653453102ac1213e921973c066425b
new file mode 100644
index 000000000..59f5649d2
--- /dev/null
+++ b/tests/resources/namespace.git/objects/56/300b5eae653453102ac1213e921973c066425b
Binary files differ
diff --git a/tests/resources/namespace.git/objects/7e/eaa70d7c5592db920a2e107ce3918bd4c8a425 b/tests/resources/namespace.git/objects/7e/eaa70d7c5592db920a2e107ce3918bd4c8a425
new file mode 100644
index 000000000..55706bf88
--- /dev/null
+++ b/tests/resources/namespace.git/objects/7e/eaa70d7c5592db920a2e107ce3918bd4c8a425
@@ -0,0 +1,2 @@
+x] }{Ͳ
+1x/4P^_4o2 %i<} l=bfG$M Sd.M,:du2LFiO \*<5s.y++\SuO.HcDi?ҟ3X o oYwR \ No newline at end of file
diff --git a/tests/resources/namespace.git/objects/85/10665149157c2bc901848c3e0b746954e9cbd9 b/tests/resources/namespace.git/objects/85/10665149157c2bc901848c3e0b746954e9cbd9
new file mode 100644
index 000000000..2f2fef743
--- /dev/null
+++ b/tests/resources/namespace.git/objects/85/10665149157c2bc901848c3e0b746954e9cbd9
Binary files differ
diff --git a/tests/resources/namespace.git/objects/9e/bfa6bdc9d38075d29d26aa5df89b1cf635b269 b/tests/resources/namespace.git/objects/9e/bfa6bdc9d38075d29d26aa5df89b1cf635b269
new file mode 100644
index 000000000..33ec05881
--- /dev/null
+++ b/tests/resources/namespace.git/objects/9e/bfa6bdc9d38075d29d26aa5df89b1cf635b269
Binary files differ
diff --git a/tests/resources/namespace.git/objects/9e/f15e3c5c0c8c6913936f843ad967cbe5541f0d b/tests/resources/namespace.git/objects/9e/f15e3c5c0c8c6913936f843ad967cbe5541f0d
new file mode 100644
index 000000000..0759911e0
--- /dev/null
+++ b/tests/resources/namespace.git/objects/9e/f15e3c5c0c8c6913936f843ad967cbe5541f0d
Binary files differ
diff --git a/tests/resources/namespace.git/objects/af/5626b4a114abcb82d63db7c8082c3c4756e51b b/tests/resources/namespace.git/objects/af/5626b4a114abcb82d63db7c8082c3c4756e51b
new file mode 100644
index 000000000..822bc1518
--- /dev/null
+++ b/tests/resources/namespace.git/objects/af/5626b4a114abcb82d63db7c8082c3c4756e51b
Binary files differ
diff --git a/tests/resources/namespace.git/objects/af/81e4bd99cbfe6f05a501f1e4c82db2bf803e02 b/tests/resources/namespace.git/objects/af/81e4bd99cbfe6f05a501f1e4c82db2bf803e02
new file mode 100644
index 000000000..a5e8ecb33
--- /dev/null
+++ b/tests/resources/namespace.git/objects/af/81e4bd99cbfe6f05a501f1e4c82db2bf803e02
Binary files differ
diff --git a/tests/resources/namespace.git/objects/bf/d17f429f4e2d121769213171ad57ca2e5173f9 b/tests/resources/namespace.git/objects/bf/d17f429f4e2d121769213171ad57ca2e5173f9
new file mode 100644
index 000000000..ebd27b88e
--- /dev/null
+++ b/tests/resources/namespace.git/objects/bf/d17f429f4e2d121769213171ad57ca2e5173f9
@@ -0,0 +1,2 @@
+x]
+0}) @҂5x}xfeYƛ]""@c`2֋M.{"ʣ"Zɔ]Ȅ2͑)ʠڧRʯTnSYZyI6Ive9Ak!n]Qwi 6imsj} R \ No newline at end of file
diff --git a/tests/resources/namespace.git/objects/ec/947e3dd7a7752d078f1ed0cfde7457b21fef58 b/tests/resources/namespace.git/objects/ec/947e3dd7a7752d078f1ed0cfde7457b21fef58
new file mode 100644
index 000000000..a6e1d1d8e
--- /dev/null
+++ b/tests/resources/namespace.git/objects/ec/947e3dd7a7752d078f1ed0cfde7457b21fef58
Binary files differ
diff --git a/tests/resources/namespace.git/objects/f7/19efd430d52bcfc8566a43b2eb655688d38871 b/tests/resources/namespace.git/objects/f7/19efd430d52bcfc8566a43b2eb655688d38871
new file mode 100644
index 000000000..b2d51d93b
--- /dev/null
+++ b/tests/resources/namespace.git/objects/f7/19efd430d52bcfc8566a43b2eb655688d38871
Binary files differ
diff --git a/tests/resources/namespace.git/objects/f7/5ba05f340c51065cbea2e1fdbfe5fe13144c97 b/tests/resources/namespace.git/objects/f7/5ba05f340c51065cbea2e1fdbfe5fe13144c97
new file mode 100644
index 000000000..044001e9f
--- /dev/null
+++ b/tests/resources/namespace.git/objects/f7/5ba05f340c51065cbea2e1fdbfe5fe13144c97
Binary files differ
diff --git a/tests/resources/namespace.git/refs/heads/branch b/tests/resources/namespace.git/refs/heads/branch
new file mode 100644
index 000000000..69625465e
--- /dev/null
+++ b/tests/resources/namespace.git/refs/heads/branch
@@ -0,0 +1 @@
+bfd17f429f4e2d121769213171ad57ca2e5173f9
diff --git a/tests/resources/namespace.git/refs/heads/main b/tests/resources/namespace.git/refs/heads/main
new file mode 100644
index 000000000..b8697694e
--- /dev/null
+++ b/tests/resources/namespace.git/refs/heads/main
@@ -0,0 +1 @@
+7eeaa70d7c5592db920a2e107ce3918bd4c8a425
diff --git a/tests/resources/namespace.git/refs/namespaces/name1/refs/heads/four b/tests/resources/namespace.git/refs/namespaces/name1/refs/heads/four
new file mode 100644
index 000000000..86fdb418b
--- /dev/null
+++ b/tests/resources/namespace.git/refs/namespaces/name1/refs/heads/four
@@ -0,0 +1 @@
+04433ff5b52d6ad534fd6288de4a57b81cc12188
diff --git a/tests/resources/namespace.git/refs/namespaces/name1/refs/heads/one b/tests/resources/namespace.git/refs/namespaces/name1/refs/heads/one
new file mode 100644
index 000000000..22d81378d
--- /dev/null
+++ b/tests/resources/namespace.git/refs/namespaces/name1/refs/heads/one
@@ -0,0 +1 @@
+420d51ce75a87909e29659da2072ffd3d5daf5b7