(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:'Test cherry-pick continuation features\n' span_id:6) 
                (Token id:Id.Lit_Chars val:'\n' span_id:7) (Token id:Id.Lit_Chars val:' +  conflicting: rewrites unrelated to conflicting\n' span_id:8) 
                (Token
                  id: Id.Lit_Chars
                  val: '  + yetanotherpick: rewrites foo to e\n'
                  span_id: 9
                ) (Token id:Id.Lit_Chars val:'  + anotherpick: rewrites foo to d\n' span_id:10) 
                (Token
                  id: Id.Lit_Chars
                  val: '  + picked: rewrites foo to c\n'
                  span_id: 11
                ) (Token id:Id.Lit_Chars val:'  + unrelatedpick: rewrites unrelated to reallyunrelated\n' span_id:12) 
                (Token
                  id: Id.Lit_Chars
                  val: '  + base: rewrites foo to b\n'
                  span_id: 13
                ) (Token id:Id.Lit_Chars val:'  + initial: writes foo as a, unrelated as unrelated\n' span_id:14) 
                (Token id:Id.Lit_Chars val:'\n' span_id:15)
              )
            }
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_r10)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1' span_id:29))}
          spids: [27]
        )
      ]
    )
    (command.ShFunction
      name: pristine_detach
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
              children: [
                (C {(git)} {(cherry-pick)} {(--quit)})
                (C {(git)} {(checkout)} {(-f)} {(DQ ($ Id.VSub_Number '$1') ('^0'))})
                (C {(git)} {(read-tree)} {(-u)} {(--reset)} {(HEAD)})
                (C {(git)} {(clean)} {(-d)} {(-f)} {(-f)} {(-q)} {(-x)})
              ]
            )
          ]
        )
    )
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:99) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config advice.detachedhead false &&\n'
            span_id: 100
          ) (Token id:Id.Lit_Chars val:'\techo unrelated >unrelated &&\n' span_id:101) 
          (Token id:Id.Lit_Chars val:'\tgit add unrelated &&\n' span_id:102) (Token id:Id.Lit_Chars val:'\ttest_commit initial foo a &&\n' span_id:103) 
          (Token id:Id.Lit_Chars val:'\ttest_commit base foo b &&\n' span_id:104) (Token id:Id.Lit_Chars val:'\ttest_commit unrelatedpick unrelated reallyunrelated &&\n' span_id:105) 
          (Token id:Id.Lit_Chars val:'\ttest_commit picked foo c &&\n' span_id:106) (Token id:Id.Lit_Chars val:'\ttest_commit anotherpick foo d &&\n' span_id:107) 
          (Token id:Id.Lit_Chars val:'\ttest_commit yetanotherpick foo e &&\n' span_id:108) (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:109) 
          (Token id:Id.Lit_Chars val:'\ttest_commit conflicting unrelated\n' span_id:110)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'cherry-pick persists data on failure' span_id:117))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:121) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:122) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_expect_code 1 git cherry-pick -s base..anotherpick &&\n'
            span_id: 123
          ) (Token id:Id.Lit_Chars val:'\ttest_path_is_dir .git/sequencer &&\n' span_id:124) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_path_is_file .git/sequencer/head &&\n'
            span_id: 125
          ) (Token id:Id.Lit_Chars val:'\ttest_path_is_file .git/sequencer/todo &&\n' span_id:126) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_path_is_file .git/sequencer/opts\n'
            span_id: 127
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'cherry-pick mid-cherry-pick-sequence' span_id:134))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:138) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:139) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick base..anotherpick &&\n' span_id:140) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_cmp_rev picked CHERRY_PICK_HEAD &&\n'
            span_id: 141
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\t# "oops, I forgot that these patches rely on the change from base"\n'
            span_id: 142
          ) (Token id:Id.Lit_Chars val:'\tgit checkout HEAD foo &&\n' span_id:143) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick base &&\n' span_id:144) (Token id:Id.Lit_Chars val:'\tgit cherry-pick picked &&\n' span_id:145) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:146) (Token id:Id.Lit_Chars val:'\tgit diff --exit-code anotherpick\n' span_id:147)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'cherry-pick persists opts correctly' span_id:154))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:158) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:159) 
          (Token
            id: Id.Lit_Chars
            val: 
'\ttest_expect_code 128 git cherry-pick -s -m 1 --strategy=recursive -X patience -X ours initial..anotherpick &&\n'
            span_id: 160
          ) (Token id:Id.Lit_Chars val:'\ttest_path_is_dir .git/sequencer &&\n' span_id:161) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_path_is_file .git/sequencer/head &&\n'
            span_id: 162
          ) (Token id:Id.Lit_Chars val:'\ttest_path_is_file .git/sequencer/todo &&\n' span_id:163) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_path_is_file .git/sequencer/opts &&\n'
            span_id: 164
          ) (Token id:Id.Lit_Chars val:'\techo "true" >expect &&\n' span_id:165) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config --file=.git/sequencer/opts --get-all options.signoff >actual &&\n'
            span_id: 166
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual &&\n' span_id:167) 
          (Token id:Id.Lit_Chars val:'\techo "1" >expect &&\n' span_id:168) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config --file=.git/sequencer/opts --get-all options.mainline >actual &&\n'
            span_id: 169
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual &&\n' span_id:170) 
          (Token id:Id.Lit_Chars val:'\techo "recursive" >expect &&\n' span_id:171) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config --file=.git/sequencer/opts --get-all options.strategy >actual &&\n'
            span_id: 172
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual &&\n' span_id:173) 
          (Token id:Id.Lit_Chars val:'\tcat >expect <<-\\EOF &&\n' span_id:174) (Token id:Id.Lit_Chars val:'\tpatience\n' span_id:175) 
          (Token id:Id.Lit_Chars val:'\tours\n' span_id:176) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:177) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tgit config --file=.git/sequencer/opts --get-all options.strategy-option >actual &&\n'
            span_id: 178
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:179)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'cherry-pick cleans up sequencer state upon success'
            span_id: 186
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:190) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:191) (Token id:Id.Lit_Chars val:'\tgit cherry-pick initial..picked &&\n' span_id:192) 
          (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer\n' span_id:193)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--quit does not complain when no cherry-pick is in progress'
            span_id: 200
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:204) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:205) (Token id:Id.Lit_Chars val:'\tgit cherry-pick --quit\n' span_id:206)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--abort requires cherry-pick in progress' span_id:213))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:217) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:218) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick --abort\n' span_id:219)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--quit cleans up sequencer state' span_id:226))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:230) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:231) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..picked &&\n' span_id:232) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --quit &&\n' span_id:233) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer\n' span_id:234)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--quit keeps HEAD and conflicted index intact' span_id:241))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:245) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:246) (Token id:Id.Lit_Chars val:'\tcat >expect <<-\\EOF &&\n' span_id:247) 
          (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:248) (Token id:Id.Lit_Chars val:'\t:100644 100644 OBJID OBJID M\tunrelated\n' span_id:249) 
          (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:250) (Token id:Id.Lit_Chars val:'\t:000000 100644 OBJID OBJID A\tfoo\n' span_id:251) 
          (Token
            id: Id.Lit_Chars
            val: '\t:000000 100644 OBJID OBJID A\tunrelated\n'
            span_id: 252
          ) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:253) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_expect_code 1 git cherry-pick base..picked &&\n'
            span_id: 254
          ) (Token id:Id.Lit_Chars val:'\tgit cherry-pick --quit &&\n' span_id:255) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_path_is_missing .git/sequencer &&\n'
            span_id: 256
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git update-index --refresh &&\n' span_id:257) 
          (Token id:Id.Lit_Chars val:'\t{\n' span_id:258) (Token id:Id.Lit_Chars val:'\t\tgit rev-list HEAD |\n' span_id:259) 
          (Token id:Id.Lit_Chars val:'\t\tgit diff-tree --root --stdin |\n' span_id:260) (Token id:Id.Lit_Chars val:'\t\tsed "s/$_x40/OBJID/g"\n' span_id:261) 
          (Token id:Id.Lit_Chars val:'\t} >actual &&\n' span_id:262) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:263)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--abort to cancel multiple cherry-pick' span_id:270))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:274) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:275) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:276) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --abort &&\n' span_id:277) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:278) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev initial HEAD &&\n' span_id:279) (Token id:Id.Lit_Chars val:'\tgit update-index --refresh &&\n' span_id:280) 
          (Token id:Id.Lit_Chars val:'\tgit diff-index --exit-code HEAD\n' span_id:281)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--abort to cancel single cherry-pick' span_id:288))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:292) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:293) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick picked &&\n' span_id:294) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --abort &&\n' span_id:295) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:296) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev initial HEAD &&\n' span_id:297) (Token id:Id.Lit_Chars val:'\tgit update-index --refresh &&\n' span_id:298) 
          (Token id:Id.Lit_Chars val:'\tgit diff-index --exit-code HEAD\n' span_id:299)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'cherry-pick --abort to cancel multiple revert' span_id:306))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:310) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach anotherpick &&\n' span_id:311) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git revert base..picked &&\n' span_id:312) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --abort &&\n' span_id:313) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:314) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev anotherpick HEAD &&\n' span_id:315) (Token id:Id.Lit_Chars val:'\tgit update-index --refresh &&\n' span_id:316) 
          (Token id:Id.Lit_Chars val:'\tgit diff-index --exit-code HEAD\n' span_id:317)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'revert --abort works, too' span_id:324))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:328) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach anotherpick &&\n' span_id:329) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git revert base..picked &&\n' span_id:330) 
          (Token id:Id.Lit_Chars val:'\tgit revert --abort &&\n' span_id:331) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:332) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev anotherpick HEAD\n' span_id:333)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--abort to cancel single revert' span_id:340))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:344) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach anotherpick &&\n' span_id:345) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git revert picked &&\n' span_id:346) 
          (Token id:Id.Lit_Chars val:'\tgit revert --abort &&\n' span_id:347) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:348) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev anotherpick HEAD &&\n' span_id:349) (Token id:Id.Lit_Chars val:'\tgit update-index --refresh &&\n' span_id:350) 
          (Token id:Id.Lit_Chars val:'\tgit diff-index --exit-code HEAD\n' span_id:351)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--abort keeps unrelated change, easy case' span_id:358))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:362) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach unrelatedpick &&\n' span_id:363) (Token id:Id.Lit_Chars val:'\techo changed >expect &&\n' span_id:364) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_expect_code 1 git cherry-pick picked..yetanotherpick &&\n'
            span_id: 365
          ) (Token id:Id.Lit_Chars val:'\techo changed >unrelated &&\n' span_id:366) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --abort &&\n' span_id:367) (Token id:Id.Lit_Chars val:'\ttest_cmp expect unrelated\n' span_id:368)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--abort refuses to clobber unrelated change, harder case'
            span_id: 375
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:379) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:380) (Token id:Id.Lit_Chars val:'\techo changed >expect &&\n' span_id:381) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n'
            span_id: 382
          ) (Token id:Id.Lit_Chars val:'\techo changed >unrelated &&\n' span_id:383) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git cherry-pick --abort &&\n'
            span_id: 384
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect unrelated &&\n' span_id:385) 
          (Token id:Id.Lit_Chars val:'\tgit rev-list HEAD >log &&\n' span_id:386) (Token id:Id.Lit_Chars val:'\ttest_line_count = 2 log &&\n' span_id:387) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git update-index --refresh &&\n'
            span_id: 388
          ) (Token id:Id.Lit_Chars val:'\n' span_id:389) 
          (Token id:Id.Lit_Chars val:'\tgit checkout unrelated &&\n' span_id:390) (Token id:Id.Lit_Chars val:'\tgit cherry-pick --abort &&\n' span_id:391) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev initial HEAD\n' span_id:392)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'cherry-pick still writes sequencer state when one commit is left'
            span_id: 399
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:403) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:404) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..picked &&\n' span_id:405) 
          (Token id:Id.Lit_Chars val:'\ttest_path_is_dir .git/sequencer &&\n' span_id:406) (Token id:Id.Lit_Chars val:'\techo "resolved" >foo &&\n' span_id:407) 
          (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:408) (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:409) 
          (Token id:Id.Lit_Chars val:'\t{\n' span_id:410) (Token id:Id.Lit_Chars val:'\t\tgit rev-list HEAD |\n' span_id:411) 
          (Token id:Id.Lit_Chars val:'\t\tgit diff-tree --root --stdin |\n' span_id:412) (Token id:Id.Lit_Chars val:'\t\tsed "s/$_x40/OBJID/g"\n' span_id:413) 
          (Token id:Id.Lit_Chars val:'\t} >actual &&\n' span_id:414) (Token id:Id.Lit_Chars val:'\tcat >expect <<-\\EOF &&\n' span_id:415) 
          (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:416) (Token id:Id.Lit_Chars val:'\t:100644 100644 OBJID OBJID M\tfoo\n' span_id:417) 
          (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:418) (Token id:Id.Lit_Chars val:'\t:100644 100644 OBJID OBJID M\tunrelated\n' span_id:419) 
          (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:420) (Token id:Id.Lit_Chars val:'\t:000000 100644 OBJID OBJID A\tfoo\n' span_id:421) 
          (Token
            id: Id.Lit_Chars
            val: '\t:000000 100644 OBJID OBJID A\tunrelated\n'
            span_id: 422
          ) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:423) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:424)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--abort after last commit in sequence' span_id:431))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:435) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:436) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..picked &&\n' span_id:437) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --abort &&\n' span_id:438) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:439) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev initial HEAD &&\n' span_id:440) (Token id:Id.Lit_Chars val:'\tgit update-index --refresh &&\n' span_id:441) 
          (Token id:Id.Lit_Chars val:'\tgit diff-index --exit-code HEAD\n' span_id:442)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'cherry-pick does not implicitly stomp an existing operation'
            span_id: 449
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:453) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:454) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:455) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest-chmtime -v +0 .git/sequencer >expect &&\n'
            span_id: 456
          ) (Token id:Id.Lit_Chars val:'\ttest_expect_code 128 git cherry-pick unrelatedpick &&\n' span_id:457) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest-chmtime -v +0 .git/sequencer >actual &&\n'
            span_id: 458
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:459)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--continue complains when no cherry-pick is in progress'
            span_id: 466
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:470) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:471) (Token id:Id.Lit_Chars val:'\ttest_expect_code 128 git cherry-pick --continue\n' span_id:472)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--continue complains when there are unresolved conflicts'
            span_id: 479
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:483) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:484) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:485) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_expect_code 128 git cherry-pick --continue\n'
            span_id: 486
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--continue of single cherry-pick' span_id:493))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:497) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:498) (Token id:Id.Lit_Chars val:'\techo c >expect &&\n' span_id:499) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git cherry-pick picked &&\n'
            span_id: 500
          ) (Token id:Id.Lit_Chars val:'\techo c >foo &&\n' span_id:501) 
          (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:502) (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:503) 
          (Token id:Id.Lit_Chars val:'\n' span_id:504) (Token id:Id.Lit_Chars val:'\ttest_cmp expect foo &&\n' span_id:505) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev initial HEAD^ &&\n' span_id:506) (Token id:Id.Lit_Chars val:'\tgit diff --exit-code HEAD &&\n' span_id:507) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rev-parse --verify CHERRY_PICK_HEAD\n'
            span_id: 508
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--continue of single revert' span_id:515))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:519) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:520) (Token id:Id.Lit_Chars val:'\techo resolved >expect &&\n' span_id:521) 
          (Token
            id: Id.Lit_Chars
            val: '\techo "Revert \\"picked\\"" >expect.msg &&\n'
            span_id: 522
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git revert picked &&\n' span_id:523) 
          (Token id:Id.Lit_Chars val:'\techo resolved >foo &&\n' span_id:524) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:525) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:526) (Token id:Id.Lit_Chars val:'\n' span_id:527) 
          (Token id:Id.Lit_Chars val:'\tgit diff --exit-code HEAD &&\n' span_id:528) (Token id:Id.Lit_Chars val:'\ttest_cmp expect foo &&\n' span_id:529) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp_rev initial HEAD^ &&\n' span_id:530) (Token id:Id.Lit_Chars val:'\tgit diff-tree -s --pretty=tformat:%s HEAD >msg &&\n' span_id:531) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect.msg msg &&\n' span_id:532) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rev-parse --verify CHERRY_PICK_HEAD &&\n'
            span_id: 533
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rev-parse --verify REVERT_HEAD\n' span_id:534)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--continue after resolving conflicts' span_id:541))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:545) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:546) (Token id:Id.Lit_Chars val:'\techo d >expect &&\n' span_id:547) 
          (Token id:Id.Lit_Chars val:'\tcat >expect.log <<-\\EOF &&\n' span_id:548) (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:549) 
          (Token id:Id.Lit_Chars val:'\t:100644 100644 OBJID OBJID M\tfoo\n' span_id:550) (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:551) 
          (Token id:Id.Lit_Chars val:'\t:100644 100644 OBJID OBJID M\tfoo\n' span_id:552) (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:553) 
          (Token
            id: Id.Lit_Chars
            val: '\t:100644 100644 OBJID OBJID M\tunrelated\n'
            span_id: 554
          ) (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:555) 
          (Token id:Id.Lit_Chars val:'\t:000000 100644 OBJID OBJID A\tfoo\n' span_id:556) (Token id:Id.Lit_Chars val:'\t:000000 100644 OBJID OBJID A\tunrelated\n' span_id:557) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:558) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick base..anotherpick &&\n' span_id:559) 
          (Token id:Id.Lit_Chars val:'\techo c >foo &&\n' span_id:560) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:561) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:562) (Token id:Id.Lit_Chars val:'\t{\n' span_id:563) 
          (Token id:Id.Lit_Chars val:'\t\tgit rev-list HEAD |\n' span_id:564) (Token id:Id.Lit_Chars val:'\t\tgit diff-tree --root --stdin |\n' span_id:565) 
          (Token id:Id.Lit_Chars val:'\t\tsed "s/$_x40/OBJID/g"\n' span_id:566) (Token id:Id.Lit_Chars val:'\t} >actual.log &&\n' span_id:567) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect foo &&\n' span_id:568) (Token id:Id.Lit_Chars val:'\ttest_cmp expect.log actual.log\n' span_id:569)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--continue after resolving conflicts and committing'
            span_id: 576
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:580) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:581) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:582) 
          (Token id:Id.Lit_Chars val:'\techo "c" >foo &&\n' span_id:583) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:584) 
          (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:585) (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:586) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_path_is_missing .git/sequencer &&\n'
            span_id: 587
          ) (Token id:Id.Lit_Chars val:'\t{\n' span_id:588) 
          (Token id:Id.Lit_Chars val:'\t\tgit rev-list HEAD |\n' span_id:589) (Token id:Id.Lit_Chars val:'\t\tgit diff-tree --root --stdin |\n' span_id:590) 
          (Token id:Id.Lit_Chars val:'\t\tsed "s/$_x40/OBJID/g"\n' span_id:591) (Token id:Id.Lit_Chars val:'\t} >actual &&\n' span_id:592) 
          (Token id:Id.Lit_Chars val:'\tcat >expect <<-\\EOF &&\n' span_id:593) (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:594) 
          (Token id:Id.Lit_Chars val:'\t:100644 100644 OBJID OBJID M\tfoo\n' span_id:595) (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:596) 
          (Token id:Id.Lit_Chars val:'\t:100644 100644 OBJID OBJID M\tfoo\n' span_id:597) (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:598) 
          (Token
            id: Id.Lit_Chars
            val: '\t:100644 100644 OBJID OBJID M\tunrelated\n'
            span_id: 599
          ) (Token id:Id.Lit_Chars val:'\tOBJID\n' span_id:600) 
          (Token id:Id.Lit_Chars val:'\t:000000 100644 OBJID OBJID A\tfoo\n' span_id:601) (Token id:Id.Lit_Chars val:'\t:000000 100644 OBJID OBJID A\tunrelated\n' span_id:602) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:603) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:604)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--continue asks for help after resolving patch to nil'
            span_id: 611
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:615) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach conflicting &&\n' span_id:616) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick initial..picked &&\n' span_id:617) 
          (Token id:Id.Lit_Chars val:'\n' span_id:618) (Token id:Id.Lit_Chars val:'\ttest_cmp_rev unrelatedpick CHERRY_PICK_HEAD &&\n' span_id:619) 
          (Token id:Id.Lit_Chars val:'\tgit checkout HEAD -- unrelated &&\n' span_id:620) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick --continue 2>msg &&\n' span_id:621) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_i18ngrep "The previous cherry-pick is now empty" msg\n'
            span_id: 622
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'follow advice and skip nil patch' span_id:629))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:633) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach conflicting &&\n' span_id:634) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick initial..picked &&\n' span_id:635) 
          (Token id:Id.Lit_Chars val:'\n' span_id:636) (Token id:Id.Lit_Chars val:'\tgit checkout HEAD -- unrelated &&\n' span_id:637) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git cherry-pick --continue &&\n'
            span_id: 638
          ) (Token id:Id.Lit_Chars val:'\tgit reset &&\n' span_id:639) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:640) (Token id:Id.Lit_Chars val:'\n' span_id:641) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit rev-list initial..HEAD >commits &&\n'
            span_id: 642
          ) (Token id:Id.Lit_Chars val:'\ttest_line_count = 3 commits\n' span_id:643)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'--continue respects opts' span_id:650))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:654) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:655) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_expect_code 1 git cherry-pick -x base..anotherpick &&\n'
            span_id: 656
          ) (Token id:Id.Lit_Chars val:'\techo "c" >foo &&\n' span_id:657) 
          (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:658) (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:659) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:660) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:661) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit cat-file commit HEAD >anotherpick_msg &&\n'
            span_id: 662
          ) (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD~1 >picked_msg &&\n' span_id:663) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit cat-file commit HEAD~2 >unrelatedpick_msg &&\n'
            span_id: 664
          ) (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD~3 >initial_msg &&\n' span_id:665) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail grep "cherry picked from" initial_msg &&\n'
            span_id: 666
          ) (Token id:Id.Lit_Chars val:'\tgrep "cherry picked from" unrelatedpick_msg &&\n' span_id:667) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "cherry picked from" picked_msg &&\n'
            span_id: 668
          ) (Token id:Id.Lit_Chars val:'\tgrep "cherry picked from" anotherpick_msg\n' span_id:669)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--continue of single-pick respects -x' span_id:676))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:680) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:681) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick -x picked &&\n' span_id:682) 
          (Token id:Id.Lit_Chars val:'\techo c >foo &&\n' span_id:683) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:684) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:685) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:686) 
          (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD >msg &&\n' span_id:687) (Token id:Id.Lit_Chars val:'\tgrep "cherry picked from" msg\n' span_id:688)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--continue respects -x in first commit in multi-pick'
            span_id: 695
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:699) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:700) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick -x picked anotherpick &&\n' span_id:701) 
          (Token id:Id.Lit_Chars val:'\techo c >foo &&\n' span_id:702) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:703) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:704) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:705) 
          (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD^ >msg &&\n' span_id:706) (Token id:Id.Lit_Chars val:'\tpicked=$(git rev-parse --verify picked) &&\n' span_id:707) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "cherry picked from.*$picked" msg\n'
            span_id: 708
          )
        )
      }
    )
    (C {(test_expect_failure)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--signoff is automatically propagated to resolved conflict'
            span_id: 715
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:719) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:720) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_expect_code 1 git cherry-pick --signoff base..anotherpick &&\n'
            span_id: 721
          ) (Token id:Id.Lit_Chars val:'\techo "c" >foo &&\n' span_id:722) 
          (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:723) (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:724) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:725) (Token id:Id.Lit_Chars val:'\ttest_path_is_missing .git/sequencer &&\n' span_id:726) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit cat-file commit HEAD >anotherpick_msg &&\n'
            span_id: 727
          ) (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD~1 >picked_msg &&\n' span_id:728) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit cat-file commit HEAD~2 >unrelatedpick_msg &&\n'
            span_id: 729
          ) (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD~3 >initial_msg &&\n' span_id:730) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail grep "Signed-off-by:" initial_msg &&\n'
            span_id: 731
          ) (Token id:Id.Lit_Chars val:'\tgrep "Signed-off-by:" unrelatedpick_msg &&\n' span_id:732) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail grep "Signed-off-by:" picked_msg &&\n'
            span_id: 733
          ) (Token id:Id.Lit_Chars val:'\tgrep "Signed-off-by:" anotherpick_msg\n' span_id:734)
        )
      }
    )
    (C {(test_expect_failure)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: '--signoff dropped for implicit commit of resolution, multi-pick case'
            span_id: 741
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:745) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:746) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick -s picked anotherpick &&\n' span_id:747) 
          (Token id:Id.Lit_Chars val:'\techo c >foo &&\n' span_id:748) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:749) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:750) (Token id:Id.Lit_Chars val:'\n' span_id:751) 
          (Token id:Id.Lit_Chars val:'\tgit diff --exit-code HEAD &&\n' span_id:752) (Token id:Id.Lit_Chars val:'\ttest_cmp_rev initial HEAD^^ &&\n' span_id:753) 
          (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD^ >msg &&\n' span_id:754) (Token id:Id.Lit_Chars val:'\t! grep Signed-off-by: msg\n' span_id:755)
        )
      }
    )
    (C {(test_expect_failure)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'sign-off needs to be reaffirmed after conflict resolution, single-pick case'
            span_id: 762
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:766) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:767) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick -s picked &&\n' span_id:768) 
          (Token id:Id.Lit_Chars val:'\techo c >foo &&\n' span_id:769) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:770) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:771) (Token id:Id.Lit_Chars val:'\n' span_id:772) 
          (Token id:Id.Lit_Chars val:'\tgit diff --exit-code HEAD &&\n' span_id:773) (Token id:Id.Lit_Chars val:'\ttest_cmp_rev initial HEAD^ &&\n' span_id:774) 
          (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD >msg &&\n' span_id:775) (Token id:Id.Lit_Chars val:'\t! grep Signed-off-by: msg\n' span_id:776)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'malformed instruction sheet 1' span_id:783))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:787) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:788) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:789) 
          (Token id:Id.Lit_Chars val:'\techo "resolved" >foo &&\n' span_id:790) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:791) 
          (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:792) (Token id:Id.Lit_Chars val:'\tsed "s/pick /pick/" .git/sequencer/todo >new_sheet &&\n' span_id:793) 
          (Token id:Id.Lit_Chars val:'\tcp new_sheet .git/sequencer/todo &&\n' span_id:794) (Token id:Id.Lit_Chars val:'\ttest_expect_code 128 git cherry-pick --continue\n' span_id:795)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'malformed instruction sheet 2' span_id:802))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:806) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:807) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:808) 
          (Token id:Id.Lit_Chars val:'\techo "resolved" >foo &&\n' span_id:809) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:810) 
          (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:811) (Token id:Id.Lit_Chars val:'\tsed "s/pick/revert/" .git/sequencer/todo >new_sheet &&\n' span_id:812) 
          (Token id:Id.Lit_Chars val:'\tcp new_sheet .git/sequencer/todo &&\n' span_id:813) (Token id:Id.Lit_Chars val:'\ttest_expect_code 128 git cherry-pick --continue\n' span_id:814)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'empty commit set' span_id:821))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:825) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:826) (Token id:Id.Lit_Chars val:'\ttest_expect_code 128 git cherry-pick base..base\n' span_id:827)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'malformed instruction sheet 3' span_id:834))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:838) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:839) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:840) 
          (Token id:Id.Lit_Chars val:'\techo "resolved" >foo &&\n' span_id:841) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:842) 
          (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:843) 
          (Token
            id: Id.Lit_Chars
            val: '\tsed "s/pick \\([0-9a-f]*\\)/pick $_r10/" .git/sequencer/todo >new_sheet &&\n'
            span_id: 844
          ) (Token id:Id.Lit_Chars val:'\tcp new_sheet .git/sequencer/todo &&\n' span_id:845) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_expect_code 128 git cherry-pick --continue\n'
            span_id: 846
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'instruction sheet, fat-fingers version' span_id:853))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:857) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:858) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:859) 
          (Token id:Id.Lit_Chars val:'\techo "c" >foo &&\n' span_id:860) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:861) 
          (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:862) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tsed "s/pick \\([0-9a-f]*\\)/pick \t \\1 \t/" .git/sequencer/todo >new_sheet &&\n'
            span_id: 863
          ) (Token id:Id.Lit_Chars val:'\tcp new_sheet .git/sequencer/todo &&\n' span_id:864) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue\n' span_id:865)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'commit descriptions in insn sheet are optional' span_id:872))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:876) 
          (Token id:Id.Lit_Chars val:'\tpristine_detach initial &&\n' span_id:877) (Token id:Id.Lit_Chars val:'\ttest_expect_code 1 git cherry-pick base..anotherpick &&\n' span_id:878) 
          (Token id:Id.Lit_Chars val:'\techo "c" >foo &&\n' span_id:879) (Token id:Id.Lit_Chars val:'\tgit add foo &&\n' span_id:880) 
          (Token id:Id.Lit_Chars val:'\tgit commit &&\n' span_id:881) (Token id:Id.Lit_Chars val:'\tcut -d" " -f1,2 .git/sequencer/todo >new_sheet &&\n' span_id:882) 
          (Token id:Id.Lit_Chars val:'\tcp new_sheet .git/sequencer/todo &&\n' span_id:883) (Token id:Id.Lit_Chars val:'\tgit cherry-pick --continue &&\n' span_id:884) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_path_is_missing .git/sequencer &&\n'
            span_id: 885
          ) (Token id:Id.Lit_Chars val:'\tgit rev-list HEAD >commits &&\n' span_id:886) 
          (Token id:Id.Lit_Chars val:'\ttest_line_count = 4 commits\n' span_id:887)
        )
      }
    )
    (C {(test_done)})
  ]
)