(command.CommandList
  children: [
    (C {<echo>} {(DQ <'# This file was autogenerated in base/version_git.sh'>)})
    (C {<echo>} {(DQ <'struct GitVersionInfo'>)})
    (C {<echo>} {(DQ <'    commit::AbstractString'>)})
    (C {<echo>} {(DQ <'    commit_short::AbstractString'>)})
    (C {<echo>} {(DQ <'    branch::AbstractString'>)})
    (C {<echo>} {(DQ <'    build_number::Int'>)})
    (C {<echo>} {(DQ <'    date_string::AbstractString'>)})
    (C {<echo>} {(DQ <'    tagged_commit::Bool'>)})
    (C {<echo>} {(DQ <'    fork_master_distance::Int'>)})
    (C {<echo>} {(DQ <'    fork_master_timestamp::Float64'>)})
    (C {<echo>} {(DQ <end>)})
    (C {<echo>} {(DQ )})
    (C {<cd>} {($ Id.VSub_Number '$1')})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Pound '$#'))} {<Id.Lit_Equals '='>} 
                      {(DQ <2>)} {<-a>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_Equals '='>} {(DQ <NO_GIT>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'# Default output if git is not available.'>)})
            (C {<echo>} 
              {
                (DQ <'const GIT_VERSION_INFO = GitVersionInfo('> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' ,'> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' ,'> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' ,0 ,'> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' ,true ,0 ,0.)'>
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
          ]
          spids: [91 120]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:origin)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        words: [{<git>} {<config>} {<-l>}]
                        redirects: [
                          (redir
                            op: <Id.Redir_Great '2>'>
                            loc: (redir_loc.Fd fd:2)
                            arg: {<'/dev/null'>}
                          )
                        ]
                        do_fork: T
                      )
                      (C {<grep>} {(SQ <'remote\\.\\w*\\.url.*JuliaLang/julia'>)})
                      (C {<sed>} {<-n>} {(SQ <'s/remote\\.\\([a-zA-Z]*\\)\\..*/\\1\\//p'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [162]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$origin'))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:origin)
                  op: assign_op.Equal
                  rhs: {(DQ <'origin/'>)}
                  spids: [208]
                )
              ]
            )
          ]
          spids: [192 205]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:git_time)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (C {<git>} {<log>} {<-1>} 
                    {<--pretty> <Id.Lit_Equals '='> <format> <Id.Lit_Colon ':'> <Id.Lit_Other '%'> <ct>}
                  )
              )
            }
          spids: [215]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:commit)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<git>} {<rev-parse>} {<HEAD>})
              )
            }
          spids: [235]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:commit_short)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<git>} {<rev-parse>} {<--short>} {<HEAD>})
              )
            }
          spids: [244]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                      {
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<git>} {<status>} {<--porcelain>})
                          )
                        )
                      } {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:commit_short)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$commit_short')) <Id.Lit_Star '*'>}
                  spids: [281]
                )
              ]
            )
          ]
          spids: [255 274]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:branch)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [(C {<git>} {<branch>}) (C {<sed>} {<-n>} {(SQ <'/\\* /s///p'>)})]
                    negated: F
                  )
              )
            }
          spids: [289]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:topdir)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<git>} {<rev-parse>} {<--show-toplevel>})
              )
            }
          spids: [307]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:verchanged)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<git>} {<blame>} {<-L>} {<Id.Lit_Comma ','> <1>} {<-sl>} {<-->} 
                        {(DQ ($ Id.VSub_DollarName '$topdir') <'/VERSION'>)}
                      )
                      (C {<cut>} {<-f>} {<1>} {<-d>} {(DQ <' '>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [316]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$verchanged')} 
                      {<Id.Lit_Equals '='>} {<0000000000000000000000000000000000000000>} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:build_number)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [371]
                )
              ]
            )
          ]
          spids: [351 364]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:build_number)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (C {<git>} {<rev-list>} {<--count>} {<HEAD>} 
                        {(DQ <'^'> ($ Id.VSub_DollarName '$verchanged'))}
                      )
                  )
                }
              spids: [377]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:date_string)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$git_time')}
          spids: [396]
        )
      ]
    )
    (command.Case
      to_match: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<uname>}))}
      arms: [
        (case_arm
          pat_list: [{<Darwin>} {<FreeBSD>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:date_string)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<'/bin/date'>} {<-jr>} {($ Id.VSub_DollarName '$git_time')} {<-u>} 
                              {(SQ <'+%Y-%m-%d %H:%M %Z'>)}
                            )
                        )
                      )
                    }
                  spids: [416]
                )
              ]
            )
          ]
          spids: [408 413 434 -1]
        )
        (case_arm
          pat_list: [{<MINGW> <Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:git_time)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (C {<git>} {<log>} {<-1>} 
                            {<--pretty> <Id.Lit_Equals '='> <format> <Id.Lit_Colon ':'> 
                              <Id.Lit_Other '%'> <ci>
                            }
                          )
                      )
                    }
                  spids: [442]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:date_string)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<'/bin/date'>} 
                              {<--date> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$git_time'))} {<-u>} {(SQ <'+%Y-%m-%d %H:%M %Z'>)}
                            )
                        )
                      )
                    }
                  spids: [459]
                )
              ]
            )
          ]
          spids: [437 439 479 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:date_string)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<'/bin/date'>} 
                              {<--date> <Id.Lit_Equals '='> 
                                (DQ <'@'> ($ Id.VSub_DollarName '$git_time'))
                              } {<-u>} {(SQ <'+%Y-%m-%d %H:%M %Z'>)}
                            )
                        )
                      )
                    }
                  spids: [486]
                )
              ]
            )
          ]
          spids: [482 483 507 -1]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} 
                      {
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Simple
                              words: [{<git>} {<describe>} {<--tags>} {<--exact-match>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '2>'>
                                  loc: (redir_loc.Fd fd:2)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              do_fork: T
                            )
                        )
                      } {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:tagged_commit)
                  op: assign_op.Equal
                  rhs: {(DQ <true>)}
                  spids: [535]
                )
              ]
            )
          ]
          spids: [511 532]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:tagged_commit)
              op: assign_op.Equal
              rhs: {(DQ <false>)}
              spids: [543]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:fork_master_distance)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<git>} {<rev-list>} {<HEAD>} 
                        {<Id.Lit_Other '^'> 
                          (DQ 
                            (command_sub
                              left_token: <Id.Left_DollarParen '$('>
                              child: (C {<echo>} {($ Id.VSub_DollarName '$origin')})
                            ) <master>
                          )
                        }
                      )
                      (C {<wc>} {<-l>})
                      (C {<sed>} {<-e>} {(SQ <'s/[^[:digit:]]//g'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [550]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:fork_master_timestamp)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (C {<git>} {<show>} {<-s>} 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (C {<git>} {<merge-base>} {<HEAD>} 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<echo>} {($ Id.VSub_DollarName '$origin')})
                              ) <master>
                            }
                          )
                      )
                    } {<--format> <Id.Lit_Equals '='> <format> <Id.Lit_Colon ':'> (DQ <'%ct'>)}
                  )
              )
            }
          spids: [585]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$build_number'))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:build_number)
                  op: assign_op.Equal
                  rhs: {(DQ <-1>)}
                  spids: [637]
                )
              ]
            )
          ]
          spids: [621 634]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-z>} 
                      {(DQ ($ Id.VSub_DollarName '$fork_master_distance'))} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:fork_master_distance)
                  op: assign_op.Equal
                  rhs: {(DQ <-1>)}
                  spids: [660]
                )
              ]
            )
          ]
          spids: [644 657]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-z>} 
                      {(DQ ($ Id.VSub_DollarName '$fork_master_timestamp'))} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:fork_master_timestamp)
                  op: assign_op.Equal
                  rhs: {(DQ <0>)}
                  spids: [683]
                )
              ]
            )
          ]
          spids: [667 680]
        )
      ]
    )
    (C {<echo>} {(DQ <'const GIT_VERSION_INFO = GitVersionInfo('>)})
    (C {<echo>} 
      {
        (DQ <'    '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
          ($ Id.VSub_DollarName '$commit') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <','>
        )
      }
    )
    (C {<echo>} 
      {
        (DQ <'    '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
          ($ Id.VSub_DollarName '$commit_short') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <','>
        )
      }
    )
    (C {<echo>} 
      {
        (DQ <'    '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
          ($ Id.VSub_DollarName '$branch') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <','>
        )
      }
    )
    (C {<echo>} {(DQ <'    '> ($ Id.VSub_DollarName '$build_number') <','>)})
    (C {<echo>} 
      {
        (DQ <'    '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
          ($ Id.VSub_DollarName '$date_string') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <','>
        )
      }
    )
    (C {<echo>} {(DQ <'    '> ($ Id.VSub_DollarName '$tagged_commit') <','>)})
    (C {<echo>} {(DQ <'    '> ($ Id.VSub_DollarName '$fork_master_distance') <','>)})
    (C {<echo>} {(DQ <'    '> ($ Id.VSub_DollarName '$fork_master_timestamp') <.>)})
    (C {<echo>} {(DQ <')'>)})
  ]
)