Code

Add a test for another combination of --reference
authorJohan Herland <johan@herland.net>
Thu, 22 May 2008 22:03:05 +0000 (18:03 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 23 May 2008 06:35:09 +0000 (23:35 -0700)
In this case, the reference repository has some useful loose objects,
but not all useful objects, and we make sure that we can find the
objects we fetch from the repository we're cloning in the new
repository, instead of potentially being distracted by the reference
repository.

Doing the wrong thing in a builtin-clone implementation would lead to
this looking for an object in the wrong place, not finding it (because
it's only in the right place), and crashing.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5700-clone-reference.sh

index 58a97f1ed1649b38aa06f7ea307f2907d10dfb16..b53c3ff956ed65242b3925810550f6eb051254d9 100755 (executable)
@@ -120,4 +120,25 @@ diff expected current'
 
 cd "$base_dir"
 
+test_expect_success 'preparing alternate repository #1' \
+'test_create_repo F && cd F &&
+echo first > file1 &&
+git add file1 &&
+git commit -m initial'
+
+cd "$base_dir"
+
+test_expect_success 'cloning alternate repo #2 and adding changes to repo #1' \
+'git clone F G && cd F &&
+echo second > file2 &&
+git add file2 &&
+git commit -m addition'
+
+cd "$base_dir"
+
+test_expect_success 'cloning alternate repo #1, using #2 as reference' \
+'git clone --reference G F H'
+
+cd "$base_dir"
+
 test_done