(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: { (SQ (Token id: Id.Lit_Chars val: 'git svn dcommit can commit renames of files with ugly names' span_id: 13 ) ) } spids: [11] ) ] ) (C {(.)} {(./lib-git-svn.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'load repository with strange names' span_id:25))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:29) (Token id: Id.Lit_Chars val: '\tsvnadmin load -q "$rawsvnrepo" <"$TEST_DIRECTORY"/t9115/funky-names.dump\n' span_id: 30 ) ) } ) (C {(maybe_start_httpd)} {(gtk) (Id.Lit_Other '+')}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'init and fetch repository' span_id:43))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:47) (Token id:Id.Lit_Chars val:'\tgit svn init "$svnrepo" &&\n' span_id:48) (Token id:Id.Lit_Chars val:'\tgit svn fetch &&\n' span_id:49) (Token id:Id.Lit_Chars val:'\tgit reset --hard git-svn\n' span_id:50) (Token id:Id.Lit_Chars val:'\t' span_id:51) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'create file in existing ugly and empty dir' span_id:58))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:62) (Token id:Id.Lit_Chars val:'\tmkdir -p "#{bad_directory_name}" &&\n' span_id:63) (Token id:Id.Lit_Chars val:'\techo hi > "#{bad_directory_name}/ foo" &&\n' span_id:64) (Token id: Id.Lit_Chars val: '\tgit update-index --add "#{bad_directory_name}/ foo" &&\n' span_id: 65 ) (Token id:Id.Lit_Chars val:'\tgit commit -m "new file in ugly parent" &&\n' span_id:66) (Token id:Id.Lit_Chars val:'\tgit svn dcommit\n' span_id:67) (Token id:Id.Lit_Chars val:'\t' span_id:68) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rename ugly file' span_id:75))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:79) (Token id: Id.Lit_Chars val: '\tgit mv "#{bad_directory_name}/ foo" "file name with feces" &&\n' span_id: 80 ) (Token id:Id.Lit_Chars val:'\tgit commit -m "rename ugly file" &&\n' span_id:81) (Token id:Id.Lit_Chars val:'\tgit svn dcommit\n' span_id:82) (Token id:Id.Lit_Chars val:'\t' span_id:83) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rename pretty file' span_id:90))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:94) (Token id:Id.Lit_Chars val:'\techo :x > pretty &&\n' span_id:95) (Token id:Id.Lit_Chars val:'\tgit update-index --add pretty &&\n' span_id:96) (Token id:Id.Lit_Chars val:'\tgit commit -m "pretty :x" &&\n' span_id:97) (Token id:Id.Lit_Chars val:'\tgit svn dcommit &&\n' span_id:98) (Token id:Id.Lit_Chars val:'\tmkdir -p regular_dir_name &&\n' span_id:99) (Token id:Id.Lit_Chars val:'\tgit mv pretty regular_dir_name/pretty &&\n' span_id:100) (Token id: Id.Lit_Chars val: '\tgit commit -m "moved pretty file" &&\n' span_id: 101 ) (Token id:Id.Lit_Chars val:'\tgit svn dcommit\n' span_id:102) (Token id:Id.Lit_Chars val:'\t' span_id:103) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rename pretty file into ugly one' span_id:110))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:114) (Token id: Id.Lit_Chars val: '\tgit mv regular_dir_name/pretty "#{bad_directory_name}/ booboo" &&\n' span_id: 115 ) (Token id:Id.Lit_Chars val:'\tgit commit -m booboo &&\n' span_id:116) (Token id:Id.Lit_Chars val:'\tgit svn dcommit\n' span_id:117) (Token id:Id.Lit_Chars val:'\t' span_id:118) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'add a file with plus signs' span_id:125))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:129) (Token id:Id.Lit_Chars val:'\techo .. > +_+ &&\n' span_id:130) (Token id:Id.Lit_Chars val:'\tgit update-index --add +_+ &&\n' span_id:131) (Token id:Id.Lit_Chars val:'\tgit commit -m plus &&\n' span_id:132) (Token id:Id.Lit_Chars val:'\tmkdir gtk+ &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\tgit mv +_+ gtk+/_+_ &&\n' span_id:134) (Token id:Id.Lit_Chars val:'\tgit commit -m plus_dir &&\n' span_id:135) (Token id:Id.Lit_Chars val:'\tgit svn dcommit\n' span_id:136) (Token id:Id.Lit_Chars val:'\t' span_id:137) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone the repository to test rebase' span_id:144))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:148) (Token id: Id.Lit_Chars val: '\tgit svn clone "$svnrepo" test-rebase &&\n' span_id: 149 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:150) (Token id:Id.Lit_Chars val:'\t\tcd test-rebase &&\n' span_id:151) (Token id:Id.Lit_Chars val:'\t\techo test-rebase >test-rebase &&\n' span_id:152) (Token id:Id.Lit_Chars val:'\t\tgit add test-rebase &&\n' span_id:153) (Token id:Id.Lit_Chars val:'\t\tgit commit -m test-rebase\n' span_id:154) (Token id:Id.Lit_Chars val:'\t)\n' span_id:155) (Token id:Id.Lit_Chars val:'\t' span_id:156) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'make a commit to test rebase' span_id:163))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:167) (Token id: Id.Lit_Chars val: '\t\techo test-rebase-main > test-rebase-main &&\n' span_id: 168 ) (Token id:Id.Lit_Chars val:'\t\tgit add test-rebase-main &&\n' span_id:169) (Token id:Id.Lit_Chars val:'\t\tgit commit -m test-rebase-main &&\n' span_id:170) (Token id:Id.Lit_Chars val:'\t\tgit svn dcommit\n' span_id:171) (Token id:Id.Lit_Chars val:'\t' span_id:172) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'git svn rebase works inside a fresh-cloned repository' span_id: 179 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:183) (Token id:Id.Lit_Chars val:'\t(\n' span_id:184) (Token id:Id.Lit_Chars val:'\t\tcd test-rebase &&\n' span_id:185) (Token id:Id.Lit_Chars val:'\t\tgit svn rebase &&\n' span_id:186) (Token id:Id.Lit_Chars val:'\t\ttest -e test-rebase-main &&\n' span_id:187) (Token id:Id.Lit_Chars val:'\t\ttest -e test-rebase\n' span_id:188) (Token id:Id.Lit_Chars val:'\t)' span_id:189) ) } ) (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 (Token id:Id.Lit_Chars val:'svn.pathnameencoding=cp932 new file on dcommit' span_id:230))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:234) (Token id:Id.Lit_Chars val:'\tLC_ALL=$a_utf8_locale &&\n' span_id:235) (Token id:Id.Lit_Chars val:'\texport LC_ALL &&\n' span_id:236) (Token id:Id.Lit_Chars val:'\tneq=$(printf "\\201\\202") &&\n' span_id:237) (Token id:Id.Lit_Chars val:'\tgit config svn.pathnameencoding cp932 &&\n' span_id:238) (Token id:Id.Lit_Chars val:'\techo neq >"$neq" &&\n' span_id:239) (Token id:Id.Lit_Chars val:'\tgit add "$neq" &&\n' span_id:240) (Token id:Id.Lit_Chars val:'\tgit commit -m "neq" &&\n' span_id:241) (Token id:Id.Lit_Chars val:'\tgit svn dcommit\n' span_id:242) ) } ) (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW) (Id.Lit_Comma ',') (Id.KW_Bang '!') (UTF8_NFD_TO_NFC)} {(SQ (Token id:Id.Lit_Chars val:'svn.pathnameencoding=cp932 rename on dcommit' span_id:258))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:262) (Token id:Id.Lit_Chars val:'\tLC_ALL=$a_utf8_locale &&\n' span_id:263) (Token id:Id.Lit_Chars val:'\texport LC_ALL &&\n' span_id:264) (Token id:Id.Lit_Chars val:'\tinf=$(printf "\\201\\207") &&\n' span_id:265) (Token id:Id.Lit_Chars val:'\tgit config svn.pathnameencoding cp932 &&\n' span_id:266) (Token id:Id.Lit_Chars val:'\techo inf >"$inf" &&\n' span_id:267) (Token id:Id.Lit_Chars val:'\tgit add "$inf" &&\n' span_id:268) (Token id:Id.Lit_Chars val:'\tgit commit -m "inf" &&\n' span_id:269) (Token id:Id.Lit_Chars val:'\tgit svn dcommit &&\n' span_id:270) (Token id:Id.Lit_Chars val:'\tgit mv "$inf" inf &&\n' span_id:271) (Token id:Id.Lit_Chars val:'\tgit commit -m "inf rename" &&\n' span_id:272) (Token id:Id.Lit_Chars val:'\tgit svn dcommit\n' span_id:273) ) } ) (C {(stop_httpd)}) (C {(test_done)}) ] )