(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: [
            (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: (Token id:Id.Op_Semi val:';' span_id:118)
            )
          ]
          action: [
            (C {(echo)} {(DQ ('# Default output if git is not available.'))})
            (C {(echo)} 
              {
                (DQ ('const GIT_VERSION_INFO = GitVersionInfo(') 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:138)
                  ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:139)) (' ,') 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:141)
                  ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:142)) (' ,') 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:144)
                  ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:145)) (' ,0 ,') 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:147)
                  ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:148)) 
                  (' ,true ,0 ,0.)')
                )
              }
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:153)
              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: (Token id:Id.Left_DollarParen val:'$(' span_id:163)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (command.Simple
                            words: [{(git)} {(config)} {(-l)}]
                            redirects: [
                              (redir.Redir
                                op: (Token id:Id.Redir_Great val:'2>' span_id:170)
                                fd: 2
                                arg_word: {(/dev/null)}
                              )
                            ]
                          )
                          (C {(grep)} 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 'remote\\.\\w*\\.url.*JuliaLang/julia'
                                  span_id: 178
                                )
                              )
                            }
                          )
                          (C {(sed)} {(-n)} 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 's/remote\\.\\([a-zA-Z]*\\)\\..*/\\1\\//p'
                                  span_id: 188
                                )
                              )
                            }
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [162]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$origin'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:203)
            )
          ]
          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: (Token id:Id.Left_DollarParen val:'$(' span_id:216)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(git)} {(log)} {(-1)} 
                        {(--pretty) (Id.Lit_Equals '=') (format) (Id.Lit_Other ':') (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: (Token id:Id.Left_DollarParen val:'$(' span_id:236)
                command_list: (command.CommandList children:[(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: (Token id:Id.Left_DollarParen val:'$(' span_id:245)
                command_list: 
                  (command.CommandList
                    children: [(C {(git)} {(rev-parse)} {(--short)} {(HEAD)})]
                  )
              )
            }
          spids: [244]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-n)} 
                  {
                    (DQ 
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:262)
                        command_list: 
                          (command.CommandList
                            children: [(C {(git)} {(status)} {(--porcelain)})]
                          )
                      )
                    )
                  } {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:272)
            )
          ]
          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: (Token id:Id.Left_DollarParen val:'$(' span_id:290)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(git)} {(branch)})
                          (C {(sed)} {(-n)} {(SQ (Token id:Id.Lit_Chars val:'/\\* /s///p' span_id:302))})
                        ]
                        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: (Token id:Id.Left_DollarParen val:'$(' span_id:308)
                command_list: 
                  (command.CommandList
                    children: [(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: (Token id:Id.Left_DollarParen val:'$(' span_id:317)
                command_list: 
                  (command.CommandList
                    children: [
                      (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: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$verchanged')} {(Id.Lit_Equals '=')} 
                  {(0000000000000000000000000000000000000000)} {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:362)
            )
          ]
          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: (Token id:Id.Left_DollarParen val:'$(' span_id:378)
                    command_list: 
                      (command.CommandList
                        children: [
                          (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: (Token id:Id.Left_DollarParen val:'$(' span_id:401)
            command_list: (command.CommandList children:[(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: (Token id:Id.Left_DollarParen val:'$(' span_id:418)
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {(/bin/date)} {(-jr)} {($ Id.VSub_DollarName '$git_time')} {(-u)} 
                                  {(SQ (Token id:Id.Lit_Chars val:'+%Y-%m-%d %H:%M %Z' span_id:428))}
                                )
                              ]
                            )
                        )
                      )
                    }
                  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: (Token id:Id.Left_DollarParen val:'$(' span_id:443)
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(git)} {(log)} {(-1)} 
                                {(--pretty) (Id.Lit_Equals '=') (format) (Id.Lit_Other ':') 
                                  (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: (Token id:Id.Left_DollarParen val:'$(' span_id:461)
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {(/bin/date)} 
                                  {(--date) (Id.Lit_Equals '=') (DQ ($ Id.VSub_DollarName '$git_time'))} {(-u)} {(SQ (Token id:Id.Lit_Chars val:'+%Y-%m-%d %H:%M %Z' span_id:473))}
                                )
                              ]
                            )
                        )
                      )
                    }
                  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: (Token id:Id.Left_DollarParen val:'$(' span_id:488)
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {(/bin/date)} 
                                  {(--date) (Id.Lit_Equals '=') 
                                    (DQ ('@') ($ Id.VSub_DollarName '$git_time'))
                                  } {(-u)} {(SQ (Token id:Id.Lit_Chars val:'+%Y-%m-%d %H:%M %Z' span_id:501))}
                                )
                              ]
                            )
                        )
                      )
                    }
                  spids: [486]
                )
              ]
            )
          ]
          spids: [482 483 507 -1]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} 
                  {
                    (command_sub
                      left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:515)
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.Simple
                              words: [{(git)} {(describe)} {(--tags)} {(--exact-match)}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'2>' span_id:524)
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                        )
                    )
                  } {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:530)
            )
          ]
          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: (Token id:Id.Left_DollarParen val:'$(' span_id:551)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(git)} {(rev-list)} {(HEAD)} 
                            {(Id.Lit_Other '^') 
                              (DQ 
                                (command_sub
                                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:560)
                                  command_list: 
                                    (command.CommandList
                                      children: [(C {(echo)} {($ Id.VSub_DollarName '$origin')})]
                                    )
                                ) (master)
                              )
                            }
                          )
                          (C {(wc)} {(-l)})
                          (C {(sed)} {(-e)} 
                            {(SQ (Token id:Id.Lit_Chars val:'s/[^[:digit:]]//g' span_id:581))}
                          )
                        ]
                        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: (Token id:Id.Left_DollarParen val:'$(' span_id:586)
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(git)} {(show)} {(-s)} 
                        {
                          (command_sub
                            left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:593)
                            command_list: 
                              (command.CommandList
                                children: [
                                  (C {(git)} {(merge-base)} {(HEAD)} 
                                    {
                                      (command_sub
                                        left_token: 
                                          (Token
                                            id: Id.Left_DollarParen
                                            val: '$('
                                            span_id: 600
                                          )
                                        command_list: 
                                          (command.CommandList
                                            children: [(C {(echo)} {($ Id.VSub_DollarName '$origin')})]
                                          )
                                      ) (master)
                                    }
                                  )
                                ]
                              )
                          )
                        } {(--format) (Id.Lit_Equals '=') (format) (Id.Lit_Other ':') (DQ ('%ct'))}
                      )
                    ]
                  )
              )
            }
          spids: [585]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$build_number'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:632)
            )
          ]
          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: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$fork_master_distance'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:655)
            )
          ]
          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: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$fork_master_timestamp'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:678)
            )
          ]
          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: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:701)
          ) ($ Id.VSub_DollarName '$commit') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:703)
          ) (',')
        )
      }
    )
    (C {(echo)} 
      {
        (DQ ('    ') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:711)
          ) ($ Id.VSub_DollarName '$commit_short') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:713)
          ) (',')
        )
      }
    )
    (C {(echo)} 
      {
        (DQ ('    ') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:721)
          ) ($ Id.VSub_DollarName '$branch') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:723)
          ) (',')
        )
      }
    )
    (C {(echo)} {(DQ ('    ') ($ Id.VSub_DollarName '$build_number') (','))})
    (C {(echo)} 
      {
        (DQ ('    ') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:739)
          ) ($ Id.VSub_DollarName '$date_string') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:741)
          ) (',')
        )
      }
    )
    (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 (')'))})
  ]
)