|  | #!/bin/sh | 
|  | # | 
|  | # Copyright (c) 2009 Ben Jackson | 
|  | # | 
|  |  | 
|  | test_description='git svn reset' | 
|  | . ./lib-git-svn.sh | 
|  |  | 
|  | test_expect_success 'setup test repository' ' | 
|  | svn_cmd co "$svnrepo" s && | 
|  | ( | 
|  | cd s && | 
|  | mkdir vis && | 
|  | echo always visible > vis/vis.txt && | 
|  | svn_cmd add vis && | 
|  | svn_cmd commit -m "create visible files" && | 
|  | mkdir hid && | 
|  | echo initially hidden > hid/hid.txt && | 
|  | svn_cmd add hid && | 
|  | svn_cmd commit -m "create initially hidden files" && | 
|  | svn_cmd up && | 
|  | echo mod >> vis/vis.txt && | 
|  | svn_cmd commit -m "modify vis" && | 
|  | svn_cmd up | 
|  | ) | 
|  | ' | 
|  |  | 
|  | test_expect_success 'clone SVN repository with hidden directory' ' | 
|  | git svn init "$svnrepo" g && | 
|  | ( cd g && git svn fetch --ignore-paths="^hid" ) | 
|  | ' | 
|  |  | 
|  | test_expect_success 'modify hidden file in SVN repo' ' | 
|  | ( cd s && | 
|  | echo mod hidden >> hid/hid.txt && | 
|  | svn_cmd commit -m "modify hid" && | 
|  | svn_cmd up | 
|  | ) | 
|  | ' | 
|  |  | 
|  | test_expect_success 'fetch fails on modified hidden file' ' | 
|  | ( cd g && | 
|  | git svn find-rev refs/remotes/git-svn > ../expect && | 
|  | test_must_fail git svn fetch 2> ../errors && | 
|  | git svn find-rev refs/remotes/git-svn > ../expect2 ) && | 
|  | fgrep "not found in commit" errors && | 
|  | test_cmp expect expect2 | 
|  | ' | 
|  |  | 
|  | test_expect_success 'reset unwinds back to r1' ' | 
|  | ( cd g && | 
|  | git svn reset -r1 && | 
|  | git svn find-rev refs/remotes/git-svn > ../expect2 ) && | 
|  | echo 1 >expect && | 
|  | test_cmp expect expect2 | 
|  | ' | 
|  |  | 
|  | test_expect_success 'refetch succeeds not ignoring any files' ' | 
|  | ( cd g && | 
|  | git svn fetch && | 
|  | git svn rebase && | 
|  | fgrep "mod hidden" hid/hid.txt | 
|  | ) | 
|  | ' | 
|  |  | 
|  | test_done |