(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'git svn dcommit can commit renames of files with ugly names'>)} spids: [11] ) ] ) (C {<.>} {<'./lib-git-svn.sh'>}) (C {<test_expect_success>} {(SQ <'load repository with strange names'>)} {(SQ <'\n'> <'\tsvnadmin load -q "$rawsvnrepo" <"$TEST_DIRECTORY"/t9115/funky-names.dump\n'>)} ) (C {<maybe_start_httpd>} {<gtk> <Id.Lit_Other '+'>}) (C {<test_expect_success>} {(SQ <'init and fetch repository'>)} { (SQ <'\n'> <'\tgit svn init "$svnrepo" &&\n'> <'\tgit svn fetch &&\n'> <'\tgit reset --hard git-svn\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'create file in existing ugly and empty dir'>)} { (SQ <'\n'> <'\tmkdir -p "#{bad_directory_name}" &&\n'> <'\techo hi > "#{bad_directory_name}/ foo" &&\n'> <'\tgit update-index --add "#{bad_directory_name}/ foo" &&\n'> <'\tgit commit -m "new file in ugly parent" &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'rename ugly file'>)} { (SQ <'\n'> <'\tgit mv "#{bad_directory_name}/ foo" "file name with feces" &&\n'> <'\tgit commit -m "rename ugly file" &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'rename pretty file'>)} { (SQ <'\n'> <'\techo :x > pretty &&\n'> <'\tgit update-index --add pretty &&\n'> <'\tgit commit -m "pretty :x" &&\n'> <'\tgit svn dcommit &&\n'> <'\tmkdir -p regular_dir_name &&\n'> <'\tgit mv pretty regular_dir_name/pretty &&\n'> <'\tgit commit -m "moved pretty file" &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'rename pretty file into ugly one'>)} { (SQ <'\n'> <'\tgit mv regular_dir_name/pretty "#{bad_directory_name}/ booboo" &&\n'> <'\tgit commit -m booboo &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'add a file with plus signs'>)} { (SQ <'\n'> <'\techo .. > +_+ &&\n'> <'\tgit update-index --add +_+ &&\n'> <'\tgit commit -m plus &&\n'> <'\tmkdir gtk+ &&\n'> <'\tgit mv +_+ gtk+/_+_ &&\n'> <'\tgit commit -m plus_dir &&\n'> <'\tgit svn dcommit\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'clone the repository to test rebase'>)} { (SQ <'\n'> <'\tgit svn clone "$svnrepo" test-rebase &&\n'> <'\t(\n'> <'\t\tcd test-rebase &&\n'> <'\t\techo test-rebase >test-rebase &&\n'> <'\t\tgit add test-rebase &&\n'> <'\t\tgit commit -m test-rebase\n'> <'\t)\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'make a commit to test rebase'>)} { (SQ <'\n'> <'\t\techo test-rebase-main > test-rebase-main &&\n'> <'\t\tgit add test-rebase-main &&\n'> <'\t\tgit commit -m test-rebase-main &&\n'> <'\t\tgit svn dcommit\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'git svn rebase works inside a fresh-cloned repository'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd test-rebase &&\n'> <'\t\tgit svn rebase &&\n'> <'\t\ttest -e test-rebase-main &&\n'> <'\t\ttest -e test-rebase\n'> <'\t)'> ) } ) (C {<prepare_a_utf8_locale>}) (C {<test_expect_success>} {<UTF8> <Id.Lit_Comma ','> <Id.KW_Bang '!'> <MINGW> <Id.Lit_Comma ','> <Id.KW_Bang '!'> <UTF8_NFD_TO_NFC> } {(SQ <'svn.pathnameencoding=cp932 new file on dcommit'>)} { (SQ <'\n'> <'\tLC_ALL=$a_utf8_locale &&\n'> <'\texport LC_ALL &&\n'> <'\tneq=$(printf "\\201\\202") &&\n'> <'\tgit config svn.pathnameencoding cp932 &&\n'> <'\techo neq >"$neq" &&\n'> <'\tgit add "$neq" &&\n'> <'\tgit commit -m "neq" &&\n'> <'\tgit svn dcommit\n'> ) } ) (C {<test_expect_success>} {<Id.KW_Bang '!'> <MINGW> <Id.Lit_Comma ','> <Id.KW_Bang '!'> <UTF8_NFD_TO_NFC>} {(SQ <'svn.pathnameencoding=cp932 rename on dcommit'>)} { (SQ <'\n'> <'\tLC_ALL=$a_utf8_locale &&\n'> <'\texport LC_ALL &&\n'> <'\tinf=$(printf "\\201\\207") &&\n'> <'\tgit config svn.pathnameencoding cp932 &&\n'> <'\techo inf >"$inf" &&\n'> <'\tgit add "$inf" &&\n'> <'\tgit commit -m "inf" &&\n'> <'\tgit svn dcommit &&\n'> <'\tgit mv "$inf" inf &&\n'> <'\tgit commit -m "inf rename" &&\n'> <'\tgit svn dcommit\n'> ) } ) (C {<stop_httpd>}) (C {<test_done>}) ] )