diff options
author | Junio C Hamano <junkio@cox.net> | 2006-05-07 15:36:39 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-07 15:36:39 -0700 |
commit | fd60acaced6de16ebfb66959067e2b29f99a133e (patch) | |
tree | 32d43206d1d50ddab868904991fa75f88f69ffa7 /t | |
parent | d92f1dc63f0582e7cf8dac54d50a2748119a1ce3 (diff) | |
parent | 178613c737f82489a1e2c387236731541fe19081 (diff) | |
download | git-fd60acaced6de16ebfb66959067e2b29f99a133e.tar.gz git-fd60acaced6de16ebfb66959067e2b29f99a133e.tar.xz |
Merge branch 'fix'
* fix:
repack: honor -d even when no new pack was created
clone: keep --reference even with -l -s
repo-config: document what value_regexp does a bit more clearly.
Release config lock if the regex is invalid
core-tutorial.txt: escape asterisk
Diffstat (limited to 't')
-rwxr-xr-x | t/t5700-clone-reference.sh | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/t/t5700-clone-reference.sh b/t/t5700-clone-reference.sh new file mode 100755 index 000000000..916ee15ba --- /dev/null +++ b/t/t5700-clone-reference.sh @@ -0,0 +1,78 @@ +#!/bin/sh +# +# Copyright (C) 2006 Martin Waitz <tali@admingilde.org> +# + +test_description='test clone --reference' +. ./test-lib.sh + +base_dir=`pwd` + +test_expect_success 'preparing first repository' \ +'test_create_repo A && cd A && +echo first > file1 && +git add file1 && +git commit -m initial' + +cd "$base_dir" + +test_expect_success 'preparing second repository' \ +'git clone A B && cd B && +echo second > file2 && +git add file2 && +git commit -m addition && +git repack -a -d && +git prune' + +cd "$base_dir" + +test_expect_success 'cloning with reference' \ +'git clone -l -s --reference B A C' + +cd "$base_dir" + +test_expect_success 'existance of info/alternates' \ +'test `wc -l <C/.git/objects/info/alternates` = 2' + +cd "$base_dir" + +test_expect_success 'pulling from reference' \ +'cd C && +git pull ../B' + +cd "$base_dir" + +test_expect_success 'that reference gets used' \ +'cd C && +echo "0 objects, 0 kilobytes" > expected && +git count-objects > current && +diff expected current' + +cd "$base_dir" + +test_expect_success 'updating origin' \ +'cd A && +echo third > file3 && +git add file3 && +git commit -m update && +git repack -a -d && +git prune' + +cd "$base_dir" + +test_expect_success 'pulling changes from origin' \ +'cd C && +git pull origin' + +cd "$base_dir" + +# the 2 local objects are commit and tree from the merge +test_expect_success 'that alternate to origin gets used' \ +'cd C && +echo "2 objects" > expected && +git count-objects | cut -d, -f1 > current && +diff expected current' + +cd "$base_dir" + +test_done |