(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"diff with unmerged index entries">)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ <"\n"> <"\tfor i in 0 1 2 3\n"> <"\tdo\n"> 
          <"\t\tblob=$(echo $i | git hash-object --stdin) &&\n"> <"\t\teval \"blob$i=$blob\" &&\n"> <"\t\teval \"m$i=\\\"100644 \\$blob$i $i\\\"\" || return 1\n"> 
          <"\tdone &&\n"> <"\tpaths= &&\n"> <"\tfor b in o x\n"> <"\tdo\n"> <"\t\tfor o in o x\n"> <"\t\tdo\n"> 
          <"\t\t\tfor t in o x\n"> <"\t\t\tdo\n"> <"\t\t\t\tpath=\"$b$o$t\" &&\n"> <"\t\t\t\tcase \"$path\" in ooo) continue ;; esac\n"> 
          <"\t\t\t\tpaths=\"$paths$path \" &&\n"> <"\t\t\t\tp=\"\t$path\" &&\n"> <"\t\t\t\tcase \"$b\" in x) echo \"$m1$p\" ;; esac &&\n"> 
          <"\t\t\t\tcase \"$o\" in x) echo \"$m2$p\" ;; esac &&\n"> <"\t\t\t\tcase \"$t\" in x) echo \"$m3$p\" ;; esac ||\n"> <"\t\t\t\treturn 1\n"> <"\t\t\tdone\n"> 
          <"\t\tdone\n"> <"\tdone >ls-files-s.expect &&\n"> <"\tgit update-index --index-info <ls-files-s.expect &&\n"> 
          <"\tgit ls-files -s >ls-files-s.actual &&\n"> <"\ttest_cmp ls-files-s.expect ls-files-s.actual\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"diff-files -0">)} 
      {
        (SQ <"\n"> <"\tfor path in $paths\n"> <"\tdo\n"> <"\t\t>\"$path\" &&\n"> 
          <"\t\techo \":000000 100644 $_z40 $_z40 U\t$path\"\n"> <"\tdone >diff-files-0.expect &&\n"> <"\tgit diff-files -0 >diff-files-0.actual &&\n"> 
          <"\ttest_cmp diff-files-0.expect diff-files-0.actual\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"diff-files -1">)} 
      {
        (SQ <"\n"> <"\tfor path in $paths\n"> <"\tdo\n"> <"\t\t>\"$path\" &&\n"> 
          <"\t\techo \":000000 100644 $_z40 $_z40 U\t$path\" &&\n"> <"\t\tcase \"$path\" in\n"> <"\t\tx??) echo \":100644 100644 $blob1 $_z40 M\t$path\"\n"> <"\t\tesac\n"> 
          <"\tdone >diff-files-1.expect &&\n"> <"\tgit diff-files -1 >diff-files-1.actual &&\n"> 
          <"\ttest_cmp diff-files-1.expect diff-files-1.actual\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"diff-files -2">)} 
      {
        (SQ <"\n"> <"\tfor path in $paths\n"> <"\tdo\n"> <"\t\t>\"$path\" &&\n"> 
          <"\t\techo \":000000 100644 $_z40 $_z40 U\t$path\" &&\n"> <"\t\tcase \"$path\" in\n"> <"\t\t?x?) echo \":100644 100644 $blob2 $_z40 M\t$path\"\n"> <"\t\tesac\n"> 
          <"\tdone >diff-files-2.expect &&\n"> <"\tgit diff-files -2 >diff-files-2.actual &&\n"> 
          <"\ttest_cmp diff-files-2.expect diff-files-2.actual &&\n"> <"\tgit diff-files >diff-files-default-2.actual &&\n"> 
          <"\ttest_cmp diff-files-2.expect diff-files-default-2.actual\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"diff-files -3">)} 
      {
        (SQ <"\n"> <"\tfor path in $paths\n"> <"\tdo\n"> <"\t\t>\"$path\" &&\n"> 
          <"\t\techo \":000000 100644 $_z40 $_z40 U\t$path\" &&\n"> <"\t\tcase \"$path\" in\n"> <"\t\t??x) echo \":100644 100644 $blob3 $_z40 M\t$path\"\n"> <"\t\tesac\n"> 
          <"\tdone >diff-files-3.expect &&\n"> <"\tgit diff-files -3 >diff-files-3.actual &&\n"> 
          <"\ttest_cmp diff-files-3.expect diff-files-3.actual\n">
        )
      }
    )
    (C {(test_done)})
  ]
)