(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:USAGE)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'<start> <url> [<end>]' span_id:18))}
          spids: [16]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LONG_USAGE)
          op: assign_op.Equal
          rhs: 
            {
              (SQ 
                (Token
                  id: Id.Lit_Chars
                  val: 'Summarizes the changes between two commits to the standard output,\n'
                  span_id: 23
                ) (Token id:Id.Lit_Chars val:'and includes the given URL in the generated summary.' span_id:24)
              )
            }
          spids: [21]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SUBDIRECTORY_OK)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:Yes span_id:29))}
          spids: [27]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OPTIONS_KEEPDASHDASH)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [32]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OPTIONS_STUCKLONG)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [34]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OPTIONS_SPEC)
          op: assign_op.Equal
          rhs: 
            {
              (SQ 
                (Token
                  id: Id.Lit_Chars
                  val: 'git request-pull [options] start url [end]\n'
                  span_id: 38
                ) (Token id:Id.Lit_Chars val:'--\n' span_id:39) 
                (Token
                  id: Id.Lit_Chars
                  val: 'p    show patch text as well\n'
                  span_id: 40
                )
              )
            }
          spids: [36]
        )
      ]
    )
    (C {(.)} {(git-sh-setup)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GIT_PAGER)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [49]
        )
      ]
    )
    (C {(export)} {(GIT_PAGER)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:patch)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [56]
        )
      ]
    )
    (command.WhileUntil
      keyword: (Token id:Id.KW_While val:while span_id:58)
      cond: [
        (command.Case
          to_match: {(DQ ($ Id.VSub_Pound '$#'))}
          arms: [
            (case_arm
              pat_list: [{(0)}]
              action: [
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Break val:break span_id:71)
                )
              ]
              spids: [68 69 73 -1]
            )
          ]
        )
      ]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(-p)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:patch)
                          op: assign_op.Equal
                          rhs: {(-p)}
                          spids: [93]
                        )
                      ]
                    )
                  ]
                  spids: [89 90 96 -1]
                )
                (case_arm
                  pat_list: [{(--)}]
                  action: [
                    (command.Sentence
                      child: (C {(shift)})
                      terminator: (Token id:Id.Op_Semi val:';' span_id:104)
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Break val:break span_id:106)
                    )
                  ]
                  spids: [99 100 108 -1]
                )
                (case_arm
                  pat_list: [{(-) (Id.Lit_Star '*')}]
                  action: [(C {(usage)})]
                  spids: [111 113 118 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Break val:break span_id:125)
                    )
                  ]
                  spids: [121 122 127 -1]
                )
              ]
            )
            (C {(shift)})
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:base)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [138]
        )
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$2')}
          spids: [141]
        )
        (assign_pair
          lhs: (sh_lhs_expr.Name name:status)
          op: assign_op.Equal
          rhs: {(0)}
          spids: [144]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DPipe]
      children: [
        (C {(test)} {(-n)} {(DQ ($ Id.VSub_DollarName '$base'))})
        (C {(test)} {(-n)} {(DQ ($ Id.VSub_DollarName '$url'))})
        (C {(usage)})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:baserev)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:172)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(git)} {(rev-parse)} {(--verify)} {(--quiet)} 
                        {(DQ ($ Id.VSub_DollarName '$base')) (Id.Lit_Other '^') (0)}
                      )
                    ]
                  )
              )
            }
          spids: [171]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$baserev'))})]
          action: [(C {(die)} {(DQ ('fatal: Not a valid revision: ') ($ Id.VSub_DollarName '$base'))})]
          spids: [188 198]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:local)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Number val:3 span_id:228)
                suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(':*')})
              )
            }
          spids: [226]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:local)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:local span_id:235)
                suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(HEAD)})
              )
            }
          spids: [233]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:remote)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Number val:3 span_id:242)
                suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{('*:')})
              )
            }
          spids: [240]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pretty_remote)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:remote span_id:249)
                suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{(refs) (Id.Lit_Slash /)})
              )
            }
          spids: [247]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pretty_remote)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:pretty_remote span_id:257)
                suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{(heads) (Id.Lit_Slash /)})
              )
            }
          spids: [255]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:head)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:264)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(git)} {(symbolic-ref)} {(-q)} {(DQ ($ Id.VSub_DollarName '$local'))})
                    ]
                  )
              )
            }
          spids: [263]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:head)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:head span_id:278)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: 
                      {
                        (command_sub
                          left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:280)
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {(git)} {(show-ref)} {(--heads)} {(--tags)} 
                                      {(DQ ($ Id.VSub_DollarName '$local'))}
                                    )
                                    (C {(cut)} {(-d) (SQ (Token id:Id.Lit_Chars val:' ' span_id:299))} 
                                      {(-f2)}
                                    )
                                  ]
                                  negated: F
                                )
                              ]
                            )
                        )
                      }
                  )
              )
            }
          spids: [276]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:head)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:head span_id:308)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonHyphen
                    arg_word: 
                      {
                        (command_sub
                          left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:310)
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {(git)} {(rev-parse)} {(--quiet)} {(--verify)} 
                                  {(DQ ($ Id.VSub_DollarName '$local'))}
                                )
                              ]
                            )
                        )
                      }
                  )
              )
            }
          spids: [306]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$head'))})
        (C {(die)} {(DQ ('fatal: Not a valid revision: ') ($ Id.VSub_DollarName '$local'))})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:headrev)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:354)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(git)} {(rev-parse)} {(--verify)} {(--quiet)} 
                        {(DQ ($ Id.VSub_DollarName '$head')) (Id.Lit_Other '^') (0)}
                      )
                    ]
                  )
              )
            }
          spids: [353]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$headrev'))})
        (C {(die)} {(DQ ('fatal: Ambiguous revision: ') ($ Id.VSub_DollarName '$local'))})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:branch_name)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:head span_id:393)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VOp1_Pound
                    arg_word: {(refs) (Id.Lit_Slash /) (heads) (Id.Lit_Slash /)}
                  )
              )
            }
          spids: [391]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(test)} {(DQ (z) ($ Id.VSub_DollarName '$branch_name'))} {(Id.Lit_Equals '=')} 
                  {(DQ (z) ($ Id.VSub_DollarName '$headref'))}
                )
                (command.Pipeline
                  children: [
                    (command.Simple
                      words: [
                        {(git)}
                        {(config)}
                        {(DQ (branch.) ($ Id.VSub_DollarName '$branch_name') (.description))}
                      ]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:432)
                          fd: -1
                          arg_word: {(/dev/null)}
                        )
                      ]
                    )
                  ]
                  negated: T
                )
              ]
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:branch_name)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [438]
                )
              ]
            )
          ]
          spids: [401 435]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:merge_base)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:444)
                    command_list: 
                      (command.CommandList
                        children: [
                          (C {(git)} {(merge-base)} {($ Id.VSub_DollarName '$baserev')} 
                            {($ Id.VSub_DollarName '$headrev')}
                          )
                        ]
                      )
                  )
                }
              spids: [443]
            )
          ]
        )
        (C {(die)} 
          {
            (DQ ('fatal: No commits in common between ') ($ Id.VSub_DollarName '$base') (' and ') 
              ($ Id.VSub_DollarName '$head')
            )
          }
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:find_matching_ref)
          op: assign_op.Equal
          rhs: 
            {
              (SQ (Token id:Id.Lit_Chars val:'\n' span_id:483) 
                (Token
                  id: Id.Lit_Chars
                  val: '\tmy ($head,$headrev) = (@ARGV);\n'
                  span_id: 484
                ) (Token id:Id.Lit_Chars val:'\tmy ($found);\n' span_id:485) 
                (Token id:Id.Lit_Chars val:'\n' span_id:486) (Token id:Id.Lit_Chars val:'\twhile (<STDIN>) {\n' span_id:487) 
                (Token id:Id.Lit_Chars val:'\t\tchomp;\n' span_id:488) 
                (Token
                  id: Id.Lit_Chars
                  val: '\t\tmy ($sha1, $ref, $deref) = /^(\\S+)\\s+([^^]+)(\\S*)$/;\n'
                  span_id: 489
                ) (Token id:Id.Lit_Chars val:'\t\tmy ($pattern);\n' span_id:490) 
                (Token
                  id: Id.Lit_Chars
                  val: '\t\tnext unless ($sha1 eq $headrev);\n'
                  span_id: 491
                ) (Token id:Id.Lit_Chars val:'\n' span_id:492) 
                (Token id:Id.Lit_Chars val:'\t\t$pattern="/$head\\$";\n' span_id:493) (Token id:Id.Lit_Chars val:'\t\tif ($ref eq $head) {\n' span_id:494) 
                (Token id:Id.Lit_Chars val:'\t\t\t$found = $ref;\n' span_id:495) (Token id:Id.Lit_Chars val:'\t\t}\n' span_id:496) 
                (Token
                  id: Id.Lit_Chars
                  val: '\t\tif ($ref =~ /$pattern/) {\n'
                  span_id: 497
                ) (Token id:Id.Lit_Chars val:'\t\t\t$found = $ref;\n' span_id:498) 
                (Token id:Id.Lit_Chars val:'\t\t}\n' span_id:499) (Token id:Id.Lit_Chars val:'\t\tif ($sha1 eq $head) {\n' span_id:500) 
                (Token id:Id.Lit_Chars val:'\t\t\t$found = $sha1;\n' span_id:501) (Token id:Id.Lit_Chars val:'\t\t}\n' span_id:502) (Token id:Id.Lit_Chars val:'\t}\n' span_id:503) 
                (Token id:Id.Lit_Chars val:'\tif ($found) {\n' span_id:504) (Token id:Id.Lit_Chars val:'\t\tprint "$found\\n";\n' span_id:505) 
                (Token id:Id.Lit_Chars val:'\t}\n' span_id:506)
              )
            }
          spids: [481]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ref)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:511)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(git)} {(ls-remote)} {(DQ ($ Id.VSub_DollarName '$url'))})
                          (C 
                            {(Id.Lit_Other '@') (Id.Lit_Splice '@PERL') (Id.Lit_Other '@') 
                              (Id.Lit_Other '@')
                            } {(-e)} {(DQ ($ Id.VSub_DollarName '$find_matching_ref'))} 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: (Token id:Id.VSub_Name val:remote span_id:535)
                                  suffix_op: 
                                    (suffix_op.Unary
                                      op_id: Id.VTest_ColonHyphen
                                      arg_word: {(HEAD)}
                                    )
                                )
                              )
                            } {(DQ ($ Id.VSub_DollarName '$headrev'))}
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [510]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$ref'))})]
          action: [
            (command.Simple
              words: [
                {(echo)}
                {
                  (DQ ('warn: No match for commit ') ($ Id.VSub_DollarName '$headrev') (' found at ') 
                    ($ Id.VSub_DollarName '$url')
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:569)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.Simple
              words: [
                {(echo)}
                {
                  (DQ ("warn: Are you sure you pushed '") 
                    (braced_var_sub
                      token: (Token id:Id.VSub_Name val:remote span_id:578)
                      suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(HEAD)})
                    ) ("' there?")
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:585)
                  fd: -1
                  arg_word: {(2)}
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:status)
                  op: assign_op.Equal
                  rhs: {(1)}
                  spids: [589]
                )
              ]
            )
          ]
          spids: [547 557]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {(DQ ($ Id.VSub_DollarName '$ref'))} {(Id.Lit_Equals '=')} 
              {(DQ (refs/tags/) ($ Id.VSub_DollarName '$pretty_remote'))}
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pretty_remote)
                  op: assign_op.Equal
                  rhs: {(tags/) ($ Id.VSub_DollarName '$pretty_remote')}
                  spids: [616]
                )
              ]
            )
          ]
          spids: [598 613]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:624)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(git)} {(ls-remote)} {(--get-url)} {(DQ ($ Id.VSub_DollarName '$url'))})
                    ]
                  )
              )
            }
          spids: [623]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DPipe]
      children: [
        (C {(git)} {(show)} {(-s)} 
          {(--format) (Id.Lit_Equals '=') 
            (SQ (Token id:Id.Lit_Chars val:'The following changes since commit %H:\n' span_id:646) 
              (Token id:Id.Lit_Chars val:'\n' span_id:647) (Token id:Id.Lit_Chars val:'  %s (%ci)\n' span_id:648) (Token id:Id.Lit_Chars val:'\n' span_id:649) 
              (Token
                id: Id.Lit_Chars
                val: 'are available in the git repository at:\n'
                span_id: 650
              )
            )
          } {($ Id.VSub_DollarName '$merge_base')}
        )
        (C {(echo)} 
          {(DQ ('  ') ($ Id.VSub_DollarName '$url') (' ') ($ Id.VSub_DollarName '$pretty_remote'))}
        )
        (C {(git)} {(show)} {(-s)} 
          {(--format) (Id.Lit_Equals '=') 
            (SQ (Token id:Id.Lit_Chars val:'\n' span_id:677) 
              (Token
                id: Id.Lit_Chars
                val: 'for you to fetch changes up to %H:\n'
                span_id: 678
              ) (Token id:Id.Lit_Chars val:'\n' span_id:679) (Token id:Id.Lit_Chars val:'  %s (%ci)\n' span_id:680) 
              (Token id:Id.Lit_Chars val:'\n' span_id:681) 
              (Token
                id: Id.Lit_Chars
                val: ----------------------------------------------------------------
                span_id: 682
              )
            )
          } {($ Id.VSub_DollarName '$headrev')}
        )
        (command.If
          arms: [
            (if_arm
              cond: [
                (C {(test)} 
                  {
                    (command_sub
                      left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:694)
                      command_list: 
                        (command.CommandList
                          children: [
                            (C {(git)} {(cat-file)} {(-t)} {(DQ ($ Id.VSub_DollarName '$head'))})
                          ]
                        )
                    )
                  } {(Id.Lit_Equals '=')} {(tag)}
                )
              ]
              action: [
                (command.Pipeline
                  children: [
                    (C {(git)} {(cat-file)} {(tag)} {(DQ ($ Id.VSub_DollarName '$head'))})
                    (C {(sed)} {(-n)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'1,/^$/d' span_id:733))} 
                      {(-e)} {(SQ (Token id:Id.Lit_Chars val:'/^-----BEGIN PGP /q' span_id:739))} {(-e)} {(p)}
                    )
                  ]
                  negated: F
                )
                (C {(echo)})
                (C {(echo)} {(DQ (----------------------------------------------------------------))})
              ]
              spids: [690 710]
            )
          ]
        )
        (command.If
          arms: [
            (if_arm
              cond: [(C {(test)} {(-n)} {(DQ ($ Id.VSub_DollarName '$branch_name'))})]
              action: [
                (C {(echo)} 
                  {
                    (DQ ('(from the branch description for ') ($ Id.VSub_DollarName '$branch_name') 
                      (' local branch)')
                    )
                  }
                )
                (C {(echo)})
                (C {(git)} {(config)} 
                  {(DQ (branch.) ($ Id.VSub_DollarName '$branch_name') (.description))}
                )
                (C {(echo)} {(DQ (----------------------------------------------------------------))})
              ]
              spids: [761 771]
            )
          ]
        )
        (C {(git)} {(shortlog)} {(Id.Lit_Other '^') ($ Id.VSub_DollarName '$baserev')} 
          {($ Id.VSub_DollarName '$headrev')}
        )
        (C {(git)} {(diff)} {(-M)} {(--stat)} {(--summary)} {($ Id.VSub_DollarName '$patch')} 
          {($ Id.VSub_DollarName '$merge_base') (..) ($ Id.VSub_DollarName '$headrev')}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:status)
              op: assign_op.Equal
              rhs: {(1)}
              spids: [837]
            )
          ]
        )
      ]
    )
    (command.ControlFlow
      token: (Token id:Id.ControlFlow_Exit val:exit span_id:841)
      arg_word: {($ Id.VSub_DollarName '$status')}
    )
  ]
)