(CommandList
  children: [
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' <target>'))})
            (C {(exit)} {(2)})
          ]
          spids: [29]
        )
      spids: [25 28]
    )
    (AndOr
      children: [(C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))}) (C {(usage)})]
      op_id: Op_DAmp
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:package) op:Equal rhs:{($ VSub_Number '$1')} spids:[61])]
      spids: [61]
    )
    (C {(cd)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(dirname)} {($ VSub_Number '$0')})])
          left_token: <Left_Backtick '`'>
          spids: [67 71]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:conf_file)
          op: Equal
          rhs: {($ VSub_Name '$package') (/configure.in)}
          spids: [74]
        )
      ]
      spids: [74]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:version)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(cat)} {($ VSub_Name '$conf_file')})
                          (C {(sed)} {(-ne)} 
                            {(SQ <'/AC_INIT.*'>) ($ VSub_Name '$package') (SQ <'.*/s/^AC_INIT.*'>) 
                              ($ VSub_Name '$package') (SQ <', \\(.*\\),.*$/\\1/p'>)
                            }
                          )
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [79 101]
              )
            }
          spids: [78]
        )
      ]
      spids: [78]
    )
    (SimpleCommand
      words: [
        {(git)}
        {(diff)}
        {(--quiet)}
        {($ VSub_Name '$package') (-) ($ VSub_Name '$version') (..HEAD)}
        {(--)}
        {($ VSub_Name '$package')}
      ]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[119])
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[123])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(1)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:abbr)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(git)} {(rev-parse)} {(--short)} {(--verify)} {(HEAD)}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [155]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [144 157]
                      )
                    }
                  spids: [143]
                )
              ]
              spids: [143]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$abbr'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:version)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name version) (_) (${ VSub_Name abbr))}
                          spids: [179]
                        )
                      ]
                      spids: [179]
                    )
                  ]
                  spids: [16777215 176]
                )
              ]
              spids: [16777215 191]
            )
          ]
          spids: [16777215 140]
        )
      ]
      spids: [16777215 193]
    )
    (SimpleCommand
      words: [{(git)} {(diff-index)} {(--quiet)} {(HEAD)} {(--)} {($ VSub_Name '$package')}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[208])
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[212])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(1)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name version) (_dirty))}
                  spids: [232]
                )
              ]
              spids: [232]
            )
          ]
          spids: [16777215 229]
        )
      ]
      spids: [16777215 240]
    )
    (C {(echo)} {($ VSub_Name '$version')})
  ]
)