@@ -154,5 +154,37 @@ test_expect_success 'push (chunked)' '
154154 test $HEAD = $(git rev-parse --verify HEAD))
155155'
156156
157+ test_expect_success ' push --all can push to empty repo' '
158+ d=$HTTPD_DOCUMENT_ROOT_PATH/empty-all.git &&
159+ git init --bare "$d" &&
160+ git --git-dir="$d" config http.receivepack true &&
161+ git push --all "$HTTPD_URL"/smart/empty-all.git
162+ '
163+
164+ test_expect_success ' push --mirror can push to empty repo' '
165+ d=$HTTPD_DOCUMENT_ROOT_PATH/empty-mirror.git &&
166+ git init --bare "$d" &&
167+ git --git-dir="$d" config http.receivepack true &&
168+ git push --mirror "$HTTPD_URL"/smart/empty-mirror.git
169+ '
170+
171+ test_expect_success ' push --all to repo with alternates' '
172+ s=$HTTPD_DOCUMENT_ROOT_PATH/test_repo.git &&
173+ d=$HTTPD_DOCUMENT_ROOT_PATH/alternates-all.git &&
174+ git clone --bare --shared "$s" "$d" &&
175+ git --git-dir="$d" config http.receivepack true &&
176+ git --git-dir="$d" repack -adl &&
177+ git push --all "$HTTPD_URL"/smart/alternates-all.git
178+ '
179+
180+ test_expect_success ' push --mirror to repo with alternates' '
181+ s=$HTTPD_DOCUMENT_ROOT_PATH/test_repo.git &&
182+ d=$HTTPD_DOCUMENT_ROOT_PATH/alternates-mirror.git &&
183+ git clone --bare --shared "$s" "$d" &&
184+ git --git-dir="$d" config http.receivepack true &&
185+ git --git-dir="$d" repack -adl &&
186+ git push --mirror "$HTTPD_URL"/smart/alternates-mirror.git
187+ '
188+
157189stop_httpd
158190test_done
0 commit comments