From: drafnel@gmail.com Date: Sun, 18 May 2008 04:00:00 GMT Subject: [PATCH] t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects Message-ID: <16342222.1211083116270.JavaMail.teamon@b306.teamon.com> From: Brandon Casey Unpacked objects should receive the timestamp of the pack they were unpacked from. Check. Signed-off-by: Brandon Casey --- t/t7701-repack-unpack-unreachable.sh | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/t/t7701-repack-unpack-unreachable.sh b/t/t7701-repack-unpack-unreachable.sh index 6a5211f..bdb00d4 100755 --- a/t/t7701-repack-unpack-unreachable.sh +++ b/t/t7701-repack-unpack-unreachable.sh @@ -4,6 +4,10 @@ test_description='git-repack works correctly' . ./test-lib.sh +fsha1= +csha1= +tsha1= + test_expect_success '-A option leaves unreachable objects unpacked' ' echo content > file1 && git add . && @@ -44,4 +48,28 @@ test_expect_success '-A option leaves unreachable objects unpacked' ' git show $tsha1 ' +test_expect_success 'unpacked objects receive timestamp of pack file' ' + fsha1path=$(echo "$fsha1" | sed -e "s/\(..\)\(.*\)/\1\/\2/") && + fsha1path=".git/objects/$fsha1path" && + csha1path=$(echo "$csha1" | sed -e "s/\(..\)\(.*\)/\1\/\2/") && + csha1path=".git/objects/$csha1path" && + tsha1path=$(echo "$tsha1" | sed -e "s/\(..\)\(.*\)/\1\/\2/") && + tsha1path=".git/objects/$tsha1path" && + git branch transient_branch $csha1 && + git repack -a -d -l && + test ! -f "$fsha1path" && + test ! -f "$csha1path" && + test ! -f "$tsha1path" && + test 1 = $(ls -1 .git/objects/pack/pack-*.pack | wc -l) && + packfile=$(ls .git/objects/pack/pack-*.pack) && + git branch -D transient_branch && + git repack -A -l && + test -f "$fsha1path" -a ! "$fsha1path" -nt "$packfile" -a \ + ! "$fsha1path" -ot "$packfile" && + test -f "$csha1path" -a ! "$csha1path" -nt "$packfile" -a \ + ! "$csha1path" -ot "$packfile" && + test -f "$tsha1path" -a ! "$tsha1path" -nt "$packfile" -a \ + ! "$tsha1path" -ot "$packfile" +' + test_done -- 1.5.5.1.447.geb0a7