|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Copyright (c) 2009 Robert Allan Zeh
|
|
|
|
|
|
|
|
test_description='git svn gc basic tests'
|
|
|
|
|
|
|
|
. ./lib-git-svn.sh
|
|
|
|
|
|
|
|
test_expect_success 'setup directories and test repo' '
|
|
|
|
mkdir import &&
|
|
|
|
mkdir tmp &&
|
|
|
|
echo "Sample text for Subversion repository." > import/test.txt &&
|
|
|
|
svn_cmd import -m "import for git svn" import "$svnrepo" > /dev/null
|
|
|
|
'
|
|
|
|
|
|
|
|
test_expect_success 'checkout working copy from svn' \
|
|
|
|
'svn_cmd co "$svnrepo" test_wc'
|
|
|
|
|
|
|
|
test_expect_success 'set some properties to create an unhandled.log file' '
|
|
|
|
(
|
|
|
|
cd test_wc &&
|
|
|
|
svn_cmd propset foo bar test.txt &&
|
|
|
|
svn_cmd commit -m "property set"
|
|
|
|
)'
|
|
|
|
|
|
|
|
test_expect_success 'Setup repo' 'git svn init "$svnrepo"'
|
|
|
|
|
|
|
|
test_expect_success 'Fetch repo' 'git svn fetch'
|
|
|
|
|
|
|
|
test_expect_success 'make backup copy of unhandled.log' '
|
|
|
|
cp .git/svn/refs/remotes/git-svn/unhandled.log tmp
|
|
|
|
'
|
|
|
|
|
|
|
|
test_expect_success 'create leftover index' '> .git/svn/refs/remotes/git-svn/index'
|
|
|
|
|
|
|
|
test_expect_success 'git svn gc runs' 'git svn gc'
|
|
|
|
|
|
|
|
test_expect_success 'git svn index removed' '! test -f .git/svn/refs/remotes/git-svn/index'
|
|
|
|
|
|
|
|
if perl -MCompress::Zlib -e 0 2>/dev/null
|
|
|
|
then
|
|
|
|
test_expect_success 'git svn gc produces a valid gzip file' '
|
|
|
|
gunzip .git/svn/refs/remotes/git-svn/unhandled.log.gz
|
|
|
|
'
|
|
|
|
else
|
|
|
|
say "Perl Compress::Zlib unavailable, skipping gunzip test"
|
|
|
|
fi
|
|
|
|
|
|
|
|
test_expect_success 'git svn gc does not change unhandled.log files' '
|
|
|
|
test_cmp .git/svn/refs/remotes/git-svn/unhandled.log tmp/unhandled.log
|
|
|
|
'
|
|
|
|
|
|
|
|
test_done
|