(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'git-svn svn mergeinfo properties'>)} spids: [13] ) ] ) (C {<.>} {<'./lib-git-svn.sh'>}) (C {<test_expect_success>} {(SQ <'load svn dump'>)} { (DQ <'\n'> <'\tsvnadmin load -q \''> ($ Id.VSub_DollarName '$rawsvnrepo') <'\' '> <'\t < \''> ($ Id.VSub_DollarName '$TEST_DIRECTORY') <'/t9151/svn-mergeinfo.dump\' &&\n'> <'\tgit svn init --minimize-url -R svnmerge '> <'\t --rewrite-root=http://svn.example.org '> <'\t -T trunk -b branches \''> ($ Id.VSub_DollarName '$svnrepo') <'\' &&\n'> <'\tgit svn fetch --all\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'all svn merges became git merge commits'>)} { (SQ <'\n'> <'\tunmarked=$(git rev-list --parents --all --grep=Merge |\n'> <'\t\tgrep -v " .* " | cut -f1 -d" ") &&\n'> <'\t[ -z "$unmarked" ]\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'cherry picks did not become git merge commits'>)} { (SQ <'\n'> <'\tbad_cherries=$(git rev-list --parents --all --grep=Cherry |\n'> <'\t\tgrep " .* " | cut -f1 -d" ") &&\n'> <'\t[ -z "$bad_cherries" ]\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'svn non-merge merge commits did not become git merge commits'>)} { (SQ <'\n'> <'\tbad_non_merges=$(git rev-list --parents --all --grep=non-merge |\n'> <'\t\tgrep " .* " | cut -f1 -d" ") &&\n'> <'\t[ -z "$bad_non_merges" ]\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'commit made to merged branch is reachable from the merge'>)} { (SQ <'\n'> < '\tbefore_commit=$(git rev-list --all --grep="trunk commit before merging trunk to b2") &&\n' > <'\tmerge_commit=$(git rev-list --all --grep="Merge trunk to b2") &&\n'> <'\tnot_reachable=$(git rev-list -1 $before_commit --not $merge_commit) &&\n'> <'\t[ -z "$not_reachable" ]\n'> <'\t'> ) } ) (C {<test_expect_success>} {(SQ <'merging two branches in one commit is detected correctly'>)} { (SQ <'\n'> <'\tf1_commit=$(git rev-list --all --grep="make f1 branch from trunk") &&\n'> <'\tf2_commit=$(git rev-list --all --grep="make f2 branch from trunk") &&\n'> <'\tmerge_commit=$(git rev-list --all --grep="Merge f1 and f2 to trunk") &&\n'> <'\tnot_reachable=$(git rev-list -1 $f1_commit $f2_commit --not $merge_commit) &&\n'> <'\t[ -z "$not_reachable" ]\n'> <'\t'> ) } ) (C {<test_expect_failure>} {(SQ <'everything got merged in the end'>)} { (SQ <'\n'> <'\tunmerged=$(git rev-list --all --not master) &&\n'> <'\t[ -z "$unmerged" ]\n'> <'\t'> ) } ) (C {<test_done>}) ] )