(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 tests for p4 branches' 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:'basic p4 branches' span_id:63))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:67) (Token id:Id.Lit_Chars val:'\t(\n' span_id:68) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:69) (Token id:Id.Lit_Chars val:'\t\tmkdir -p main &&\n' span_id:70) (Token id:Id.Lit_Chars val:'\n' span_id:71) (Token id:Id.Lit_Chars val:'\t\techo f1 >main/f1 &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\t\tp4 add main/f1 &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "main/f1" &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\n' span_id:75) (Token id:Id.Lit_Chars val:'\t\techo f2 >main/f2 &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\t\tp4 add main/f2 &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "main/f2" &&\n' span_id:78) (Token id:Id.Lit_Chars val:'\n' span_id:79) (Token id:Id.Lit_Chars val:'\t\tp4 integrate //depot/main/... //depot/branch1/... &&\n' span_id:80) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "integrate main to branch1" &&\n' span_id: 81 ) (Token id:Id.Lit_Chars val:'\n' span_id:82) (Token id:Id.Lit_Chars val:'\t\techo f4 >main/f4 &&\n' span_id:83) (Token id:Id.Lit_Chars val:'\t\tp4 add main/f4 &&\n' span_id:84) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "main/f4" &&\n' span_id:85) (Token id:Id.Lit_Chars val:'\n' span_id:86) (Token id:Id.Lit_Chars val:'\t\techo f5 >branch1/f5 &&\n' span_id:87) (Token id:Id.Lit_Chars val:'\t\tp4 add branch1/f5 &&\n' span_id:88) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "branch1/f5" &&\n' span_id:89) (Token id:Id.Lit_Chars val:'\n' span_id:90) (Token id:Id.Lit_Chars val:'\t\tp4 branch -i <<-EOF &&\n' span_id:91) (Token id:Id.Lit_Chars val:'\t\tBranch: branch2\n' span_id:92) (Token id: Id.Lit_Chars val: '\t\tView: //depot/main/... //depot/branch2/...\n' span_id: 93 ) (Token id:Id.Lit_Chars val:'\t\tEOF\n' span_id:94) (Token id:Id.Lit_Chars val:'\n' span_id:95) (Token id:Id.Lit_Chars val:'\t\tp4 integrate -b branch2 &&\n' span_id:96) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "integrate main to branch2" &&\n' span_id:97) (Token id:Id.Lit_Chars val:'\n' span_id:98) (Token id:Id.Lit_Chars val:'\t\techo f7 >branch2/f7 &&\n' span_id:99) (Token id:Id.Lit_Chars val:'\t\tp4 add branch2/f7 &&\n' span_id:100) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "branch2/f7" &&\n' span_id:101) (Token id:Id.Lit_Chars val:'\n' span_id:102) (Token id:Id.Lit_Chars val:'\t\techo f8 >main/f8 &&\n' span_id:103) (Token id:Id.Lit_Chars val:'\t\tp4 add main/f8 &&\n' span_id:104) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "main/f8"\n' span_id:105) (Token id:Id.Lit_Chars val:'\t)\n' span_id:106) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'import main, no branch detection' span_id:113))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:117) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:118) (Token id:Id.Lit_Chars val:'\tgit p4 clone --dest="$git" //depot/main@all &&\n' span_id:119) (Token id:Id.Lit_Chars val:'\t(\n' span_id:120) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:121) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline --graph --decorate --all &&\n' span_id: 122 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-list master >wc &&\n' span_id:123) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 4 wc\n' span_id:124) (Token id:Id.Lit_Chars val:'\t)\n' span_id:125) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'import branch1, no branch detection' span_id:132))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:136) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:137) (Token id:Id.Lit_Chars val:'\tgit p4 clone --dest="$git" //depot/branch1@all &&\n' span_id:138) (Token id:Id.Lit_Chars val:'\t(\n' span_id:139) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:140) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline --graph --decorate --all &&\n' span_id: 141 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-list master >wc &&\n' span_id:142) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 wc\n' span_id:143) (Token id:Id.Lit_Chars val:'\t)\n' span_id:144) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'import branch2, no branch detection' span_id:151))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:155) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:156) (Token id:Id.Lit_Chars val:'\tgit p4 clone --dest="$git" //depot/branch2@all &&\n' span_id:157) (Token id:Id.Lit_Chars val:'\t(\n' span_id:158) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:159) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline --graph --decorate --all &&\n' span_id: 160 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-list master >wc &&\n' span_id:161) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 wc\n' span_id:162) (Token id:Id.Lit_Chars val:'\t)\n' span_id:163) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'import depot, no branch detection' span_id:170))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:174) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:175) (Token id:Id.Lit_Chars val:'\tgit p4 clone --dest="$git" //depot@all &&\n' span_id:176) (Token id:Id.Lit_Chars val:'\t(\n' span_id:177) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:178) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline --graph --decorate --all &&\n' span_id: 179 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-list master >wc &&\n' span_id:180) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 8 wc\n' span_id:181) (Token id:Id.Lit_Chars val:'\t)\n' span_id:182) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'import depot, branch detection' span_id:189))} { (SQ (Token id:Id.Lit_Chars val:'\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: '\tgit p4 clone --dest="$git" --detect-branches //depot@all &&\n' span_id: 195 ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:196) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:197) (Token id:Id.Lit_Chars val:'\n' span_id:198) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline --graph --decorate --all &&\n' span_id: 199 ) (Token id:Id.Lit_Chars val:'\n' span_id:200) (Token id:Id.Lit_Chars val:'\t\t# 4 main commits\n' span_id:201) (Token id:Id.Lit_Chars val:'\t\tgit rev-list master >wc &&\n' span_id:202) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 4 wc &&\n' span_id:203) (Token id:Id.Lit_Chars val:'\n' span_id:204) (Token id: Id.Lit_Chars val: '\t\t# 3 main, 1 integrate, 1 on branch2\n' span_id: 205 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-list p4/depot/branch2 >wc &&\n' span_id:206) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 5 wc &&\n' span_id:207) (Token id:Id.Lit_Chars val:'\n' span_id:208) (Token id: Id.Lit_Chars val: '\t\t# no branch1, since no p4 branch created for it\n' span_id: 209 ) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git show-ref p4/depot/branch1\n' span_id:210) (Token id:Id.Lit_Chars val:'\t)\n' span_id:211) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'import depot, branch detection, branchList branch definition' span_id: 218 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:222) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:223) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:224) (Token id:Id.Lit_Chars val:'\t(\n' span_id:225) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:226) (Token id: Id.Lit_Chars val: '\t\tgit config git-p4.branchList main:branch1 &&\n' span_id: 227 ) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --dest=. --detect-branches //depot@all &&\n' span_id: 228 ) (Token id:Id.Lit_Chars val:'\n' span_id:229) (Token id: Id.Lit_Chars val: '\t\tgit log --oneline --graph --decorate --all &&\n' span_id: 230 ) (Token id:Id.Lit_Chars val:'\n' span_id:231) (Token id:Id.Lit_Chars val:'\t\t# 4 main commits\n' span_id:232) (Token id:Id.Lit_Chars val:'\t\tgit rev-list master >wc &&\n' span_id:233) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 4 wc &&\n' span_id:234) (Token id:Id.Lit_Chars val:'\n' span_id:235) (Token id: Id.Lit_Chars val: '\t\t# 3 main, 1 integrate, 1 on branch2\n' span_id: 236 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-list p4/depot/branch2 >wc &&\n' span_id:237) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 5 wc &&\n' span_id:238) (Token id:Id.Lit_Chars val:'\n' span_id:239) (Token id: Id.Lit_Chars val: '\t\t# 2 main, 1 integrate, 1 on branch1\n' span_id: 240 ) (Token id:Id.Lit_Chars val:'\t\tgit rev-list p4/depot/branch1 >wc &&\n' span_id:241) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 4 wc\n' span_id:242) (Token id:Id.Lit_Chars val:'\t)\n' span_id:243) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'restart p4d' span_id:250))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:254) (Token id:Id.Lit_Chars val:'\tkill_p4d &&\n' span_id:255) (Token id:Id.Lit_Chars val:'\tstart_p4d\n' span_id:256) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'add simple p4 branches' span_id:290))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:294) (Token id:Id.Lit_Chars val:'\t(\n' span_id:295) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:296) (Token id:Id.Lit_Chars val:'\t\tmkdir branch1 &&\n' span_id:297) (Token id:Id.Lit_Chars val:'\t\tcd branch1 &&\n' span_id:298) (Token id:Id.Lit_Chars val:'\t\techo file1 >file1 &&\n' span_id:299) (Token id:Id.Lit_Chars val:'\t\techo file2 >file2 &&\n' span_id:300) (Token id:Id.Lit_Chars val:'\t\tp4 add file1 file2 &&\n' span_id:301) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "Create branch1" &&\n' span_id:302) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/branch1/... //depot/branch2/... &&\n' span_id: 303 ) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "Integrate branch2 from branch1" &&\n' span_id:304) (Token id:Id.Lit_Chars val:'\t\techo file3 >file3 &&\n' span_id:305) (Token id:Id.Lit_Chars val:'\t\tp4 add file3 &&\n' span_id:306) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "add file3 in branch1" &&\n' span_id: 307 ) (Token id:Id.Lit_Chars val:'\t\tp4 open file2 &&\n' span_id:308) (Token id:Id.Lit_Chars val:'\t\techo update >>file2 &&\n' span_id:309) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "update file2 in branch1" &&\n' span_id:310) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/branch1/... //depot/branch3/... &&\n' span_id: 311 ) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "Integrate branch3 from branch1"\n' span_id:312) (Token id:Id.Lit_Chars val:'\t)\n' span_id:313) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'git p4 clone simple branches' span_id:332))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:336) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:337) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:338) (Token id:Id.Lit_Chars val:'\t(\n' span_id:339) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:340) (Token id: Id.Lit_Chars val: '\t\tgit config git-p4.branchList branch1:branch2 &&\n' span_id: 341 ) (Token id:Id.Lit_Chars val:'\t\tgit config --add git-p4.branchList branch1:branch3 &&\n' span_id:342) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --dest=. --detect-branches //depot@all &&\n' span_id: 343 ) (Token id:Id.Lit_Chars val:'\t\tgit log --all --graph --decorate --stat &&\n' span_id:344) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch1 &&\n' span_id: 345 ) (Token id:Id.Lit_Chars val:'\t\ttest -f file1 &&\n' span_id:346) (Token id:Id.Lit_Chars val:'\t\ttest -f file2 &&\n' span_id:347) (Token id:Id.Lit_Chars val:'\t\ttest -f file3 &&\n' span_id:348) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:349) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch2 &&\n' span_id:350) (Token id:Id.Lit_Chars val:'\t\ttest -f file1 &&\n' span_id:351) (Token id:Id.Lit_Chars val:'\t\ttest -f file2 &&\n' span_id:352) (Token id:Id.Lit_Chars val:'\t\ttest ! -f file3 &&\n' span_id:353) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:354) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch3 &&\n' span_id: 355 ) (Token id:Id.Lit_Chars val:'\t\ttest -f file1 &&\n' span_id:356) (Token id:Id.Lit_Chars val:'\t\ttest -f file2 &&\n' span_id:357) (Token id:Id.Lit_Chars val:'\t\ttest -f file3 &&\n' span_id:358) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:359) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:360) (Token id:Id.Lit_Chars val:'\t\tcd branch1 &&\n' span_id:361) (Token id:Id.Lit_Chars val:'\t\tp4 edit file2 &&\n' span_id:362) (Token id:Id.Lit_Chars val:'\t\techo file2_ >>file2 &&\n' span_id:363) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "update file2 in branch1" &&\n' span_id:364) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:365) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch1 &&\n' span_id:366) (Token id:Id.Lit_Chars val:'\t\tgit p4 rebase &&\n' span_id:367) (Token id:Id.Lit_Chars val:'\t\tgrep file2_ file2\n' span_id:368) (Token id:Id.Lit_Chars val:'\t)\n' span_id:369) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'git p4 add complex branches' span_id:442))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:446) (Token id:Id.Lit_Chars val:'\t(\n' span_id:447) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:448) (Token id: Id.Lit_Chars val: '\t\tchangelist=$(p4 changes -m1 //depot/... | cut -d" " -f2) &&\n' span_id: 449 ) (Token id:Id.Lit_Chars val:'\t\tchangelist=$(($changelist - 5)) &&\n' span_id:450) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/branch1/...@$changelist //depot/branch4/... &&\n' span_id: 451 ) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "Integrate branch4 from branch1@${changelist}" &&\n' span_id: 452 ) (Token id:Id.Lit_Chars val:'\t\tchangelist=$(($changelist + 2)) &&\n' span_id:453) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/branch1/...@$changelist //depot/branch5/... &&\n' span_id: 454 ) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "Integrate branch5 from branch1@${changelist}"\n' span_id: 455 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:456) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'git p4 clone complex branches' span_id:472))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:476) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:477) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:478) (Token id:Id.Lit_Chars val:'\t(\n' span_id:479) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:480) (Token id: Id.Lit_Chars val: '\t\tgit config git-p4.branchList branch1:branch2 &&\n' span_id: 481 ) (Token id:Id.Lit_Chars val:'\t\tgit config --add git-p4.branchList branch1:branch3 &&\n' span_id:482) (Token id: Id.Lit_Chars val: '\t\tgit config --add git-p4.branchList branch1:branch4 &&\n' span_id: 483 ) (Token id:Id.Lit_Chars val:'\t\tgit config --add git-p4.branchList branch1:branch5 &&\n' span_id:484) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --dest=. --detect-branches //depot@all &&\n' span_id: 485 ) (Token id:Id.Lit_Chars val:'\t\tgit log --all --graph --decorate --stat &&\n' span_id:486) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch1 &&\n' span_id: 487 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:488) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:489) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:490) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:491) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch2 &&\n' span_id:492) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:493) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:494) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file3 &&\n' span_id:495) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:496) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch3 &&\n' span_id: 497 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:498) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:499) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:500) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:501) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch4 &&\n' span_id:502) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:503) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:504) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file3 &&\n' span_id:505) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:506) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch5 &&\n' span_id: 507 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:508) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:509) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:510) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:511) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git show-ref --verify refs/git-p4-tmp\n' span_id:512) (Token id:Id.Lit_Chars val:'\t)\n' span_id:513) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'git p4 submit to two branches in a single changelist' span_id: 523 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:527) (Token id:Id.Lit_Chars val:'\t(\n' span_id:528) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:529) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/branch3/file3 //depot/branch4/file3 &&\n' span_id: 530 ) (Token id:Id.Lit_Chars val:'\t\tp4 delete //depot/branch3/file3 &&\n' span_id:531) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "Move branch3/file3 to branch4/file3"\n' span_id: 532 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:533) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'git p4 sync changes to two branches in the same changelist' span_id: 546 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:550) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:551) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:552) (Token id:Id.Lit_Chars val:'\t(\n' span_id:553) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:554) (Token id: Id.Lit_Chars val: '\t\tgit config git-p4.branchList branch1:branch2 &&\n' span_id: 555 ) (Token id:Id.Lit_Chars val:'\t\tgit config --add git-p4.branchList branch1:branch3 &&\n' span_id:556) (Token id: Id.Lit_Chars val: '\t\tgit config --add git-p4.branchList branch1:branch4 &&\n' span_id: 557 ) (Token id:Id.Lit_Chars val:'\t\tgit config --add git-p4.branchList branch1:branch5 &&\n' span_id:558) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --dest=. --detect-branches //depot@all &&\n' span_id: 559 ) (Token id:Id.Lit_Chars val:'\t\tgit log --all --graph --decorate --stat &&\n' span_id:560) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch1 &&\n' span_id: 561 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:562) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:563) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:564) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:565) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch2 &&\n' span_id:566) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:567) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:568) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file3 &&\n' span_id:569) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:570) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch3 &&\n' span_id: 571 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:572) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:573) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file3 &&\n' span_id:574) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:575) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch4 &&\n' span_id:576) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:577) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:578) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:579) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:580) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch5 &&\n' span_id: 581 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:582) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:583) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:584) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:585) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git show-ref --verify refs/git-p4-tmp\n' span_id:586) (Token id:Id.Lit_Chars val:'\t)\n' span_id:587) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'git p4 file subset branch' span_id:597))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:601) (Token id:Id.Lit_Chars val:'\t(\n' span_id:602) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:603) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/branch1/file1 //depot/branch6/file1 &&\n' span_id: 604 ) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "Integrate file1 alone from branch1 to branch6"\n' span_id: 605 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:606) ) } ) (C {(test_expect_failure)} {(SQ (Token id:Id.Lit_Chars val:'git p4 clone file subset branch' span_id:619))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:623) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:624) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:625) (Token id:Id.Lit_Chars val:'\t(\n' span_id:626) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:627) (Token id: Id.Lit_Chars val: '\t\tgit config git-p4.branchList branch1:branch2 &&\n' span_id: 628 ) (Token id:Id.Lit_Chars val:'\t\tgit config --add git-p4.branchList branch1:branch3 &&\n' span_id:629) (Token id: Id.Lit_Chars val: '\t\tgit config --add git-p4.branchList branch1:branch4 &&\n' span_id: 630 ) (Token id:Id.Lit_Chars val:'\t\tgit config --add git-p4.branchList branch1:branch5 &&\n' span_id:631) (Token id: Id.Lit_Chars val: '\t\tgit config --add git-p4.branchList branch1:branch6 &&\n' span_id: 632 ) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --dest=. --detect-branches //depot@all &&\n' span_id: 633 ) (Token id:Id.Lit_Chars val:'\t\tgit log --all --graph --decorate --stat &&\n' span_id:634) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch1 &&\n' span_id: 635 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:636) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:637) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:638) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:639) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch2 &&\n' span_id:640) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:641) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:642) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file3 &&\n' span_id:643) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:644) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch3 &&\n' span_id: 645 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:646) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:647) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file3 &&\n' span_id:648) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:649) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch4 &&\n' span_id:650) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:651) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:652) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:653) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:654) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch5 &&\n' span_id: 655 ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:656) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file2 &&\n' span_id:657) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3 &&\n' span_id:658) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:659) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch6 &&\n' span_id:660) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:661) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file2 &&\n' span_id:662) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file3\n' span_id:663) (Token id:Id.Lit_Chars val:'\t)\n' span_id:664) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'use-client-spec detect-branches setup' span_id:680))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:684) (Token id:Id.Lit_Chars val:'\trm -rf "$cli" &&\n' span_id:685) (Token id:Id.Lit_Chars val:'\tmkdir "$cli" &&\n' span_id:686) (Token id:Id.Lit_Chars val:'\t(\n' span_id:687) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:688) (Token id: Id.Lit_Chars val: '\t\tclient_view "//depot/usecs/... //client/..." &&\n' span_id: 689 ) (Token id:Id.Lit_Chars val:'\t\tmkdir b1 &&\n' span_id:690) (Token id:Id.Lit_Chars val:'\t\techo b1/b1-file1 >b1/b1-file1 &&\n' span_id:691) (Token id:Id.Lit_Chars val:'\t\tp4 add b1/b1-file1 &&\n' span_id:692) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "b1/b1-file1" &&\n' span_id:693) (Token id:Id.Lit_Chars val:'\n' span_id:694) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/usecs/b1/... //depot/usecs/b2/... &&\n' span_id: 695 ) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "b1 -> b2" &&\n' span_id:696) (Token id:Id.Lit_Chars val:'\t\tp4 branch -i <<-EOF &&\n' span_id:697) (Token id:Id.Lit_Chars val:'\t\tBranch: b2\n' span_id:698) (Token id: Id.Lit_Chars val: '\t\tView: //depot/usecs/b1/... //depot/usecs/b2/...\n' span_id: 699 ) (Token id:Id.Lit_Chars val:'\t\tEOF\n' span_id:700) (Token id:Id.Lit_Chars val:'\n' span_id:701) (Token id:Id.Lit_Chars val:'\t\techo b2/b2-file2 >b2/b2-file2 &&\n' span_id:702) (Token id:Id.Lit_Chars val:'\t\tp4 add b2/b2-file2 &&\n' span_id:703) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "b2/b2-file2"\n' span_id:704) (Token id:Id.Lit_Chars val:'\t)\n' span_id:705) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'use-client-spec detect-branches files in top-level' span_id: 712 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:716) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:717) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:718) (Token id:Id.Lit_Chars val:'\t(\n' span_id:719) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:720) (Token id: Id.Lit_Chars val: '\t\tgit p4 sync --detect-branches --use-client-spec //depot/usecs@all &&\n' span_id: 721 ) (Token id:Id.Lit_Chars val:'\t\tgit checkout -b master p4/usecs/b1 &&\n' span_id:722) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file b1-file1 &&\n' span_id:723) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing b2-file2 &&\n' span_id:724) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing b1 &&\n' span_id:725) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing b2 &&\n' span_id:726) (Token id:Id.Lit_Chars val:'\n' span_id:727) (Token id:Id.Lit_Chars val:'\t\tgit checkout -b b2 p4/usecs/b2 &&\n' span_id:728) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file b1-file1 &&\n' span_id:729) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file b2-file2 &&\n' span_id:730) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing b1 &&\n' span_id:731) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing b2\n' span_id:732) (Token id:Id.Lit_Chars val:'\t)\n' span_id:733) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'use-client-spec detect-branches skips branches setup' span_id: 740 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:744) (Token id:Id.Lit_Chars val:'\t(\n' span_id:745) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:746) (Token id:Id.Lit_Chars val:'\n' span_id:747) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/usecs/b1/... //depot/usecs/b3/... &&\n' span_id: 748 ) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "b1 -> b3" &&\n' span_id:749) (Token id:Id.Lit_Chars val:'\t\tp4 branch -i <<-EOF &&\n' span_id:750) (Token id:Id.Lit_Chars val:'\t\tBranch: b3\n' span_id:751) (Token id: Id.Lit_Chars val: '\t\tView: //depot/usecs/b1/... //depot/usecs/b3/...\n' span_id: 752 ) (Token id:Id.Lit_Chars val:'\t\tEOF\n' span_id:753) (Token id:Id.Lit_Chars val:'\n' span_id:754) (Token id: Id.Lit_Chars val: '\t\techo b3/b3-file3_1 >b3/b3-file3_1 &&\n' span_id: 755 ) (Token id:Id.Lit_Chars val:'\t\techo b3/b3-file3_2 >b3/b3-file3_2 &&\n' span_id:756) (Token id:Id.Lit_Chars val:'\t\tp4 add b3/b3-file3_1 &&\n' span_id:757) (Token id:Id.Lit_Chars val:'\t\tp4 add b3/b3-file3_2 &&\n' span_id:758) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "b3/b3-file3_1 b3/b3-file3_2"\n' span_id: 759 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:760) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'use-client-spec detect-branches skips branches' span_id:767))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:771) (Token id: Id.Lit_Chars val: '\tclient_view "//depot/usecs/... //client/..." \\\n' span_id: 772 ) (Token id:Id.Lit_Chars val:'\t\t "-//depot/usecs/b3/... //client/b3/..." &&\n' span_id:773) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:774) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:775) (Token id:Id.Lit_Chars val:'\t(\n' span_id:776) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:777) (Token id: Id.Lit_Chars val: '\t\tgit p4 sync --detect-branches --use-client-spec //depot/usecs@all &&\n' span_id: 778 ) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git rev-parse refs/remotes/p4/usecs/b3\n' span_id:779) (Token id:Id.Lit_Chars val:'\t)\n' span_id:780) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'use-client-spec detect-branches skips files in branches' span_id: 787 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:791) (Token id: Id.Lit_Chars val: '\tclient_view "//depot/usecs/... //client/..." \\\n' span_id: 792 ) (Token id: Id.Lit_Chars val: '\t\t "-//depot/usecs/b3/b3-file3_1 //client/b3/b3-file3_1" &&\n' span_id: 793 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:794) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:795) (Token id:Id.Lit_Chars val:'\t(\n' span_id:796) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:797) (Token id: Id.Lit_Chars val: '\t\tgit p4 sync --detect-branches --use-client-spec //depot/usecs@all &&\n' span_id: 798 ) (Token id:Id.Lit_Chars val:'\t\tgit checkout -b master p4/usecs/b3 &&\n' span_id:799) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file b1-file1 &&\n' span_id:800) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file b3-file3_2 &&\n' span_id:801) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing b3-file3_1\n' span_id:802) (Token id:Id.Lit_Chars val:'\t)\n' span_id:803) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'restart p4d' span_id:810))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:814) (Token id:Id.Lit_Chars val:'\tkill_p4d &&\n' span_id:815) (Token id:Id.Lit_Chars val:'\tstart_p4d\n' span_id:816) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'add simple p4 branches with common base folder on each branch' span_id: 856 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:860) (Token id:Id.Lit_Chars val:'\t(\n' span_id:861) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:862) (Token id: Id.Lit_Chars val: '\t\tclient_view "//depot/branch1/base/... //client/branch1/..." \\\n' span_id: 863 ) (Token id: Id.Lit_Chars val: '\t\t\t "//depot/branch1/base/dir/sub_file1 //client/branch1/sub_file1" \\\n' span_id: 864 ) (Token id: Id.Lit_Chars val: '\t\t\t "//depot/branch2/base/... //client/branch2/..." \\\n' span_id: 865 ) (Token id: Id.Lit_Chars val: '\t\t\t "//depot/branch3/base/... //client/branch3/..." &&\n' span_id: 866 ) (Token id:Id.Lit_Chars val:'\t\tmkdir -p branch1 &&\n' span_id:867) (Token id:Id.Lit_Chars val:'\t\tcd branch1 &&\n' span_id:868) (Token id:Id.Lit_Chars val:'\t\techo file1 >file1 &&\n' span_id:869) (Token id:Id.Lit_Chars val:'\t\techo file2 >file2 &&\n' span_id:870) (Token id:Id.Lit_Chars val:'\t\tmkdir dir &&\n' span_id:871) (Token id:Id.Lit_Chars val:'\t\techo sub_file1 >sub_file1 &&\n' span_id:872) (Token id:Id.Lit_Chars val:'\t\tp4 add file1 file2 sub_file1 &&\n' span_id:873) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "Create branch1" &&\n' span_id:874) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/branch1/base/... //depot/branch2/base/... &&\n' span_id: 875 ) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "Integrate branch2 from branch1" &&\n' span_id:876) (Token id:Id.Lit_Chars val:'\t\techo file3 >file3 &&\n' span_id:877) (Token id:Id.Lit_Chars val:'\t\tp4 add file3 &&\n' span_id:878) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "add file3 in branch1" &&\n' span_id: 879 ) (Token id:Id.Lit_Chars val:'\t\tp4 open file2 &&\n' span_id:880) (Token id:Id.Lit_Chars val:'\t\techo update >>file2 &&\n' span_id:881) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "update file2 in branch1" &&\n' span_id:882) (Token id: Id.Lit_Chars val: '\t\tp4 integrate //depot/branch1/base/... //depot/branch3/base/... &&\n' span_id: 883 ) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "Integrate branch3 from branch1"\n' span_id:884) (Token id:Id.Lit_Chars val:'\t)\n' span_id:885) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'git p4 clone simple branches with base folder on server side' span_id: 910 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:914) (Token id:Id.Lit_Chars val:'\ttest_create_repo "$git" &&\n' span_id:915) (Token id:Id.Lit_Chars val:'\t(\n' span_id:916) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:917) (Token id:Id.Lit_Chars val:'\t\tgit config git-p4.branchList branch1:branch2 &&\n' span_id:918) (Token id: Id.Lit_Chars val: '\t\tgit config --add git-p4.branchList branch1:branch3 &&\n' span_id: 919 ) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --dest=. --use-client-spec --detect-branches //depot@all &&\n' span_id: 920 ) (Token id:Id.Lit_Chars val:'\t\tgit log --all --graph --decorate --stat &&\n' span_id:921) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch1 &&\n' span_id: 922 ) (Token id:Id.Lit_Chars val:'\t\ttest -f file1 &&\n' span_id:923) (Token id:Id.Lit_Chars val:'\t\ttest -f file2 &&\n' span_id:924) (Token id:Id.Lit_Chars val:'\t\ttest -f file3 &&\n' span_id:925) (Token id:Id.Lit_Chars val:'\t\ttest -f sub_file1 &&\n' span_id:926) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:927) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch2 &&\n' span_id: 928 ) (Token id:Id.Lit_Chars val:'\t\ttest -f file1 &&\n' span_id:929) (Token id:Id.Lit_Chars val:'\t\ttest -f file2 &&\n' span_id:930) (Token id:Id.Lit_Chars val:'\t\ttest ! -f file3 &&\n' span_id:931) (Token id:Id.Lit_Chars val:'\t\ttest -f sub_file1 &&\n' span_id:932) (Token id:Id.Lit_Chars val:'\t\t! grep update file2 &&\n' span_id:933) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch3 &&\n' span_id: 934 ) (Token id:Id.Lit_Chars val:'\t\ttest -f file1 &&\n' span_id:935) (Token id:Id.Lit_Chars val:'\t\ttest -f file2 &&\n' span_id:936) (Token id:Id.Lit_Chars val:'\t\ttest -f file3 &&\n' span_id:937) (Token id:Id.Lit_Chars val:'\t\ttest -f sub_file1 &&\n' span_id:938) (Token id:Id.Lit_Chars val:'\t\tgrep update file2 &&\n' span_id:939) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:940) (Token id:Id.Lit_Chars val:'\t\tcd branch1 &&\n' span_id:941) (Token id:Id.Lit_Chars val:'\t\tp4 edit file2 &&\n' span_id:942) (Token id:Id.Lit_Chars val:'\t\techo file2_ >>file2 &&\n' span_id:943) (Token id: Id.Lit_Chars val: '\t\tp4 submit -d "update file2 in branch1" &&\n' span_id: 944 ) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:945) (Token id: Id.Lit_Chars val: '\t\tgit reset --hard p4/depot/branch1 &&\n' span_id: 946 ) (Token id:Id.Lit_Chars val:'\t\tgit p4 rebase &&\n' span_id:947) (Token id:Id.Lit_Chars val:'\t\tgrep file2_ file2\n' span_id:948) (Token id:Id.Lit_Chars val:'\t)\n' span_id:949) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'Update a file in git side and submit to P4 using client view' span_id: 959 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:963) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:964) (Token id:Id.Lit_Chars val:'\t(\n' span_id:965) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:966) (Token id:Id.Lit_Chars val:'\t\tgit reset --hard p4/depot/branch1 &&\n' span_id:967) (Token id:Id.Lit_Chars val:'\t\techo "client spec" >> file1 &&\n' span_id:968) (Token id:Id.Lit_Chars val:'\t\tgit add -u . &&\n' span_id:969) (Token id: Id.Lit_Chars val: '\t\tgit commit -m "update file1 in branch1" &&\n' span_id: 970 ) (Token id:Id.Lit_Chars val:'\t\tgit config git-p4.skipSubmitEdit true &&\n' span_id:971) (Token id:Id.Lit_Chars val:'\t\tgit p4 submit --verbose &&\n' span_id:972) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:973) (Token id:Id.Lit_Chars val:'\t\tp4 sync ... &&\n' span_id:974) (Token id:Id.Lit_Chars val:'\t\tcd branch1 &&\n' span_id:975) (Token id:Id.Lit_Chars val:'\t\tgrep "client spec" file1\n' span_id:976) (Token id:Id.Lit_Chars val:'\t)\n' span_id:977) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'kill p4d' span_id:984))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:988) (Token id:Id.Lit_Chars val:'\tkill_p4d\n' span_id:989) ) } ) (C {(test_done)}) ] )