(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TYPE spids:[128]) op: Equal rhs: {(DQ (FreeBSD))} spids: [128] ) ] spids: [128] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:REVISION spids:[133]) op: Equal rhs: {(DQ (11.1))} spids: [133] ) ] spids: [133] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BRANCH spids:[138]) op: Equal rhs: {(DQ (STABLE))} spids: [138] ) ] spids: [138] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name BRANCH_OVERRIDE))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BRANCH spids:[161]) op: Equal rhs: {(${ VSub_Name BRANCH_OVERRIDE)} spids: [161] ) ] spids: [161] ) ] spids: [16777215 158] ) ] spids: [16777215 166] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RELEASE spids:[168]) op: Equal rhs: {(DQ (${ VSub_Name REVISION) (-) (${ VSub_Name BRANCH))} spids: [168] ) ] spids: [168] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERSION spids:[179]) op: Equal rhs: {(DQ (${ VSub_Name TYPE) (' ') (${ VSub_Name RELEASE))} spids: [179] ) ] spids: [179] ) (command.FuncDef name: findvcs body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:savedir spids:[212]) op: Equal spids: [212] ) ] spids: [210] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:savedir spids:[216]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [217 219] ) } spids: [216] ) ] spids: [216] ) (C {(cd)} {(${ VSub_Name SYSDIR) (/..)}) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [234 236] ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ (./) ($ VSub_Number '$1'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VCSDIR spids:[268]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [269 271] ) (DQ (/) ($ VSub_Number '$1')) } spids: [268] ) ] spids: [268] ) (C {(cd)} {(${ VSub_Name savedir)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 265] ) ] spids: [16777215 290] ) (C {(cd)} {(..)}) ] spids: [248 298] ) ) (C {(cd)} {(${ VSub_Name savedir)}) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [207] ) spids: [203 206] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name SYSDIR))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SYSDIR spids:[333]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(dirname)} {($ VSub_Number '$0')})] ) left_token: <Left_CommandSub '$('> spids: [334 338] ) (/..) } spids: [333] ) ] spids: [333] ) ] spids: [16777215 330] ) ] spids: [16777215 341] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name PARAMFILE))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RELDATE spids:[362]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(awk)} {(SQ <'/__FreeBSD_version.*propagated to newvers/ {print $3}'>)} {(${ VSub_Name PARAMFILE)} ) ] ) left_token: <Left_CommandSub '$('> spids: [363 375] ) } spids: [362] ) ] spids: [362] ) ] spids: [16777215 359] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RELDATE spids:[380]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(awk)} {(SQ <'/__FreeBSD_version.*propagated to newvers/ {print $3}'>)} {(${ VSub_Name SYSDIR) (/sys/param.h)} ) ] ) left_token: <Left_CommandSub '$('> spids: [381 394] ) } spids: [380] ) ] spids: [380] ) ] spids: [377 396] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[399]) op: Equal rhs: {(share/examples/etc/bsd-style-copyright)} spids: [399] ) ] spids: [399] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-r)} {(DQ (${ VSub_Name SYSDIR) (/../COPYRIGHT))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:year spids:[421]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(sed)} {(-Ee)} { (SQ < '/^Copyright .* The FreeBSD Project/!d;s/^.*1992-([0-9]*) .*$/\\1/g' > ) } {(${ VSub_Name SYSDIR) (/../COPYRIGHT)} ) ] ) left_token: <Left_CommandSub '$('> spids: [422 435] ) } spids: [421] ) ] spids: [421] ) ] spids: [16777215 418] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:year spids:[440]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(date)} {(Lit_Other '+') (Lit_Other '%') (Y)})] ) left_token: <Left_CommandSub '$('> spids: [441 447] ) } spids: [440] ) ] spids: [440] ) ] spids: [437 449] ) (command.ForEach iter_name: bsd_copyright iter_words: [ {(../) ($ VSub_DollarName '$b')} {(../../) ($ VSub_DollarName '$b')} {(../../../) ($ VSub_DollarName '$b')} {(/usr/src/) ($ VSub_DollarName '$b')} {(/usr/) ($ VSub_DollarName '$b')} ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-r)} {(DQ ($ VSub_DollarName '$bsd_copyright'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COPYRIGHT spids:[494]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(sed)} {(-e)} { (DQ (s/) (Lit_Other '\\') ('[year') (Lit_Other '\\') (']/1992-') ($ VSub_DollarName '$year') (/) ) } {(-e)} {(SQ <'s/\\[your name here\\]\\.* /The FreeBSD Project./'>)} {(-e)} {(SQ <'s/\\[your name\\]\\.*/The FreeBSD Project./'>)} {(-e)} {(SQ <'/\\[id for your version control system, if any\\]/d'>)} {($ VSub_DollarName '$bsd_copyright')} ) ] ) left_token: <Left_Backtick '`'> spids: [495 539] ) } spids: [494] ) ] spids: [494] ) (command.ControlFlow token:<ControlFlow_Break break>) ] spids: [16777215 491] ) ] spids: [16777215 546] ) ] spids: [475 548] ) spids: [459 16777215] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$COPYRIGHT'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COPYRIGHT spids:[570]) op: Equal rhs: { (DQ ('/*-\n') (' * Copyright (c) 1992-') ($ VSub_DollarName '$year') (' The FreeBSD Project.\n') (' * All rights reserved.\n') (' *\n') (' */') ) } spids: [570] ) ] spids: [570] ) ] spids: [16777215 567] ) ] spids: [16777215 581] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COPYRIGHT spids:[587]) op: Equal rhs: {(DQ ($ VSub_DollarName '$COPYRIGHT') ('\n'))} spids: [587] ) ] spids: [587] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$VARS_ONLY'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 613] ) ] spids: [16777215 620] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LC_ALL spids:[623]) op: Equal rhs: {(C)} spids: [623] ) ] spids: [623] ) terminator: <Op_Semi ';'> ) (C {(export)} {(LC_ALL)}) ] ) (command.If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(KW_Bang '!')} {(-r)} {(version)} {(Lit_Other ']')})] action: [ (command.SimpleCommand words: [{(echo)} {(0)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(version)})] ) ] spids: [16777215 643] ) ] spids: [16777215 654] ) (C {(touch)} {(version)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:v spids:[661]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(cat)} {(version)})]) left_token: <Left_Backtick '`'> spids: [662 666] ) } spids: [661] ) ] spids: [661] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:u spids:[668]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name USER> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(root)}) spids: [669 673] ) } spids: [668] ) ] spids: [668] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:d spids:[675]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [676 678] ) } spids: [675] ) ] spids: [675] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:h spids:[680]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name HOSTNAME> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(hostname)})]) left_token: <Left_Backtick '`'> spids: [684 686] ) } ) spids: [681 687] ) } spids: [680] ) ] spids: [680] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$SOURCE_DATE_EPOCH'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:t spids:[709]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {(date)} {(-r)} {($ VSub_DollarName '$SOURCE_DATE_EPOCH')} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [710 719] ) } spids: [709] ) ] spids: [709] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('Invalid SOURCE_DATE_EPOCH'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 722] ) ] spids: [16777215 740] ) ] spids: [16777215 702] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:t spids:[745]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(date)})]) left_token: <Left_Backtick '`'> spids: [746 748] ) } spids: [745] ) ] spids: [745] ) ] spids: [742 750] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[752]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C { (word_part.BracedVarSub token: <VSub_Name MAKE> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {(make)} ) spids: [754 758] ) } {(-V)} {(KERN_IDENT)} ) ] ) left_token: <Left_Backtick '`'> spids: [753 763] ) } spids: [752] ) ] spids: [752] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:compiler_v spids:[765]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C { (word_part.BracedVarSub token: <VSub_Name MAKE> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {(make)} ) spids: [768 772] ) } {(-V)} {(CC)} ) ] ) left_token: <Left_CommandSub '$('> spids: [767 777] ) } {(-v)} ] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) (C {(grep)} {(-w)} {(SQ <version>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [766 793] ) } spids: [765] ) ] spids: [765] ) (command.ForEach iter_name: dir iter_words: [{(/usr/bin)} {(/usr/local/bin)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ (${ VSub_Name svnversion))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(command.ControlFlow token:<ControlFlow_Break break>)] spids: [16777215 828] ) ] spids: [16777215 834] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-x)} {(DQ (${ VSub_Name dir) (/svnversion))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name svnversion)} {(Lit_Other ']')}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [ {(${ VSub_Name dir) (/svnversion)} { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(realpath)} {(${ VSub_Number 0)})] ) left_token: <Left_CommandSub '$('> spids: [886 892] ) } ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svnversion spids:[917]) op: Equal rhs: {(${ VSub_Name dir) (/svnversion)} spids: [917] ) ] spids: [917] ) (command.ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 914] ) ] spids: [16777215 927] ) ] spids: [16777215 866] ) ] spids: [16777215 930] ) ] spids: [807 932] ) spids: [801 805] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name svnversion))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-x)} {(/usr/bin/svnliteversion)} {(Lit_Other ']')}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [ {(/usr/bin/svnliteversion)} { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(realpath)} {(${ VSub_Number 0)})] ) left_token: <Left_CommandSub '$('> spids: [966 972] ) } ] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svnversion spids:[997]) op: Equal rhs: {(/usr/bin/svnliteversion)} spids: [997] ) ] spids: [997] ) ] spids: [16777215 994] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svnversion spids:[1004]) op: Equal rhs: (word.EmptyWord) spids: [1004] ) ] spids: [1004] ) ] spids: [1001 1007] ) ] spids: [16777215 961] ) ] spids: [16777215 1009] ) (command.ForEach iter_name: dir iter_words: [{(/usr/bin)} {(/usr/local/bin)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-x)} {(DQ (${ VSub_Name dir) (/p4))} {(Lit_Other ']')}) (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name p4_cmd)} {(Lit_Other ']')}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p4_cmd spids:[1058]) op: Equal rhs: {(${ VSub_Name dir) (/p4)} spids: [1058] ) ] spids: [1058] ) ] spids: [16777215 1055] ) ] spids: [16777215 1065] ) ] spids: [1023 1067] ) spids: [1017 1021] ) (command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(findvcs)} {(.git)}) terminator:<Op_Semi ';'>)] action: [ (command.ForEach iter_name: dir iter_words: [{(/usr/bin)} {(/usr/local/bin)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-x)} {(DQ (${ VSub_Name dir) (/git))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git_cmd spids:[1114]) op: Equal rhs: { (DQ (${ VSub_Name dir) ('/git --git-dir=') (${ VSub_Name VCSDIR)) } spids: [1114] ) ] spids: [1114] ) (command.ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 1111] ) ] spids: [16777215 1129] ) ] spids: [1091 1132] ) spids: [1085 1089] ) ] spids: [16777215 1077] ) ] spids: [16777215 1134] ) (command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(findvcs)} {(.hg)}) terminator:<Op_Semi ';'>)] action: [ (command.ForEach iter_name: dir iter_words: [{(/usr/bin)} {(/usr/local/bin)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-x)} {(DQ (${ VSub_Name dir) (/hg))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hg_cmd spids:[1181]) op: Equal rhs: {(DQ (${ VSub_Name dir) ('/hg -R ') (${ VSub_Name VCSDIR))} spids: [1181] ) ] spids: [1181] ) (command.ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 1178] ) ] spids: [16777215 1196] ) ] spids: [1158 1199] ) spids: [1152 1156] ) ] spids: [16777215 1144] ) ] spids: [16777215 1201] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$svnversion'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1221]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(${ VSub_Name SYSDIR)}) (command.SimpleCommand words: [{($ VSub_DollarName '$svnversion')}] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1222 1235] ) } spids: [1221] ) ] spids: [1221] ) (command.Case to_match: {(DQ ($ VSub_DollarName '$svn'))} arms: [ (case_arm pat_list: [ {(Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '*') (Lit_Other '[') (MSP) (Lit_Other ']') } {(Lit_Other '*') (Lit_Other ':') (Lit_Other '*')} ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1261]) op: Equal rhs: {(DQ (' r') (${ VSub_Name svn))} spids: [1261] ) ] spids: [1261] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:modified spids:[1270]) op: Equal rhs: {(true)} spids: [1270] ) ] spids: [1270] ) ] spids: [1247 1258 1274 16777215] ) (case_arm pat_list: [{(Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1284]) op: Equal rhs: {(DQ (' r') (${ VSub_Name svn))} spids: [1284] ) ] spids: [1284] ) ] spids: [1277 1281 1293 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(unset)} {(svn)})] spids: [1296 1297 1305 16777215] ) ] spids: [1238 1244 1308] ) ] spids: [16777215 1218] ) ] spids: [16777215 1310] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$git_cmd'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git spids:[1330]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {($ VSub_DollarName '$git_cmd')} {(rev-parse)} {(--verify)} {(--short)} {(HEAD)} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1331 1344] ) } spids: [1330] ) ] spids: [1330] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1347]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {($ VSub_DollarName '$git_cmd')} {(svn)} {(find-rev)} {($ VSub_DollarName '$git')} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1348 1359] ) } spids: [1347] ) ] spids: [1347] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$svn'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1379]) op: Equal rhs: {(DQ (' r') (${ VSub_Name svn))} spids: [1379] ) ] spids: [1379] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git spids:[1388]) op: Equal rhs: {(DQ ('=') (${ VSub_Name git))} spids: [1388] ) ] spids: [1388] ) ] spids: [16777215 1376] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1400]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {($ VSub_DollarName '$git_cmd')} {(log)} {(--grep)} {(SQ <'^git-svn-id:'>)} ) (C {(grep)} {(SQ <'^ git-svn-id:'>)}) (C {(head)} {(-1)}) (C {(sed)} {(-n)} {(SQ <'s/^.*@\\([0-9][0-9]*\\).*$/\\1/p'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1401 1439] ) } spids: [1400] ) ] spids: [1400] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$svn'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1459]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {($ VSub_DollarName '$git_cmd')} {(log)} {(--format) (Lit_Other '=') (SQ <'format:%N'>)} ) (C {(grep)} {(SQ <'^svn '>)}) (C {(head)} {(-1)}) (C {(sed)} {(-n)} {(SQ <'s/^.*revision=\\([0-9][0-9]*\\).*$/\\1/p'>)} ) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1460 1498] ) } spids: [1459] ) ] spids: [1459] ) ] spids: [16777215 1456] ) ] spids: [16777215 1501] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$svn'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1521]) op: Equal rhs: {(DQ (' r') (${ VSub_Name svn))} spids: [1521] ) ] spids: [1521] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git spids:[1530]) op: Equal rhs: {(DQ ('+') (${ VSub_Name git))} spids: [1530] ) ] spids: [1530] ) ] spids: [16777215 1518] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git spids:[1542]) op: Equal rhs: {(DQ (' ') (${ VSub_Name git))} spids: [1542] ) ] spids: [1542] ) ] spids: [1539 1551] ) ] spids: [1397 1554] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git_b spids:[1557]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {($ VSub_DollarName '$git_cmd')} {(rev-parse)} {(--abbrev-ref)} {(HEAD)}) ] ) left_token: <Left_Backtick '`'> spids: [1558 1566] ) } spids: [1557] ) ] spids: [1557] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$git_b'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git spids:[1586]) op: Equal rhs: {(DQ (${ VSub_Name git) ('(') (${ VSub_Name git_b) (')'))} spids: [1586] ) ] spids: [1586] ) ] spids: [16777215 1583] ) ] spids: [16777215 1599] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {($ VSub_DollarName '$git_cmd')} {(--work-tree) (Lit_Other '=') (${ VSub_Name VCSDIR) (/..)} {(diff-index)} {(--name-only)} {(HEAD)} ) (C {(read)} {(dummy)}) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git spids:[1631]) op: Equal rhs: {(DQ (${ VSub_Name git) (-dirty))} spids: [1631] ) ] spids: [1631] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:modified spids:[1640]) op: Equal rhs: {(true)} spids: [1640] ) ] spids: [1640] ) ] spids: [16777215 1628] ) ] spids: [16777215 1644] ) ] spids: [16777215 1327] ) ] spids: [16777215 1646] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$p4_cmd'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p4version spids:[1666]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(${ VSub_Name SYSDIR)}) (command.Pipeline children: [ (command.SimpleCommand words: [ {($ VSub_DollarName '$p4_cmd')} {(changes)} {(-m1)} {(DQ ('./...#have'))} ] redirects: [ (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (C {(awk)} {(SQ <'{ print $2 }'>)}) ] negated: F ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1667 1698] ) } spids: [1666] ) ] spids: [1666] ) (command.Case to_match: {(DQ ($ VSub_DollarName '$p4version'))} arms: [ (case_arm pat_list: [{(Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p4version spids:[1717]) op: Equal rhs: {(DQ (' ') (${ VSub_Name p4version))} spids: [1717] ) ] spids: [1717] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p4opened spids:[1726]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(${ VSub_Name SYSDIR)}) (command.SimpleCommand words: [{($ VSub_DollarName '$p4_cmd')} {(opened)} {(./...)}] redirects: [ (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1727 1744] ) } spids: [1726] ) ] spids: [1726] ) (command.Case to_match: {(DQ ($ VSub_DollarName '$p4opened'))} arms: [ (case_arm pat_list: [{(File) (Lit_Other '*')}] spids: [1756 1758 1760 16777215] ) (case_arm pat_list: [{(//) (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p4version spids:[1768]) op: Equal rhs: {(DQ (${ VSub_Name p4version) ('+edit'))} spids: [1768] ) ] spids: [1768] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:modified spids:[1777]) op: Equal rhs: {(true)} spids: [1777] ) ] spids: [1777] ) ] spids: [1763 1765 1781 16777215] ) ] spids: [1747 1753 1784] ) ] spids: [1710 1714 1787 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(unset)} {(p4version)})] spids: [1790 1791 1797 16777215] ) ] spids: [1701 1707 1800] ) ] spids: [16777215 1663] ) ] spids: [16777215 1802] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$hg_cmd'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hg spids:[1822]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [{($ VSub_DollarName '$hg_cmd')} {(id)}] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1823 1830] ) } spids: [1822] ) ] spids: [1822] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1833]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [{($ VSub_DollarName '$hg_cmd')} {(svn)} {(info)}] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(awk)} {(-F) (SQ <': '>)} {(SQ <'/Revision/ { print $2 }'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1834 1858] ) } spids: [1833] ) ] spids: [1833] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$svn'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn spids:[1878]) op: Equal rhs: {(DQ (' r') (${ VSub_Name svn))} spids: [1878] ) ] spids: [1878] ) ] spids: [16777215 1875] ) ] spids: [16777215 1887] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$hg'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:hg spids:[1907]) op: Equal rhs: {(DQ (' ') (${ VSub_Name hg))} spids: [1907] ) ] spids: [1907] ) ] spids: [16777215 1904] ) ] spids: [16777215 1916] ) ] spids: [16777215 1819] ) ] spids: [16777215 1918] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:include_metadata spids:[1921]) op: Equal rhs: {(true)} spids: [1921] ) ] spids: [1921] ) (command.WhileUntil keyword: <KW_While while> cond: [(command.Sentence child:(C {(getopts)} {(rR)} {(opt)}) terminator:<Op_Semi ';'>)] body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$opt'))} arms: [ (case_arm pat_list: [{(r)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:include_metadata spids:[1949]) op: Equal rhs: (word.EmptyWord) spids: [1949] ) ] spids: [1949] ) ] spids: [1945 1946 1952 16777215] ) (case_arm pat_list: [{(R)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name modified))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:include_metadata spids:[1977]) op: Equal rhs: (word.EmptyWord) spids: [1977] ) ] spids: [1977] ) ] spids: [16777215 1974] ) ] spids: [16777215 1980] ) ] spids: [1955 1956 16777215 1983] ) ] spids: [1936 1942 1983] ) ] spids: [1933 1985] ) ) (C {(shift)} { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Minus left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike OPTIND>) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [1989 1996] ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name include_metadata))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERINFO spids:[2017]) op: Equal rhs: { (DQ (${ VSub_Name VERSION) (' ') (${ VSub_Name svn) (${ VSub_Name git) (${ VSub_Name hg) (${ VSub_Name p4version) ) } spids: [2017] ) ] spids: [2017] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERSTR spids:[2038]) op: Equal rhs: { (DQ (${ VSub_Name VERINFO) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\\\'> ) (n) ) } spids: [2038] ) ] spids: [2038] ) ] spids: [16777215 2014] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERINFO spids:[2050]) op: Equal rhs: { (DQ (${ VSub_Name VERSION) (' #') (${ VSub_Name v) (${ VSub_Name svn) (${ VSub_Name git) (${ VSub_Name hg) (${ VSub_Name p4version) (': ') (${ VSub_Name t) ) } spids: [2050] ) ] spids: [2050] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERSTR spids:[2078]) op: Equal rhs: { (DQ (${ VSub_Name VERINFO) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('n ') (${ VSub_Name u) ('@') (${ VSub_Name h) (':') (${ VSub_Name d) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) ) } spids: [2078] ) ] spids: [2078] ) ] spids: [2047 2100] ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 2168 stdin_parts: [ ($ VSub_DollarName '$COPYRIGHT') ('\n') ('#define SCCSSTR ') (Right_DoubleQuote '"') ('@(#)') (${ VSub_Name VERINFO) (Right_DoubleQuote '"') ('\n') ('#define VERSTR ') (Right_DoubleQuote '"') (${ VSub_Name VERSTR) (Right_DoubleQuote '"') ('\n') ('#define RELSTR ') (Right_DoubleQuote '"') (${ VSub_Name RELEASE) (Right_DoubleQuote '"') ('\n') ('\n') ('char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR;\n') ('char version[sizeof(VERSTR) > 256 ? sizeof(VERSTR) : 256] = VERSTR;\n') ('char compiler_version[] = ') (Right_DoubleQuote '"') (${ VSub_Name compiler_v) (Right_DoubleQuote '"') (';\n') ('char ostype[] = ') (Right_DoubleQuote '"') (${ VSub_Name TYPE) (Right_DoubleQuote '"') (';\n') ('char osrelease[sizeof(RELSTR) > 32 ? sizeof(RELSTR) : 32] = RELSTR;\n') ('int osreldate = ') (${ VSub_Name RELDATE) (';\n') ('char kern_ident[] = ') (Right_DoubleQuote '"') (${ VSub_Name i) (Right_DoubleQuote '"') (';\n') ] ) (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(vers.c)}) ] ) (command.SimpleCommand words: [ {(echo)} { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike v>) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [2172 2179] ) } ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(version)})] ) ] )