(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 p4 options' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./lib-git-p4.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'start p4d' span_id:18))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:22) (Token id:Id.Lit_Chars val:'\tstart_p4d\n' span_id:23) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'init depot' span_id:30))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:34) (Token id:Id.Lit_Chars val:'\t(\n' span_id:35) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\t\techo file1 >file1 &&\n' span_id:37) (Token id:Id.Lit_Chars val:'\t\tp4 add file1 &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "change 1" &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\t\techo file2 >file2 &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\t\tp4 add file2 &&\n' span_id:41) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "change 2" &&\n' span_id:42) (Token id:Id.Lit_Chars val:'\t\techo file3 >file3 &&\n' span_id:43) (Token id:Id.Lit_Chars val:'\t\tp4 add file3 &&\n' span_id:44) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "change 3"\n' span_id:45) (Token id:Id.Lit_Chars val:'\t)\n' span_id:46) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone no --git-dir' span_id:53))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:57) (Token id: Id.Lit_Chars val: '\ttest_must_fail git p4 clone --git-dir=xx //depot\n' span_id: 58 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --branch should checkout master' span_id:65))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) (Token id: Id.Lit_Chars val: '\tgit p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot &&\n' span_id: 70 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\t(\n' span_id:72) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:73) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse refs/remotes/p4/sb >sb &&\n' span_id: 74 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/heads/master >master &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\t\ttest_cmp sb master &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse HEAD >head &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\t\ttest_cmp sb head\n' span_id:78) (Token id:Id.Lit_Chars val:'\t)\n' span_id:79) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'sync when no master branch prints a nice error' span_id:86))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:90) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:91) (Token id: Id.Lit_Chars val: '\tgit p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot@2 &&\n' span_id: 92 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:93) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:94) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git p4 sync 2>err &&\n' span_id:95) (Token id: Id.Lit_Chars val: '\t\tgrep "Error: no branch refs/remotes/p4/master" err\n' span_id: 96 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:97) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'sync --branch builds the full ref name correctly' span_id: 104 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:108) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:109) (Token id:Id.Lit_Chars val:'\t(\n' span_id:110) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:111) (Token id:Id.Lit_Chars val:'\t\tgit init &&\n' span_id:112) (Token id:Id.Lit_Chars val:'\n' span_id:113) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=b1 //depot &&\n' span_id:114) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse --verify refs/remotes/p4/b1 &&\n' span_id: 115 ) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=p4/b2 //depot &&\n' span_id:116) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse --verify refs/remotes/p4/b2 &&\n' span_id: 117 ) (Token id:Id.Lit_Chars val:'\n' span_id:118) (Token id: Id.Lit_Chars val: '\t\tgit p4 sync --import-local --branch=h1 //depot &&\n' span_id: 119 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify refs/heads/p4/h1 &&\n' span_id:120) (Token id: Id.Lit_Chars val: '\t\tgit p4 sync --import-local --branch=p4/h2 //depot &&\n' span_id: 121 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify refs/heads/p4/h2 &&\n' span_id:122) (Token id:Id.Lit_Chars val:'\n' span_id:123) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=refs/stuff //depot &&\n' span_id:124) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify refs/stuff\n' span_id:125) (Token id:Id.Lit_Chars val:'\t)\n' span_id:126) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'sync when two branches but no master should noop' span_id: 139 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:143) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:144) (Token id:Id.Lit_Chars val:'\t(\n' span_id:145) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:146) (Token id:Id.Lit_Chars val:'\t\tgit init &&\n' span_id:147) (Token id: Id.Lit_Chars val: '\t\tgit p4 sync --branch=refs/remotes/p4/b1 //depot@2 &&\n' span_id: 148 ) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=refs/remotes/p4/b2 //depot@2 &&\n' span_id:149) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync &&\n' span_id:150) (Token id:Id.Lit_Chars val:'\t\tgit show -s --format=%s refs/remotes/p4/b1 >show &&\n' span_id:151) (Token id:Id.Lit_Chars val:'\t\tgrep "Initial import" show &&\n' span_id:152) (Token id:Id.Lit_Chars val:'\t\tgit show -s --format=%s refs/remotes/p4/b2 >show &&\n' span_id:153) (Token id:Id.Lit_Chars val:'\t\tgrep "Initial import" show\n' span_id:154) (Token id:Id.Lit_Chars val:'\t)\n' span_id:155) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'sync --branch updates specific branch, no detection' span_id: 162 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:166) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:167) (Token id:Id.Lit_Chars val:'\t(\n' span_id:168) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:169) (Token id:Id.Lit_Chars val:'\t\tgit init &&\n' span_id:170) (Token id: Id.Lit_Chars val: '\t\tgit p4 sync --branch=b1 //depot@2 &&\n' span_id: 171 ) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=b2 //depot@2 &&\n' span_id:172) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=b2 &&\n' span_id:173) (Token id:Id.Lit_Chars val:'\t\tgit show -s --format=%s refs/remotes/p4/b1 >show &&\n' span_id:174) (Token id:Id.Lit_Chars val:'\t\tgrep "Initial import" show &&\n' span_id:175) (Token id:Id.Lit_Chars val:'\t\tgit show -s --format=%s refs/remotes/p4/b2 >show &&\n' span_id:176) (Token id:Id.Lit_Chars val:'\t\tgrep "change 3" show\n' span_id:177) (Token id:Id.Lit_Chars val:'\t)\n' span_id:178) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone creates HEAD symbolic reference' span_id:188))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:192) (Token id: Id.Lit_Chars val: '\tgit p4 clone --dest="$git" //depot &&\n' span_id: 193 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:194) (Token id:Id.Lit_Chars val:'\t(\n' span_id:195) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:196) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse --verify refs/remotes/p4/master >master &&\n' span_id: 197 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify p4 >p4 &&\n' span_id:198) (Token id:Id.Lit_Chars val:'\t\ttest_cmp master p4\n' span_id:199) (Token id:Id.Lit_Chars val:'\t)\n' span_id:200) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --branch creates HEAD symbolic reference' span_id:207))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:211) (Token id: Id.Lit_Chars val: '\tgit p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot &&\n' span_id: 212 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:213) (Token id:Id.Lit_Chars val:'\t(\n' span_id:214) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:215) (Token id: Id.Lit_Chars val: '\t\tgit rev-parse --verify refs/remotes/p4/sb >sb &&\n' span_id: 216 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify p4 >p4 &&\n' span_id:217) (Token id:Id.Lit_Chars val:'\t\ttest_cmp sb p4\n' span_id:218) (Token id:Id.Lit_Chars val:'\t)\n' span_id:219) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --changesfile' span_id:226))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:230) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm cf" &&\n' span_id:231) (Token id:Id.Lit_Chars val:'\tprintf "1\\n3\\n" >cf &&\n' span_id:232) (Token id: Id.Lit_Chars val: '\tgit p4 clone --changesfile="$TRASH_DIRECTORY/cf" --dest="$git" //depot &&\n' span_id: 233 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:234) (Token id:Id.Lit_Chars val:'\t(\n' span_id:235) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:236) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline p4/master >lines &&\n' span_id: 237 ) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines\n' span_id:238) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:239) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file2 &&\n' span_id:240) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3\n' span_id:241) (Token id:Id.Lit_Chars val:'\t)\n' span_id:242) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --changesfile, @all' span_id:249))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:253) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm cf" &&\n' span_id:254) (Token id:Id.Lit_Chars val:'\tprintf "1\\n3\\n" >cf &&\n' span_id:255) (Token id: Id.Lit_Chars val: '\ttest_must_fail git p4 clone --changesfile="$TRASH_DIRECTORY/cf" --dest="$git" //depot@all\n' span_id: 256 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone/sync --import-local' span_id:272))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:276) (Token id: Id.Lit_Chars val: '\tgit p4 clone --import-local --dest="$git" //depot@1,2 &&\n' span_id: 277 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:278) (Token id:Id.Lit_Chars val:'\t(\n' span_id:279) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:280) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline refs/heads/master >lines &&\n' span_id: 281 ) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines &&\n' span_id:282) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline refs/heads/p4/master >lines &&\n' span_id: 283 ) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines &&\n' span_id:284) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git p4 sync &&\n' span_id:285) (Token id:Id.Lit_Chars val:'\n' span_id:286) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --import-local &&\n' span_id:287) (Token id:Id.Lit_Chars val:'\t\tgit log --oneline refs/heads/master >lines &&\n' span_id:288) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines &&\n' span_id:289) (Token id:Id.Lit_Chars val:'\t\tgit log --oneline refs/heads/p4/master >lines &&\n' span_id:290) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 3 lines\n' span_id:291) (Token id:Id.Lit_Chars val:'\t)\n' span_id:292) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --max-changes' span_id:299))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:303) (Token id: Id.Lit_Chars val: '\tgit p4 clone --dest="$git" --max-changes 2 //depot@all &&\n' span_id: 304 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:305) (Token id:Id.Lit_Chars val:'\t(\n' span_id:306) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:307) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline refs/heads/master >lines &&\n' span_id: 308 ) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines\n' span_id:309) (Token id:Id.Lit_Chars val:'\t)\n' span_id:310) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --keep-path' span_id:317))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:321) (Token id:Id.Lit_Chars val:'\t(\n' span_id:322) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:323) (Token id:Id.Lit_Chars val:'\t\tmkdir -p sub/dir &&\n' span_id:324) (Token id:Id.Lit_Chars val:'\t\techo f4 >sub/dir/f4 &&\n' span_id:325) (Token id:Id.Lit_Chars val:'\t\tp4 add sub/dir/f4 &&\n' span_id:326) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "change 4"\n' span_id:327) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:328) (Token id: Id.Lit_Chars val: '\tgit p4 clone --dest="$git" --keep-path //depot/sub/dir@all &&\n' span_id: 329 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:330) (Token id:Id.Lit_Chars val:'\t(\n' span_id:331) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:332) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing f4 &&\n' span_id:333) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file sub/dir/f4\n' span_id:334) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:335) (Token id:Id.Lit_Chars val:'\tcleanup_git &&\n' span_id:336) (Token id: Id.Lit_Chars val: '\tgit p4 clone --dest="$git" //depot/sub/dir@all &&\n' span_id: 337 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:338) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:339) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file f4 &&\n' span_id:340) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing sub/dir/f4\n' span_id:341) (Token id:Id.Lit_Chars val:'\t)\n' span_id:342) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --use-client-spec' span_id:364))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:368) (Token id:Id.Lit_Chars val:'\t(\n' span_id:369) (Token id:Id.Lit_Chars val:'\t\t# big usage message\n' span_id:370) (Token id:Id.Lit_Chars val:'\t\texec >/dev/null &&\n' span_id:371) (Token id: Id.Lit_Chars val: '\t\ttest_must_fail git p4 clone --dest="$git" --use-client-spec\n' span_id: 372 ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:373) (Token id:Id.Lit_Chars val:'\t# build a different client\n' span_id:374) (Token id:Id.Lit_Chars val:'\tcli2="$TRASH_DIRECTORY/cli2" &&\n' span_id:375) (Token id:Id.Lit_Chars val:'\tmkdir -p "$cli2" &&\n' span_id:376) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rmdir \\"$cli2\\"" &&\n' span_id:377) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:378) (Token id:Id.Lit_Chars val:'\t(\n' span_id:379) (Token id: Id.Lit_Chars val: '\t\t# group P4CLIENT and cli changes in a sub-shell\n' span_id: 380 ) (Token id:Id.Lit_Chars val:'\t\tP4CLIENT=client2 &&\n' span_id:381) (Token id:Id.Lit_Chars val:'\t\tcli="$cli2" &&\n' span_id:382) (Token id:Id.Lit_Chars val:'\t\tclient_view "//depot/sub/... //client2/bus/..." &&\n' span_id:383) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --dest="$git" --use-client-spec //depot/... &&\n' span_id: 384 ) (Token id:Id.Lit_Chars val:'\t\t(\n' span_id:385) (Token id:Id.Lit_Chars val:'\t\t\tcd "$git" &&\n' span_id:386) (Token id:Id.Lit_Chars val:'\t\t\ttest_path_is_file bus/dir/f4 &&\n' span_id:387) (Token id:Id.Lit_Chars val:'\t\t\ttest_path_is_missing file1\n' span_id:388) (Token id:Id.Lit_Chars val:'\t\t) &&\n' span_id:389) (Token id:Id.Lit_Chars val:'\t\tcleanup_git &&\n' span_id:390) (Token id: Id.Lit_Chars val: '\t\t# same thing again, this time with variable instead of option\n' span_id: 391 ) (Token id:Id.Lit_Chars val:'\t\t(\n' span_id:392) (Token id:Id.Lit_Chars val:'\t\t\tcd "$git" &&\n' span_id:393) (Token id:Id.Lit_Chars val:'\t\t\tgit init &&\n' span_id:394) (Token id: Id.Lit_Chars val: '\t\t\tgit config git-p4.useClientSpec true &&\n' span_id: 395 ) (Token id:Id.Lit_Chars val:'\t\t\tgit p4 sync //depot/... &&\n' span_id:396) (Token id: Id.Lit_Chars val: '\t\t\tgit checkout -b master p4/master &&\n' span_id: 397 ) (Token id:Id.Lit_Chars val:'\t\t\ttest_path_is_file bus/dir/f4 &&\n' span_id:398) (Token id:Id.Lit_Chars val:'\t\t\ttest_path_is_missing file1\n' span_id:399) (Token id:Id.Lit_Chars val:'\t\t)\n' span_id:400) (Token id:Id.Lit_Chars val:'\t)\n' span_id:401) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'submit works with no p4/master' span_id:408))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:412) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:413) (Token id: Id.Lit_Chars val: '\tgit p4 clone --branch=b1 //depot@1,2 --destination="$git" &&\n' span_id: 414 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:415) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:416) (Token id:Id.Lit_Chars val:'\t\ttest_commit submit-1-branch &&\n' span_id:417) (Token id: Id.Lit_Chars val: '\t\tgit config git-p4.skipSubmitEdit true &&\n' span_id: 418 ) (Token id:Id.Lit_Chars val:'\t\tgit p4 submit --branch=b1\n' span_id:419) (Token id:Id.Lit_Chars val:'\t)\n' span_id:420) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'submit works with two branches' span_id:433))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:437) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:438) (Token id: Id.Lit_Chars val: '\tgit p4 clone --branch=b1 //depot@1,2 --destination="$git" &&\n' span_id: 439 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:440) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:441) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=b2 //depot@1,3 &&\n' span_id:442) (Token id:Id.Lit_Chars val:'\t\ttest_commit submit-2-branches &&\n' span_id:443) (Token id:Id.Lit_Chars val:'\t\tgit config git-p4.skipSubmitEdit true &&\n' span_id:444) (Token id:Id.Lit_Chars val:'\t\tgit p4 submit\n' span_id:445) (Token id:Id.Lit_Chars val:'\t)\n' span_id:446) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'kill p4d' span_id:453))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:457) (Token id:Id.Lit_Chars val:'\tkill_p4d\n' span_id:458) ) } ) (C {(test_done)}) ] )