@@ -154,5 +154,37 @@ test_expect_success 'push (chunked)' '
154
154
test $HEAD = $(git rev-parse --verify HEAD))
155
155
'
156
156
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
+
157
189
stop_httpd
158
190
test_done
0 commit comments