(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:command) op:Equal rhs:{(delta2patch)} spids:[57])] spids: [57] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USAGE) op: Equal rhs: {(SQ <"\n"> <"[-?\n"> <"@(#)$Id: delta2patch (AT&T Research) 2007-12-11 $\n"> <"]\n">) ($ VSub_Name "$USAGE_LICENSE") (SQ <"\n"> <"[+NAME?delta2patch - generate patch script from pax delta+base archives]\n"> <"[+DESCRIPTION?"> <Lit_EscapedChar "\\b"> <delta2patch> <Lit_EscapedChar "\\b"> <" generates a "> <Lit_EscapedChar "\\b"> <patch> <Lit_EscapedChar "\\b"> <"(1) "> <Lit_EscapedChar "\\a"> <"diff -u"> <Lit_EscapedChar "\\a"> <" script\n"> <"\tgiven a "> <Lit_EscapedChar "\\b"> <pax> <Lit_EscapedChar "\\b"> <"(1) delta and base source archive to convert\n"> <"\tfiles extracted from the base archive to be equivalent to files\n"> <"\textracted from the delta archive with respect to the base archive.]\n"> <"\n"> <"delta base\n"> <"\n"> <"[+SEE ALSO?"> <Lit_EscapedChar "\\b"> <package> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <pax> <Lit_EscapedChar "\\b"> <"(1)]\n"> ) } spids: [61] ) ] spids: [61] ) (FuncDef name: usage body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTIND) op:Equal rhs:{(0)} spids:[114])] spids: [114] ) (C {(getopts)} {(-a)} {($ VSub_Name "$command")} {(DQ ($ VSub_Name "$USAGE"))} {(OPT)} {(SQ <"--??long">)} ) (C {(exit)} {(2)}) ] spids: [111] ) spids: [107 110] ) (While cond: [(C {(getopts)} {(-a)} {($ VSub_Name "$command")} {(DQ ($ VSub_Name "$USAGE"))} {(OPT)})] body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$OPT")} arms: [ (case_arm pat_list: [{(Lit_Other "*")}] action: [(C {(usage)})] spids: [165 166 170 -1] ) ] spids: [158 162 173] ) ] spids: [156 175] ) ) (If arms: [ (if_arm cond: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound "$#")}) right: (ArithWord w:{(Lit_Digits 2)}) ) ) ] action: [(C {(usage)})] spids: [-1 191] ) ] spids: [-1 195] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:delta) op:Equal rhs:{($ VSub_Number "$1")} spids:[197])] spids: [197] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:base) op:Equal rhs:{($ VSub_Number "$2")} spids:[200])] spids: [200] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:changes) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(pax)} {(--nosummary)} {(-f)} {($ VSub_Name "$delta")}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [213] ) ] ) (C {(sed)} {(-e)} {(SQ <"/^\\(update\\|create\\) /!d">)} {(-e)} {(SQ <"s/^[^ ]* //">)} ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [204 231] ) } spids: [203] ) ] spids: [203] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp) op: Equal rhs: {(/tmp/d2p-) ($ VSub_Dollar "$$")} spids: [233] ) ] spids: [233] ) (C {(trap)} {(DQ ("rm -rf ") ($ VSub_Name "$tmp"))} {(0)}) (AndOr children: [ (C {(mkdir)} {($ VSub_Name "$tmp")} {($ VSub_Name "$tmp") (/old)} {($ VSub_Name "$tmp") (/new)}) (C {(exit)}) ] op_id: Op_DPipe ) (C {(pax)} {(--nosummary)} {(-rf)} {($ VSub_Name "$base")} {(-s)} {(DQ (",.*,") ($ VSub_Name "$tmp") ("/old/&,"))} {($ VSub_Name "$changes")} ) (C {(pax)} {(--nosummary)} {(-rf)} {($ VSub_Name "$delta")} {(-z)} {($ VSub_Name "$base")} {(-s)} {(DQ (",.*,") ($ VSub_Name "$tmp") ("/new/&,"))} {($ VSub_Name "$changes")} ) (Pipeline children: [ (C {(diff)} {(-r)} {(-N)} {(-u)} {($ VSub_Name "$tmp") (/old)} {($ VSub_Name "$tmp") (/new)}) (C {(sed)} {(-e)} {(DQ ("s,") ($ VSub_Name "$tmp") ("/new/,,g"))} {(-e)} {(DQ ("s,") ($ VSub_Name "$tmp") ("/old/,,g"))} {(-e)} { (SQ <"s/^--- "> <Lit_EscapedChar "\\\\"> <"([^"> <Lit_EscapedChar "\\t"> <"]*"> <Lit_EscapedChar "\\\\"> <")/&.orig/"> ) } {(-e)} {(SQ <"/^diff /s/ [^ ]*$/.orig&/">)} ) ] negated: False ) ] )