| 1 | #!/bin/sh |
| 2 | # |
| 3 | # Copyright (c) 2009 Robert Allan Zeh |
| 4 | |
| 5 | test_description='git svn gc basic tests' |
| 6 | |
| 7 | . ./lib-git-svn.sh |
| 8 | |
| 9 | test_expect_success 'setup directories and test repo' ' |
| 10 | mkdir import && |
| 11 | mkdir tmp && |
| 12 | echo "Sample text for Subversion repository." > import/test.txt && |
| 13 | svn_cmd import -m "import for git svn" import "$svnrepo" > /dev/null |
| 14 | ' |
| 15 | |
| 16 | test_expect_success 'checkout working copy from svn' \ |
| 17 | 'svn_cmd co "$svnrepo" test_wc' |
| 18 | |
| 19 | test_expect_success 'set some properties to create an unhandled.log file' ' |
| 20 | ( |
| 21 | cd test_wc && |
| 22 | svn_cmd propset foo bar test.txt && |
| 23 | svn_cmd commit -m "property set" |
| 24 | )' |
| 25 | |
| 26 | test_expect_success 'Setup repo' 'git svn init "$svnrepo"' |
| 27 | |
| 28 | test_expect_success 'Fetch repo' 'git svn fetch' |
| 29 | |
| 30 | test_expect_success 'make backup copy of unhandled.log' ' |
| 31 | cp .git/svn/refs/remotes/git-svn/unhandled.log tmp |
| 32 | ' |
| 33 | |
| 34 | test_expect_success 'create leftover index' '> .git/svn/refs/remotes/git-svn/index' |
| 35 | |
| 36 | test_expect_success 'git svn gc runs' 'git svn gc' |
| 37 | |
| 38 | test_expect_success 'git svn index removed' '! test -f .git/svn/refs/remotes/git-svn/index' |
| 39 | |
| 40 | if test -r .git/svn/refs/remotes/git-svn/unhandled.log.gz |
| 41 | then |
| 42 | test_expect_success 'git svn gc produces a valid gzip file' ' |
| 43 | gunzip .git/svn/refs/remotes/git-svn/unhandled.log.gz |
| 44 | ' |
| 45 | fi |
| 46 | |
| 47 | test_expect_success 'git svn gc does not change unhandled.log files' ' |
| 48 | test_cmp .git/svn/refs/remotes/git-svn/unhandled.log tmp/unhandled.log |
| 49 | ' |
| 50 | |
| 51 | test_done |