diff options
author | Christian Couder <chriscool@tuxfamily.org> | 2009-01-23 10:07:46 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-05-31 17:02:59 -0700 |
commit | dae556bdb1e2ad6fb5eafe82e975bde01029fca9 (patch) | |
tree | 40c26f7e70c36888ae3197162d49280eb92c5a4f /t | |
parent | cc400f50112a58471b992a54b1a05d99a8a82457 (diff) | |
download | git-dae556bdb1e2ad6fb5eafe82e975bde01029fca9.tar.gz |
environment: add global variable to disable replacement
This new "read_replace_refs" global variable is set to 1 by
default, so that replace refs are used by default. But
reachability traversal and packing commands ("cmd_fsck",
"cmd_prune", "cmd_pack_objects", "upload_pack",
"cmd_unpack_objects") set it to 0, as they must work with the
original DAG.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t6050-replace.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh index 334aed6216..17f6063207 100755 --- a/t/t6050-replace.sh +++ b/t/t6050-replace.sh @@ -82,6 +82,29 @@ test_expect_success 'tag replaced commit' ' git mktag <tag.sig >.git/refs/tags/mytag 2>message ' +test_expect_success '"git fsck" works' ' + git fsck master > fsck_master.out && + grep "dangling commit $R" fsck_master.out && + grep "dangling tag $(cat .git/refs/tags/mytag)" fsck_master.out && + test -z "$(git fsck)" +' + +test_expect_success 'repack, clone and fetch work' ' + git repack -a -d && + git clone --no-hardlinks . clone_dir && + cd clone_dir && + git show HEAD~5 | grep "A U Thor" && + git show $HASH2 | grep "A U Thor" && + git cat-file commit $R && + git repack -a -d && + test_must_fail git cat-file commit $R && + git fetch ../ "refs/replace/*:refs/replace/*" && + git show HEAD~5 | grep "O Thor" && + git show $HASH2 | grep "O Thor" && + git cat-file commit $R && + cd .. +' + # # test_done |