(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: <Left_CommandSub "$("> spids: [74 82] ) (/..) } spids: [73] ) ] spids: [73] ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))}) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:branch) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (BracedVarSub token: <VSub_Name KUBE_VERIFY_GIT_BRANCH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(master)}) spids: [101 105] ) } ) spids: [98 106] ) } spids: [97] ) ] spids: [95] ) (FuncDef name: find_files body: (BraceGroup children: [ (C {(find)} {(.)} {(-not)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\(">)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\(">)} {(-wholename)} {(SQ <./output>)} {(-o)} {(-wholename)} {(SQ <./_output>)} {(-o)} {(-wholename)} {(SQ <./_gopath>)} {(-o)} {(-wholename)} {(SQ <./release>)} {(-o)} {(-wholename)} {(SQ <./target>)} {(-o)} {(-wholename)} {(SQ <"*/third_party/*">)} {(-o)} {(-wholename)} {(SQ <"*/vendor/*">)} {(-o)} {(-wholename)} {(SQ <"./staging/src/k8s.io/client-go/*vendor/*">)} {(-o)} {(-wholename)} {(SQ <"./staging/src/k8s.io/client-go/pkg/*">)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\)">)} {(-prune)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\)">)} {(-name)} {(SQ <.readonly>)} ) ] spids: [113] ) spids: [109 112] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ <Lit_EscapedChar "\\n">)} spids: [235] ) ] spids: [235] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:conflicts) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(find_files)}) (C {(sed)} {(SQ <"s|/.readonly||">)}) (While cond: [ (Sentence child: (C {(read)} {(dir)}) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (BracedVarSub token: <VSub_Name dir> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {(.) (Lit_Slash /)} ) spids: [266 271] ) } spids: [265] ) ] spids: [265] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [ {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") (has_changes_against_upstream_branch) } {(DQ (${ VSub_Name branch))} { (DQ ("^") (${ VSub_Name dir) ("/[^/]*") (EscapedLiteralPart token: <Lit_EscapedChar "\\$"> ) ) } { (SQ < "/\\.readonly$|/BUILD$|/zz_generated|/\\.generated\\.|\\.proto$|\\.pb\\.go$" > ) } ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [303] ) ] ) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(DQ (${ VSub_Name dir))})] spids: [-1 307] ) ] spids: [-1 319] ) ] spids: [262 321] ) ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [242 322] ) } ] ) } spids: [240] ) ] spids: [240] ) (C {(unset)} {(IFS)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} { (BracedVarSub token: <VSub_Name conflicts> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [334 340] ) } {(-gt)} {(0)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [{(exec)}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[354])] ) (ForEach iter_name: dir iter_words: [ { (DQ (BracedVarSub token: <VSub_Name conflicts> bracket_op: (WholeArray op_id:Lit_At) spids: [365 370] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(echo)} { (DQ ("Found ") (${ VSub_Name dir) ("/.readonly, but files changed compared to ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name branch) (EscapedLiteralPart token: <Lit_EscapedChar "\\\""> ) (" branch.") ) } ) ] spids: [374 394] ) spids: [363 372] ) (C {(exit)} {(1)}) ] spids: [-1 349] ) ] else_action: [(C {(echo)} {(DQ ("Readonly packages verified."))})] spids: [401 410] ) ] )