(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'git svn funky branch names'>)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./lib-git-svn.sh)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:scary_uri) op: Equal rhs: {(SQ <'Abo-Uebernahme%20%28Bug%20%23994%29'>)} spids: [26] ) ] spids: [26] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:scary_ref) op: Equal rhs: {(SQ <'Abo-Uebernahme%20(Bug%20#994)'>)} spids: [31] ) ] spids: [31] ) (C {(test_expect_success)} {(SQ <'setup svnrepo'>)} { (SQ <'\n'> <'\tmkdir project project/trunk project/branches project/tags &&\n'> <'\techo foo > project/trunk/foo &&\n'> <'\tsvn_cmd import -m "$test_description" project "$svnrepo/pr ject" &&\n'> <'\trm -rf project &&\n'> <'\tsvn_cmd cp -m "fun" "$svnrepo/pr ject/trunk" \\\n'> <'\t "$svnrepo/pr ject/branches/fun plugin" &&\n'> <'\tsvn_cmd cp -m "more fun!" "$svnrepo/pr ject/branches/fun plugin" \\\n'> <'\t "$svnrepo/pr ject/branches/more fun plugin!" &&\n'> <'\tsvn_cmd cp -m "scary" "$svnrepo/pr ject/branches/fun plugin" \\\n'> <'\t "$svnrepo/pr ject/branches/$scary_uri" &&\n'> <'\tsvn_cmd cp -m "leading dot" "$svnrepo/pr ject/trunk" \\\n'> <'\t\t\t"$svnrepo/pr ject/branches/.leading_dot" &&\n'> <'\tif test_have_prereq !MINGW\n'> <'\tthen\n'> <'\t\tsvn_cmd cp -m "trailing dot" "$svnrepo/pr ject/trunk" \\\n'> <'\t\t\t"$svnrepo/pr ject/branches/trailing_dot."\n'> <'\tfi &&\n'> <'\tsvn_cmd cp -m "trailing .lock" "$svnrepo/pr ject/trunk" \\\n'> <'\t\t\t"$svnrepo/pr ject/branches/trailing_dotlock.lock" &&\n'> <'\tsvn_cmd cp -m "reflog" "$svnrepo/pr ject/trunk" \\\n'> <'\t\t\t"$svnrepo/pr ject/branches/not-a@{0}reflog@" &&\n'> <'\tmaybe_start_httpd\n'> <'\t'> ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:non_reflog) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(svn_cmd)} {(ls)} {(DQ ($ VSub_Name '$svnrepo') ('/pr ject/branches'))}) (C {(grep)} {(not-a)}) (C {(sed)} {(SQ <'s/\\///'>)}) (C {(sed)} {(SQ <'s/@/%40/'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [81 112] ) } spids: [80] ) ] spids: [80] ) (C {(test_expect_success)} {(SQ <'test clone with funky branch names'>)} { (SQ <'\n'> <'\tgit svn clone -s "$svnrepo/pr ject" project &&\n'> <'\t(\n'> <'\t\tcd project &&\n'> <'\t\tgit rev-parse "refs/remotes/origin/fun%20plugin" &&\n'> <'\t\tgit rev-parse "refs/remotes/origin/more%20fun%20plugin!" &&\n'> <'\t\tgit rev-parse "refs/remotes/origin/$scary_ref" &&\n'> <'\t\tgit rev-parse "refs/remotes/origin/%2Eleading_dot" &&\n'> <'\t\tif test_have_prereq !MINGW\n'> <'\t\tthen\n'> <'\t\t\tgit rev-parse "refs/remotes/origin/trailing_dot%2E"\n'> <'\t\tfi &&\n'> <'\t\tgit rev-parse "refs/remotes/origin/trailing_dotlock%2Elock" &&\n'> <'\t\tgit rev-parse "refs/remotes/origin/$non_reflog"\n'> <'\t)\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'test dcommit to funky branch'>)} { (DQ ('\n') ('\t(\n') ('\t\tcd project &&\n') ("\t\tgit reset --hard 'refs/remotes/origin/more%20fun%20plugin!' &&\n") ('\t\techo hello >> foo &&\n') ("\t\tgit commit -m 'hello' -- foo &&\n") ('\t\tgit svn dcommit\n') ('\t)\n') ('\t') ) } ) (C {(test_expect_success)} {(SQ <'test dcommit to scary branch'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd project &&\n'> <'\t\tgit reset --hard "refs/remotes/origin/$scary_ref" &&\n'> <'\t\techo urls are scary >> foo &&\n'> <'\t\tgit commit -m "eep" -- foo &&\n'> <'\t\tgit svn dcommit\n'> <'\t)\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'test dcommit to trailing_dotlock branch'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tcd project &&\n'> <'\t\tgit reset --hard "refs/remotes/origin/trailing_dotlock%2Elock" &&\n'> <'\t\techo who names branches like this anyway? >> foo &&\n'> <'\t\tgit commit -m "bar" -- foo &&\n'> <'\t\tgit svn dcommit\n'> <'\t)\n'> <'\t'> ) } ) (C {(stop_httpd)}) (C {(test_done)}) ] )