(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SOURCE_DIR)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<cd>} 
                          {
                            (DQ 
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (C {<dirname>} 
                                    {
                                      (DQ 
                                        (braced_var_sub
                                          token: <Id.VSub_Name BASH_SOURCE>
                                          bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>})
                                        )
                                      )
                                    }
                                  )
                              )
                            )
                          }
                        )
                        (C {<pwd>})
                      ]
                    )
                )
              )
            }
          spids: [62]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:version)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [93]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CHANGELOG)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$SOURCE_DIR') <'/../../CHANGELOG.md'>}
          spids: [97]
        )
      ]
    )
    (C {<python>} {($ Id.VSub_DollarName '$SOURCE_DIR') <'/changelog.py'>} 
      {($ Id.VSub_DollarName '$version')} {<0>} {($ Id.VSub_DollarName '$CHANGELOG')}
    )
    (C {<git>} {<add>} {($ Id.VSub_DollarName '$CHANGELOG')})
    (C {<git>} {<commit>} {<-m>} 
      {(DQ <'[Release] Update CHANGELOG.md for '> ($ Id.VSub_DollarName '$version'))}
    )
  ]
)