(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USAGE) op: Equal rhs: { (SQ < "[-a | --interactive] [-s] [-v] [--no-verify] [-m <message> | -F <logfile> | (-C|-c) <commit> | --amend] [-u] [-e] [--author <author>] [--template <file>] [[-i | -o] <path>...]" > ) } spids: [13] ) ] spids: [13] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(Yes)} spids:[18])] spids: [18] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTIONS_SPEC) op:Equal rhs:{(SQ )} spids:[21])] spids: [21] ) (C {(.)} {(git-sh-setup)}) (C {(require_work_tree)}) (AndOr children: [ (SimpleCommand words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[38]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[41]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:initial_commit) op:Equal rhs:{(t)} spids:[46])] spids: [46] ) ] op_id: Op_DPipe ) (Case to_match: {(DQ ($ VSub_Number "$0"))} arms: [ (case_arm pat_list: [{(Lit_Other "*") (status)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status_only) op:Equal rhs:{(t)} spids:[63])] spids: [63] ) ] spids: [58 60 67 -1] ) (case_arm pat_list: [{(Lit_Other "*") (commit)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status_only) op:Equal rhs:{(SQ )} spids:[74])] spids: [74] ) ] spids: [69 71 77 -1] ) ] spids: [50 56 79] ) (FuncDef name: refuse_partial body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number "$1"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[92])] ) (SimpleCommand words: [{(echo)} {(DQ ("You might have meant to say 'git commit -i paths...', perhaps?"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[102])] ) (C {(exit)} {(1)}) ] spids: [87] ) spids: [82 86] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TMP_INDEX) op:Equal rhs:{(SQ )} spids:[117])] spids: [117] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:THIS_INDEX) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name GIT_INDEX_FILE> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name "$GIT_DIR") (Lit_Slash /) (index)} ) spids: [121 127] ) ) } spids: [119] ) ] spids: [119] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NEXT_INDEX) op: Equal rhs: {(DQ ($ VSub_Name "$GIT_DIR") (/next-index) ($ VSub_Dollar "$$"))} spids: [130] ) ] spids: [130] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$NEXT_INDEX"))}) (FuncDef name: save_index body: (BraceGroup children: [ (C {(cp)} {(-p)} {(DQ ($ VSub_Name "$THIS_INDEX"))} {(DQ ($ VSub_Name "$NEXT_INDEX"))}) ] spids: [150] ) spids: [145 149] ) (FuncDef name: run_status body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (C {(test)} {(SQ )} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$TMP_INDEX"))}) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_INDEX_FILE) op: Equal rhs: {(DQ ($ VSub_Name "$TMP_INDEX"))} spids: [218] ) ] spids: [218] ) (C {(export)} {(GIT_INDEX_FILE)}) ] spids: [-1 215] ) (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name "$NEXT_INDEX"))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_INDEX_FILE) op: Equal rhs: {(DQ ($ VSub_Name "$NEXT_INDEX"))} spids: [243] ) ] spids: [243] ) (C {(export)} {(GIT_INDEX_FILE)}) ] spids: [229 240] ) ] spids: [-1 254] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name "$status_only"))} {(Lit_Other "=")} {(DQ (t))}) (C {(test)} {(DQ ($ VSub_Name "$use_status_color"))} {(Lit_Other "=")} {(DQ (t))} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:color) op:Equal rhs:{(SQ )} spids:[290])] spids: [290] ) ] spids: [-1 287] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:color) op: Equal rhs: {(--nocolor)} spids: [296] ) ] spids: [296] ) ] spids: [293 300] ) (C {(git)} {(runstatus)} {(${ VSub_Name color)} { (BracedVarSub token: <VSub_Name verbose> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(--verbose)}) spids: [313 317] ) } { (BracedVarSub token: <VSub_Name amend> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(--amend)}) spids: [321 325] ) } { (BracedVarSub token: <VSub_Name untracked_files> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(--untracked)}) spids: [329 333] ) } ) ] spids: [173] ) spids: [168 172] ) (C {(trap)} { (SQ <"\n"> <"\ttest -z \"$TMP_INDEX\" || {\n"> <"\t\ttest -f \"$TMP_INDEX\" && rm -f \"$TMP_INDEX\"\n"> <"\t}\n"> <"\trm -f \"$NEXT_INDEX\"\n"> ) } {(0)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:all) op:Equal rhs:{(SQ )} spids:[358])] spids: [358] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:also) op:Equal rhs:{(SQ )} spids:[360])] spids: [360] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:allow_empty) op:Equal rhs:{(f)} spids:[362])] spids: [362] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:interactive) op:Equal rhs:{(SQ )} spids:[365])] spids: [365] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:only) op:Equal rhs:{(SQ )} spids:[367])] spids: [367] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:logfile) op:Equal rhs:{(SQ )} spids:[369])] spids: [369] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:use_commit) op:Equal rhs:{(SQ )} spids:[371])] spids: [371] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:amend) op:Equal rhs:{(SQ )} spids:[373])] spids: [373] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:edit_flag) op:Equal rhs:{(SQ )} spids:[375])] spids: [375] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(SQ )} spids:[377])] spids: [377] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:log_given) op:Equal rhs:{(SQ )} spids:[379])] spids: [379] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:log_message) op:Equal rhs:{(SQ )} spids:[381])] spids: [381] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verify) op:Equal rhs:{(t)} spids:[383])] spids: [383] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:quiet) op:Equal rhs:{(SQ )} spids:[386])] spids: [386] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(SQ )} spids:[388])] spids: [388] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:signoff) op:Equal rhs:{(SQ )} spids:[390])] spids: [390] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:force_author) op:Equal rhs:{(SQ )} spids:[392])] spids: [392] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:only_include_assumed) op:Equal rhs:{(SQ )} spids:[394])] spids: [394] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:untracked_files) op:Equal rhs:{(SQ )} spids:[396])] spids: [396] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:templatefile) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(git)} {(config)} {(commit.template)})]) left_token: <Left_CommandSub "$("> spids: [400 406] ) ) } spids: [398] ) ] spids: [398] ) (While cond: [(C {(test)} {($ VSub_Pound "$#")} {(KW_Bang "!") (Lit_Other "=")} {(0)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(-F)} {(--F)} {(-f)} {(--f)} {(--fi)} {(--fil)} {(--file)}] action: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [(case_arm pat_list:[{(1)}] action:[(C {(usage)})] spids:[456457461-1])] spids: [448 454 463] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[469])] spids: [469] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [473] ) ] spids: [473] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:logfile) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [478] ) ] spids: [478] ) ] spids: [432 445 484 -1] ) (case_arm pat_list: [{(-F) (Lit_Other "*")} {(-f) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[495])] spids: [495] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [499] ) ] spids: [499] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:logfile) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("-[Ff]")}) spids: [506 510] ) ) } spids: [504] ) ] spids: [504] ) ] spids: [487 492 514 -1] ) (case_arm pat_list: [ {(--F) (Lit_Other "=") (Lit_Other "*")} {(--f) (Lit_Other "=") (Lit_Other "*")} {(--fi) (Lit_Other "=") (Lit_Other "*")} {(--fil) (Lit_Other "=") (Lit_Other "*")} {(--file) (Lit_Other "=") (Lit_Other "*")} ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[539])] spids: [539] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [543] ) ] spids: [543] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:logfile) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*=")}) spids: [550 554] ) ) } spids: [548] ) ] spids: [548] ) ] spids: [517 536 558 -1] ) (case_arm pat_list: [{(-a)} {(--a)} {(--al)} {(--all)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:all) op:Equal rhs:{(t)} spids:[571])] spids: [571] ) ] spids: [561 568 575 -1] ) (case_arm pat_list: [ {(--allo)} {(--allow)} {(--allow-)} {(--allow-e)} {(--allow-em)} {(--allow-emp)} {(--allow-empt)} {(--allow-empty)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:allow_empty) op: Equal rhs: {(t)} spids: [598] ) ] spids: [598] ) ] spids: [578 595 602 -1] ) (case_arm pat_list: [ {(--au) (Lit_Other "=") (Lit_Other "*")} {(--aut) (Lit_Other "=") (Lit_Other "*")} {(--auth) (Lit_Other "=") (Lit_Other "*")} {(--autho) (Lit_Other "=") (Lit_Other "*")} {(--author) (Lit_Other "=") (Lit_Other "*")} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:force_author) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*=")}) spids: [629 633] ) ) } spids: [627] ) ] spids: [627] ) ] spids: [605 624 637 -1] ) (case_arm pat_list: [{(--au)} {(--aut)} {(--auth)} {(--autho)} {(--author)}] action: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [(case_arm pat_list:[{(1)}] action:[(C {(usage)})] spids:[660661665-1])] spids: [652 658 667] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:force_author) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [673] ) ] spids: [673] ) ] spids: [640 649 679 -1] ) (case_arm pat_list: [{(-e)} {(--e)} {(--ed)} {(--edi)} {(--edit)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:edit_flag) op: Equal rhs: {(t)} spids: [694] ) ] spids: [694] ) ] spids: [682 691 698 -1] ) (case_arm pat_list: [ {(-i)} {(--i)} {(--in)} {(--inc)} {(--incl)} {(--inclu)} {(--includ)} {(--include)} ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:also) op:Equal rhs:{(t)} spids:[719])] spids: [719] ) ] spids: [701 716 723 -1] ) (case_arm pat_list: [ {(--int)} {(--inte)} {(--inter)} {(--intera)} {(--interac)} {(--interact)} {(--interacti)} {(--interactiv)} {(--interactive)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:interactive) op: Equal rhs: {(t)} spids: [748] ) ] spids: [748] ) ] spids: [726 745 752 -1] ) (case_arm pat_list: [{(-o)} {(--o)} {(--on)} {(--onl)} {(--only)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:only) op:Equal rhs:{(t)} spids:[767])] spids: [767] ) ] spids: [755 764 771 -1] ) (case_arm pat_list: [ {(-m)} {(--m)} {(--me)} {(--mes)} {(--mess)} {(--messa)} {(--messag)} {(--message)} ] action: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [(case_arm pat_list:[{(1)}] action:[(C {(usage)})] spids:[800801805-1])] spids: [792 798 807] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(m) ($ VSub_Name "$log_given")} spids: [813] ) ] spids: [813] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_message) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name log_message> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(${ VSub_Name log_message) ("\n") ("\n")} ) spids: [820 828] ) ($ VSub_Number "$1") ) } spids: [818] ) ] spids: [818] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[833])] spids: [833] ) ] spids: [774 789 837 -1] ) (case_arm pat_list: [{(-m) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(m) ($ VSub_Name "$log_given")} spids: [845] ) ] spids: [845] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_message) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name log_message> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(${ VSub_Name log_message) ("\n") ("\n")} ) spids: [852 860] ) (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(-m)}) spids: [861 865] ) ) } spids: [850] ) ] spids: [850] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[869])] spids: [869] ) ] spids: [840 842 873 -1] ) (case_arm pat_list: [ {(--m) (Lit_Other "=") (Lit_Other "*")} {(--me) (Lit_Other "=") (Lit_Other "*")} {(--mes) (Lit_Other "=") (Lit_Other "*")} {(--mess) (Lit_Other "=") (Lit_Other "*")} {(--messa) (Lit_Other "=") (Lit_Other "*")} {(--messag) (Lit_Other "=") (Lit_Other "*")} {(--message) (Lit_Other "=") (Lit_Other "*")} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(m) ($ VSub_Name "$log_given")} spids: [906] ) ] spids: [906] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_message) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name log_message> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(${ VSub_Name log_message) ("\n") ("\n")} ) spids: [913 921] ) (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*=")}) spids: [922 926] ) ) } spids: [911] ) ] spids: [911] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(t)} spids:[930])] spids: [930] ) ] spids: [876 903 934 -1] ) (case_arm pat_list: [ {(-n)} {(--n)} {(--no)} {(--no-)} {(--no-v)} {(--no-ve)} {(--no-ver)} {(--no-veri)} {(--no-verif)} {(--no-verify)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:verify) op: Equal rhs: {(SQ )} spids: [961] ) ] spids: [961] ) ] spids: [937 958 964 -1] ) (case_arm pat_list: [{(--a)} {(--am)} {(--ame)} {(--amen)} {(--amend)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:amend) op:Equal rhs:{(t)} spids:[979])] spids: [979] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_commit) op: Equal rhs: {(HEAD)} spids: [983] ) ] spids: [983] ) ] spids: [967 976 987 -1] ) (case_arm pat_list: [{(-c)}] action: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [ (case_arm pat_list: [{(1)}] action: [(C {(usage)})] spids: [1002 1003 1007 -1] ) ] spids: [994 1000 1009] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [1015] ) ] spids: [1015] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_commit) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [1020] ) ] spids: [1020] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_edit) op: Equal rhs: {(SQ )} spids: [1026] ) ] spids: [1026] ) ] spids: [990 991 1029 -1] ) (case_arm pat_list: [ {(--ree) (Lit_Other "=") (Lit_Other "*")} {(--reed) (Lit_Other "=") (Lit_Other "*")} {(--reedi) (Lit_Other "=") (Lit_Other "*")} {(--reedit) (Lit_Other "=") (Lit_Other "*")} {(--reedit-) (Lit_Other "=") (Lit_Other "*")} {(--reedit-m) (Lit_Other "=") (Lit_Other "*")} {(--reedit-me) (Lit_Other "=") (Lit_Other "*")} {(--reedit-mes) (Lit_Other "=") (Lit_Other "*")} {(--reedit-mess) (Lit_Other "=") (Lit_Other "*")} {(--reedit-messa) (Lit_Other "=") (Lit_Other "*")} {(--reedit-messag) (Lit_Other "=") (Lit_Other "*")} {(--reedit-message) (Lit_Other "=") (Lit_Other "*")} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [1086] ) ] spids: [1086] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_commit) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*=")}) spids: [1093 1097] ) ) } spids: [1091] ) ] spids: [1091] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_edit) op: Equal rhs: {(SQ )} spids: [1101] ) ] spids: [1101] ) ] spids: [1032 1083 1104 -1] ) (case_arm pat_list: [ {(--ree)} {(--reed)} {(--reedi)} {(--reedit)} {(--reedit-)} {(--reedit-m)} {(--reedit-me)} {(--reedit-mes)} {(--reedit-mess)} {(--reedit-messa)} {(--reedit-messag)} {(--reedit-message)} ] action: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [ (case_arm pat_list: [{(1)}] action: [(C {(usage)})] spids: [1145 1146 1150 -1] ) ] spids: [1137 1143 1152] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [1158] ) ] spids: [1158] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_commit) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [1163] ) ] spids: [1163] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_edit) op: Equal rhs: {(SQ )} spids: [1169] ) ] spids: [1169] ) ] spids: [1107 1134 1172 -1] ) (case_arm pat_list: [{(-C)}] action: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [ (case_arm pat_list: [{(1)}] action: [(C {(usage)})] spids: [1187 1188 1192 -1] ) ] spids: [1179 1185 1194] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [1200] ) ] spids: [1200] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_commit) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [1205] ) ] spids: [1205] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_edit) op: Equal rhs: {(t)} spids: [1211] ) ] spids: [1211] ) ] spids: [1175 1176 1215 -1] ) (case_arm pat_list: [ {(--reu) (Lit_Other "=") (Lit_Other "*")} {(--reus) (Lit_Other "=") (Lit_Other "*")} {(--reuse) (Lit_Other "=") (Lit_Other "*")} {(--reuse-) (Lit_Other "=") (Lit_Other "*")} {(--reuse-m) (Lit_Other "=") (Lit_Other "*")} {(--reuse-me) (Lit_Other "=") (Lit_Other "*")} {(--reuse-mes) (Lit_Other "=") (Lit_Other "*")} {(--reuse-mess) (Lit_Other "=") (Lit_Other "*")} {(--reuse-messa) (Lit_Other "=") (Lit_Other "*")} {(--reuse-messag) (Lit_Other "=") (Lit_Other "*")} {(--reuse-message) (Lit_Other "=") (Lit_Other "*")} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [1268] ) ] spids: [1268] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_commit) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*=")}) spids: [1275 1279] ) ) } spids: [1273] ) ] spids: [1273] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_edit) op: Equal rhs: {(t)} spids: [1283] ) ] spids: [1283] ) ] spids: [1218 1265 1287 -1] ) (case_arm pat_list: [ {(--reu)} {(--reus)} {(--reuse)} {(--reuse-)} {(--reuse-m)} {(--reuse-me)} {(--reuse-mes)} {(--reuse-mess)} {(--reuse-messa)} {(--reuse-messag)} {(--reuse-message)} ] action: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [ (case_arm pat_list: [{(1)}] action: [(C {(usage)})] spids: [1324 1325 1329 -1] ) ] spids: [1316 1322 1331] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:log_given) op: Equal rhs: {(t) ($ VSub_Name "$log_given")} spids: [1337] ) ] spids: [1337] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_commit) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [1342] ) ] spids: [1342] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_edit) op: Equal rhs: {(t)} spids: [1348] ) ] spids: [1348] ) ] spids: [1290 1313 1352 -1] ) (case_arm pat_list: [ {(-s)} {(--s)} {(--si)} {(--sig)} {(--sign)} {(--signo)} {(--signof)} {(--signoff)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:signoff) op: Equal rhs: {(t)} spids: [1373] ) ] spids: [1373] ) ] spids: [1355 1370 1377 -1] ) (case_arm pat_list: [ {(-t)} {(--t)} {(--te)} {(--tem)} {(--temp)} {(--templ)} {(--templa)} {(--templat)} {(--template)} ] action: [ (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [ (case_arm pat_list: [{(1)}] action: [(C {(usage)})] spids: [1408 1409 1413 -1] ) ] spids: [1400 1406 1415] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:templatefile) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [1421] ) ] spids: [1421] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_edit) op: Equal rhs: {(SQ )} spids: [1427] ) ] spids: [1427] ) ] spids: [1380 1397 1430 -1] ) (case_arm pat_list: [{(-q)} {(--q)} {(--qu)} {(--qui)} {(--quie)} {(--quiet)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:quiet) op:Equal rhs:{(t)} spids:[1447])] spids: [1447] ) ] spids: [1433 1444 1451 -1] ) (case_arm pat_list: [ {(-v)} {(--v)} {(--ve)} {(--ver)} {(--verb)} {(--verbo)} {(--verbos)} {(--verbose)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:verbose) op: Equal rhs: {(t)} spids: [1472] ) ] spids: [1472] ) ] spids: [1454 1469 1476 -1] ) (case_arm pat_list: [ {(-u)} {(--u)} {(--un)} {(--unt)} {(--untr)} {(--untra)} {(--untrac)} {(--untrack)} {(--untracke)} {(--untracked)} {(--untracked-)} {(--untracked-f)} {(--untracked-fi)} {(--untracked-fil)} {(--untracked-file)} {(--untracked-files)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:untracked_files) op: Equal rhs: {(t)} spids: [1517] ) ] spids: [1517] ) ] spids: [1479 1514 1521 -1] ) (case_arm pat_list: [{(--)}] action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)] spids: [1524 1525 1534 -1] ) (case_arm pat_list: [{(-) (Lit_Other "*")}] action: [(C {(usage)})] spids: [1537 1539 1545 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [1548 1549 1555 -1] ) ] spids: [423 429 1558] ) (C {(shift)}) ] spids: [420 1563] ) ) (Case to_match: {(DQ ($ VSub_Name "$edit_flag"))} arms: [ (case_arm pat_list: [{(t)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(SQ )} spids:[1576])] spids: [1576] ) ] spids: [1573 1574 1578 -1] ) ] spids: [1565 1571 1580] ) (Case to_match: {(DQ ($ VSub_Name "$amend") (",") ($ VSub_Name "$initial_commit"))} arms: [ (case_arm pat_list: [{(t) (Lit_Comma ",") (t)}] action: [(C {(die)} {(DQ ("You do not have anything to amend."))})] spids: [1600 1603 1612 -1] ) (case_arm pat_list: [{(t) (Lit_Comma ",")}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_HEAD))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [(C {(die)} {(DQ ("You are in the middle of a merge -- cannot amend."))})] spids: [-1 1633] ) ] spids: [-1 1643] ) ] spids: [1614 1616 1645 -1] ) ] spids: [1590 1598 1647] ) (Case to_match: {(DQ ($ VSub_Name "$log_given"))} arms: [ (case_arm pat_list: [{(tt) (Lit_Other "*")}] action: [(C {(die)} {(DQ ("Only one of -c/-C/-F can be used."))})] spids: [1658 1660 1669 -1] ) (case_arm pat_list: [{(Lit_Other "*") (tm) (Lit_Other "*")} {(Lit_Other "*") (mt) (Lit_Other "*")}] action: [(C {(die)} {(DQ ("Option -m cannot be combined with -c/-C/-F."))})] spids: [1671 1678 1687 -1] ) ] spids: [1650 1656 1689] ) (Case to_match: { (DQ ($ VSub_Pound "$#") (",") ($ VSub_Name "$also") (",") ($ VSub_Name "$only") (",") ($ VSub_Name "$amend") ) } arms: [ (case_arm pat_list: [ {(Lit_Other "*") (Lit_Comma ",") (t) (Lit_Comma ",") (t) (Lit_Comma ",") (Lit_Other "*")} ] action: [(C {(die)} {(DQ ("Only one of --include/--only can be used."))})] spids: [1706 1713 1722 -1] ) (case_arm pat_list: [ {(0) (Lit_Comma ",") (t) (Lit_Comma ",") (Lit_Comma ",") (Lit_Other "*")} {(0) (Lit_Comma ",") (Lit_Comma ",") (t) (Lit_Comma ",")} ] action: [(C {(die)} {(DQ ("No paths with --include/--only does not make sense."))})] spids: [1724 1738 1747 -1] ) (case_arm pat_list: [{(0) (Lit_Comma ",") (Lit_Comma ",") (t) (Lit_Comma ",") (t)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:only_include_assumed) op: Equal rhs: {(DQ ("# Clever... amending the last one with dirty index."))} spids: [1758] ) ] spids: [1758] ) ] spids: [1749 1755 1763 -1] ) (case_arm pat_list: [{(0) (Lit_Comma ",") (Lit_Comma ",") (Lit_Comma ",") (Lit_Other "*")}] spids: [1765 1770 1773 -1] ) (case_arm pat_list: [{(Lit_Other "*") (Lit_Comma ",") (Lit_Comma ",") (Lit_Comma ",") (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:only_include_assumed) op: Equal rhs: {(DQ ("# Explicit paths specified without -i or -o; assuming --only paths..."))} spids: [1783] ) ] spids: [1783] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:also) op:Equal rhs:{(SQ )} spids:[1789])] spids: [1789] ) ] spids: [1775 1780 1792 -1] ) ] spids: [1692 1704 1794] ) (C {(unset)} {(only)}) (Case to_match: { (DQ ($ VSub_Name "$all") (",") ($ VSub_Name "$interactive") (",") ($ VSub_Name "$also") (",") ($ VSub_Pound "$#") ) } arms: [ (case_arm pat_list: [ {(Lit_Other "*") (t) (Lit_Comma ",") (Lit_Other "*") (t) (Lit_Comma ",") (Lit_Other "*")} ] action: [(C {(die)} {(DQ ("Cannot use -a, --interactive or -i at the same time."))})] spids: [1814 1821 1830 -1] ) (case_arm pat_list: [ {(t) (Lit_Comma ",") (Lit_Comma ",") (Lit_Comma ",") (Lit_Other "[") (1-9) (Lit_Other "]") (Lit_Other "*") } ] action: [(C {(die)} {(DQ ("Paths with -a does not make sense."))})] spids: [1832 1840 1849 -1] ) (case_arm pat_list: [ {(Lit_Comma ",") (t) (Lit_Comma ",") (Lit_Comma ",") (Lit_Other "[") (1-9) (Lit_Other "]") (Lit_Other "*") } ] action: [(C {(die)} {(DQ ("Paths with --interactive does not make sense."))})] spids: [1851 1859 1868 -1] ) (case_arm pat_list: [{(Lit_Comma ",") (Lit_Comma ",") (t) (Lit_Comma ",") (0)}] action: [(C {(die)} {(DQ ("No paths with -i does not make sense."))})] spids: [1870 1875 1884 -1] ) ] spids: [1800 1812 1886] ) (If arms: [ (if_arm cond: [ (AndOr children: [ (C {(test)} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$templatefile"))}) (C {(test)} {(-z)} {(DQ ($ VSub_Name "$log_given"))}) ] op_id: Op_DAmp ) ] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(KW_Bang "!")} {(-f)} {(DQ ($ VSub_Name "$templatefile"))})] action: [(C {(die)} {(DQ ("Commit template file does not exist."))})] spids: [-1 1927] ) ] spids: [-1 1937] ) ] spids: [-1 1911] ) ] spids: [-1 1939] ) (Case to_match: {(DQ ($ VSub_Name "$all") (",") ($ VSub_Name "$also"))} arms: [ (case_arm pat_list: [{(t) (Lit_Comma ",")}] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(KW_Bang "!")} {(-f)} {(DQ ($ VSub_Name "$THIS_INDEX"))})] action: [ (C {(die)} { (SQ <"nothing to commit (use \"git add file1 file2\" to include for commit)">) } ) ] spids: [-1 1977] ) ] spids: [-1 1987] ) (AndOr children: [ (C {(save_index)}) (AndOr children: [ (Subshell child: (AndOr children: [ (C {(cd_to_toplevel)}) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_INDEX_FILE) op: Equal rhs: {(DQ ($ VSub_Name "$NEXT_INDEX"))} spids: [2003] ) ] spids: [2003] ) (AndOr children: [ (C {(export)} {(GIT_INDEX_FILE)}) (Pipeline children: [ (C {(git)} {(diff-files)} {(--name-only)} {(-z)}) (C {(git)} {(update-index)} {(--remove)} {(-z)} {(--stdin)}) ] negated: False ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) spids: [1995 2040] ) (C {(exit)}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] spids: [1959 1961 2047 -1] ) (case_arm pat_list: [{(Lit_Comma ",") (t)}] action: [ (AndOr children: [ (C {(save_index)}) (AndOr children: [ (SimpleCommand words: [{(git)} {(ls-files)} {(--error-unmatch)} {(--)} {(DQ ($ VSub_At "$@"))}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2071])] ) (C {(exit)}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (C {(git)} {(diff-files)} {(--name-only)} {(-z)} {(--)} {(DQ ($ VSub_At "$@"))}) (Subshell child: (AndOr children: [ (C {(cd_to_toplevel)}) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_INDEX_FILE) op: Equal rhs: {(DQ ($ VSub_Name "$NEXT_INDEX"))} spids: [2105] ) ] spids: [2105] ) (AndOr children: [ (C {(export)} {(GIT_INDEX_FILE)}) (C {(git)} {(update-index)} {(--remove)} {(-z)} {(--stdin)}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) spids: [2097 2131] ) ] negated: False ) (C {(exit)}) ] op_id: Op_DPipe ) ] spids: [2049 2051 2138 -1] ) (case_arm pat_list: [{(Lit_Comma ",")}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name "$interactive"))} {(Lit_Other "=")} {(t)}) terminator: <Op_Semi ";"> ) ] action: [ (AndOr children: [(C {(git)} {(add)} {(--interactive)}) (C {(exit)})] op_id: Op_DPipe ) ] spids: [-1 2157] ) ] spids: [-1 2171] ) (Case to_match: {(DQ ($ VSub_Pound "$#"))} arms: [ (case_arm pat_list:[{(0)}] spids:[218321842187-1]) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_HEAD))})] action: [ (C {(refuse_partial)} {(DQ ("Cannot do a partial commit during a merge."))}) ] spids: [-1 2209] ) ] spids: [-1 2219] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TMP_INDEX) op: Equal rhs: {(DQ ($ VSub_Name "$GIT_DIR") (/tmp-index) ($ VSub_Dollar "$$"))} spids: [2223] ) ] spids: [2223] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:W) op:Equal rhs:{(SQ )} spids:[2231])] spids: [2231] ) (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name "$initial_commit"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:W) op: Equal rhs: {(--with-tree) (Lit_Other "=") (HEAD)} spids: [2244] ) ] spids: [2244] ) ] op_id: Op_DAmp ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:commit_only) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(ls-files)} {(--error-unmatch)} {($ VSub_Name "$W")} {(--)} {(DQ ($ VSub_At "$@"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [2251 2265] ) } spids: [2250] ) ] spids: [2250] ) (C {(exit)}) ] op_id: Op_DPipe ) (AndOr children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$initial_commit"))})] action: [ (SimpleCommand words: [ {(git)} {(read-tree)} {(--index-output) (Lit_Other "=") (DQ ($ VSub_Name "$TMP_INDEX"))} {(-i)} {(-m)} {(HEAD)} ] more_env: [ (env_pair name: GIT_INDEX_FILE val: {(DQ ($ VSub_Name "$THIS_INDEX"))} spids: [2295] ) ] ) ] spids: [-1 2292] ) ] else_action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name "$TMP_INDEX"))})] spids: [2319 2331] ) (C {(exit)}) ] op_id: Op_DPipe ) (AndOr children: [ (Pipeline children: [ (C {(printf)} {(SQ <"%s\\n">)} {(DQ ($ VSub_Name "$commit_only"))}) (SimpleCommand words: [{(git)} {(update-index)} {(--add)} {(--remove)} {(--stdin)}] more_env: [ (env_pair name: GIT_INDEX_FILE val: {(DQ ($ VSub_Name "$TMP_INDEX"))} spids: [2352] ) ] ) ] negated: False ) (AndOr children: [ (C {(save_index)}) (AndOr children: [ (Pipeline children: [ (C {(printf)} {(SQ <"%s\\n">)} {(DQ ($ VSub_Name "$commit_only"))}) (Subshell child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_INDEX_FILE) op: Equal rhs: {(DQ ($ VSub_Name "$NEXT_INDEX"))} spids: [2394] ) ] spids: [2394] ) (C {(export)} {(GIT_INDEX_FILE)}) (C {(git)} {(update-index)} {(--add)} {(--remove)} {(--stdin)}) ] ) spids: [2391 2416] ) ] negated: False ) (C {(exit)}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [2193 2194 2423 -1] ) ] spids: [2174 2180 2426] ) ] spids: [2140 2141 2429 -1] ) ] spids: [1949 1957 2431] ) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name "$NEXT_INDEX"))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_INDEX) op: Equal rhs: {(DQ ($ VSub_Name "$NEXT_INDEX"))} spids: [2460] ) ] spids: [2460] ) ] spids: [-1 2457] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USE_INDEX) op: Equal rhs: {(DQ ($ VSub_Name "$THIS_INDEX"))} spids: [2468] ) ] spids: [2468] ) ] spids: [2465 2473] ) (Case to_match: {(DQ ($ VSub_Name "$status_only"))} arms: [ (case_arm pat_list: [{(t)}] action: [ (SimpleCommand words: [{(git)} {(update-index)} {(-q)} {(--unmerged)} {(--refresh)}] more_env: [ (env_pair name: GIT_INDEX_FILE val: {(DQ ($ VSub_Name "$USE_INDEX"))} spids: [2496] ) ] ) (C {(run_status)}) (C {(exit)} {($ VSub_QMark "$?")}) ] spids: [2484 2485 2520 -1] ) (case_arm pat_list: [{(SQ )}] action: [ (AndOr children: [ (SimpleCommand words: [{(git)} {(update-index)} {(-q)} {(--refresh)}] more_env: [ (env_pair name: GIT_INDEX_FILE val: {(DQ ($ VSub_Name "$USE_INDEX"))} spids: [2527] ) ] ) (C {(exit)}) ] op_id: Op_DPipe ) ] spids: [-1 2524 2545 -1] ) ] spids: [2476 2482 2547] ) (If arms: [ (if_arm cond: [ (AndOr children: [ (C {(test)} {(t)} {(Lit_Other "=")} {(DQ ($ VSub_Name "$verify"))}) (C {(test)} {(-x)} {(DQ ($ VSub_Name "$GIT_DIR")) (/hooks/pre-commit)}) ] op_id: Op_DAmp ) ] action: [ (AndOr children: [ (SimpleCommand words: [{(DQ ($ VSub_Name "$GIT_DIR")) (/hooks/pre-commit)}] more_env: [ (env_pair name: GIT_INDEX_FILE val: { (DQ (BracedVarSub token: <VSub_Name TMP_INDEX> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name USE_INDEX)} ) spids: [2585 2591] ) ) } spids: [2583] ) ] ) (C {(exit)}) ] op_id: Op_DPipe ) ] spids: [-1 2580] ) ] spids: [-1 2605] ) (Pipeline children: [ (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$log_message"))} {(KW_Bang "!") (Lit_Other "=")} {(SQ )})] action: [(C {(printf)} {(SQ <"%s\\n">)} {(DQ ($ VSub_Name "$log_message"))})] spids: [-1 2622] ) (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$logfile"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )})] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$logfile"))} {(Lit_Other "=")} {(-)})] action: [ (AndOr children: [ (C {(test)} {(-t)} {(0)}) (SimpleCommand words: [{(echo)} {(DQ ("(reading log message from standard input)"))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [2679] ) ] ) ] op_id: Op_DAmp ) (C {(cat)}) ] spids: [-1 2665] ) ] else_action: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name "$logfile"))} spids: [2695] ) ] ) ] spids: [2690 2701] ) ] spids: [2635 2649] ) (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$use_commit"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:encoding) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(git)} {(config)} {(i18n.commitencoding)}) (C {(echo)} {(UTF-8)}) ] op_id: Op_DPipe ) ] ) left_token: <Left_CommandSub "$("> spids: [2721 2733] ) } spids: [2720] ) ] spids: [2720] ) (Pipeline children: [ (C {(git)} {(show)} {(-s)} {(--pretty) (Lit_Other "=") (raw)} {(--encoding) (Lit_Other "=") (DQ ($ VSub_Name "$encoding"))} {(DQ ($ VSub_Name "$use_commit"))} ) (C {(sed)} {(-e)} {(SQ <"1,/^$/d">)} {(-e)} {(SQ <"s/^ //">)}) ] negated: False ) ] spids: [2703 2717] ) (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_MSG))})] action: [(C {(cat)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_MSG))})] spids: [2773 2784] ) (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/SQUASH_MSG))})] action: [(C {(cat)} {(DQ ($ VSub_Name "$GIT_DIR") (/SQUASH_MSG))})] spids: [2794 2805] ) (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$templatefile"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )})] action: [(C {(cat)} {(DQ ($ VSub_Name "$templatefile"))})] spids: [2815 2829] ) ] spids: [-1 2838] ) (SimpleCommand words: [{(git)} {(stripspace)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)} spids: [2846] ) ] ) ] negated: False ) (Case to_match: {(DQ ($ VSub_Name "$signoff"))} arms: [ (case_arm pat_list: [{(t)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sign) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(git)} {(var)} {(GIT_COMMITTER_IDENT)}) (C {(sed)} {(-e)} { (SQ <"\n"> <"\t\ts/>.*/>/\n"> <"\t\ts/^/Signed-off-by: /\n"> <"\t\t"> ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [2866 2885] ) } spids: [2865] ) ] spids: [2865] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:blank_before_signoff) op: Equal rhs: {(SQ )} spids: [2888] ) ] spids: [2888] ) (AndOr children: [ (Pipeline children: [ (C {(tail)} {(-n)} {(1)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)}) (SimpleCommand words: [{(grep)} {(SQ <"Signed-off-by:">)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2911])] ) ] negated: False ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:blank_before_signoff) op: Equal rhs: {(SQ <"\n">)} spids: [2916] ) ] spids: [2916] ) ] op_id: Op_DPipe ) (AndOr children: [ (Pipeline children: [ (C {(tail)} {(-n)} {(1)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)}) (SimpleCommand words: [{(grep)} {(DQ ($ VSub_Name "$sign")) (Lit_Other "$")}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2943])] ) ] negated: False ) (SimpleCommand words: [ {(printf)} {(SQ <"%s%s\\n">)} {(DQ ($ VSub_Name "$blank_before_signoff"))} {(DQ ($ VSub_Name "$sign"))} ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)} spids: [2965] ) ] ) ] op_id: Op_DPipe ) ] spids: [2861 2862 2972 -1] ) ] spids: [2853 2859 2974] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_HEAD))}) (C {(test)} {(-z)} {(DQ ($ VSub_Name "$no_edit"))}) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("#"))}) (C {(echo)} {(DQ ("# It looks like you may be committing a MERGE."))}) (C {(echo)} {(DQ ("# If this is not correct, please remove the file"))}) (C {(printf)} {(SQ <"%s\\n">)} {(DQ ("#\t") ($ VSub_Name "$GIT_DIR") (/MERGE_HEAD))}) (C {(echo)} {(DQ ("# and try again"))}) (C {(echo)} {(DQ ("#"))}) ] spids: [-1 2999] ) ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)} spids: [3051] ) ] spids: [-1 3049] ) (If arms: [ (if_arm cond: [(C {(test)} {(SQ )} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$use_commit"))})] action: [ (C {(eval)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_author_ident_from_commit)} {(DQ ($ VSub_Name "$use_commit"))}) ] ) left_token: <Left_CommandSub "$("> spids: [3081 3087] ) ) } ) (C {(export)} {(GIT_AUTHOR_NAME)} {(GIT_AUTHOR_EMAIL)} {(GIT_AUTHOR_DATE)}) ] spids: [-1 3075] ) ] spids: [-1 3099] ) (If arms: [ (if_arm cond: [ (C {(test)} {(SQ )} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$force_author"))}) ] action: [ (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_AUTHOR_NAME) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ (z) ($ VSub_Name "$force_author"))} {(Lit_Other ":")} {(SQ <"z\\(.*[^ ]\\) *<.*">)} ) ] ) left_token: <Left_CommandSub "$("> spids: [3119 3132] ) } spids: [3118] ) ] spids: [3118] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_AUTHOR_EMAIL) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ (z) ($ VSub_Name "$force_author"))} {(Lit_Other ":")} {(SQ <".*\\(<.*\\)">)} ) ] ) left_token: <Left_CommandSub "$("> spids: [3138 3151] ) } spids: [3137] ) ] spids: [3137] ) (AndOr children: [ (C {(test)} {(SQ )} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$GIT_AUTHOR_NAME"))} ) (AndOr children: [ (C {(test)} {(SQ )} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$GIT_AUTHOR_EMAIL"))} ) (C {(die)} {(DQ ("malformed --author parameter"))}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (C {(export)} {(GIT_AUTHOR_NAME)} {(GIT_AUTHOR_EMAIL)}) ] spids: [-1 3115] ) ] spids: [-1 3199] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PARENTS) op:Equal rhs:{(DQ ("-p HEAD"))} spids:[3202])] spids: [3202] ) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$initial_commit"))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rloga) op: Equal rhs: {(SQ <commit>)} spids: [3220] ) ] spids: [3220] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_HEAD))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rloga) op: Equal rhs: {(SQ <"commit (merge)">)} spids: [3243] ) ] spids: [3243] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARENTS) op: Equal rhs: {(DQ ("-p HEAD ")) (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-e)} {(SQ <"s/^/-p /">)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_HEAD))} ) ] ) left_token: <Left_CommandSub "$("> spids: [3253 3266] ) } spids: [3249] ) ] spids: [3249] ) ] spids: [-1 3240] ) (if_arm cond: [ (Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$amend"))}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rloga) op: Equal rhs: {(SQ <"commit (amend)">)} spids: [3283] ) ] spids: [3283] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARENTS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(git)} {(cat-file)} {(commit)} {(HEAD)}) (C {(sed)} {(-n)} {(-e)} {(SQ <"/^$/q">)} {(-e)} {(SQ <"s/^parent /-p /p">)} ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [3290 3317] ) } spids: [3289] ) ] spids: [3289] ) ] spids: [3269 3280] ) ] spids: [-1 3320] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:current) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD)})] ) left_token: <Left_CommandSub "$("> spids: [3325 3333] ) ) } spids: [3323] ) ] spids: [3323] ) ] spids: [-1 3217] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(git)} {(ls-files)})]) left_token: <Left_CommandSub "$("> spids: [3346 3350] ) ) } {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [ {(echo)} {(SQ <"nothing to commit (use \"git add file1 file2\" to include for commit)">)} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[3361])] ) (C {(exit)} {(1)}) ] spids: [-1 3356] ) ] spids: [-1 3374] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PARENTS) op:Equal rhs:{(DQ )} spids:[3377])] spids: [3377] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rloga) op: Equal rhs: {(SQ <"commit (initial)">)} spids: [3382] ) ] spids: [3382] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:current) op:Equal rhs:{(SQ )} spids:[3388])] spids: [3388] ) ] spids: [3336 3392] ) (C {(set_reflog_action)} {(DQ ($ VSub_Name "$rloga"))}) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$no_edit"))})] action: [ (BraceGroup children: [ (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ("# Please enter the commit message for your changes."))}) (C {(echo)} {(DQ ("# (Comment lines starting with '#' will not be included)"))}) (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name "$only_include_assumed"))}) (C {(echo)} {(DQ ($ VSub_Name "$only_include_assumed"))}) ] op_id: Op_DPipe ) (C {(run_status)}) ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)} spids: [3459] ) ] spids: [3414] ) ] spids: [-1 3411] ) ] else_action: [ (SimpleCommand words: [{(run_status)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[3474])] ) ] spids: [3465 3477] ) (Case to_match: {(DQ ($ VSub_Name "$allow_empty") (",") ($ VSub_QMark "$?") (",") ($ VSub_Name "$PARENTS"))} arms: [ (case_arm pat_list: [ {(t) (Lit_Comma ",") (Lit_Other "*")} {(Lit_Other "?") (Lit_Comma ",") (0) (Lit_Comma ",") (Lit_Other "*")} {(Lit_Other "?") (Lit_Comma ",") (Lit_Other "*") (Lit_Comma ",") (-p) (SQ <" ">) (Lit_Other "?") (Lit_Other "*") (-p) (SQ <" ">) (Lit_Other "?") (Lit_Other "*") } ] spids: [3491 3521 3536 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/COMMIT_EDITMSG))} {(DQ ($ VSub_Name "$GIT_DIR") (/SQUASH_MSG))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_status_color) op: Equal rhs: {(t)} spids: [3557] ) ] spids: [3557] ) (C {(run_status)}) (C {(exit)} {(1)}) ] spids: [3538 3539 -1 3568] ) ] spids: [3479 3489 3568] ) (Case to_match: {(DQ ($ VSub_Name "$no_edit"))} arms: [ (case_arm pat_list: [{(SQ )}] action: [ (AndOr children: [ (SimpleCommand words: [{(git)} {(var)} {(GIT_AUTHOR_IDENT)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[3590])] ) (C {(die)}) ] op_id: Op_DPipe ) (AndOr children: [ (SimpleCommand words: [{(git)} {(var)} {(GIT_COMMITTER_IDENT)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[3605])] ) (C {(die)}) ] op_id: Op_DPipe ) (C {(git_editor)} {(DQ ($ VSub_Name "$GIT_DIR") (/COMMIT_EDITMSG))}) ] spids: [-1 3581 3622 -1] ) ] spids: [3571 3577 3624] ) (Case to_match: {(DQ ($ VSub_Name "$verify"))} arms: [ (case_arm pat_list: [{(t)}] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-x)} {(DQ ($ VSub_Name "$GIT_DIR")) (/hooks/commit-msg)})] action: [ (AndOr children: [ (C {(DQ ($ VSub_Name "$GIT_DIR")) (/hooks/commit-msg)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)} ) (C {(exit)}) ] op_id: Op_DPipe ) ] spids: [-1 3651] ) ] spids: [-1 3669] ) ] spids: [3635 3636 -1 3671] ) ] spids: [3627 3633 3671] ) (Pipeline children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$no_edit"))})] action: [ (C {(sed)} {(-e)} { (SQ <"\n"> <" /^diff --git a\\/.*/{\n"> <"\t s///\n"> <"\t q\n"> <"\t}\n"> <"\t/^#/d\n"> <" "> ) } {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)} ) ] spids: [-1 3684] ) ] else_action: [(C {(cat)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_EDITMSG)})] spids: [3706 3716] ) (SimpleCommand words: [{(git)} {(stripspace)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_MSG)} spids: [3724] ) ] ) ] negated: False ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:have_commitmsg) op:Equal rhs:{(SQ )} spids:[3734])] spids: [3734] ) (Pipeline children: [ (C {(grep)} {(-v)} {(-i)} {(SQ <"^Signed-off-by">)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_MSG)}) (SimpleCommand words: [{(git)} {(stripspace)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_BAREMSG)} spids: [3758] ) ] ) ] negated: False ) (If arms: [ (if_arm cond: [(C {(test)} {(-s)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_BAREMSG)})] action: [ (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Name "$templatefile"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )}) ] action: [ (If arms: [ (if_arm cond: [ (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cnt) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(sed)} {(-e)} {(SQ <"/^#/d">)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name "$templatefile"))} spids: [3817] ) ] ) (C {(git)} {(stripspace)}) (C {(diff)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_BAREMSG) } {(-)} ) (C {(wc)} {(-l)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [3808 3848] ) } spids: [3807] ) ] spids: [3807] ) (C {(test)} {(0)} {(-lt)} {($ VSub_Name "$cnt")}) ] op_id: Op_DAmp ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:have_commitmsg) op: Equal rhs: {(t)} spids: [3865] ) ] spids: [3865] ) ] spids: [-1 3862] ) ] spids: [-1 3869] ) ] spids: [-1 3798] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:have_commitmsg) op: Equal rhs: {(t)} spids: [3883] ) ] spids: [3883] ) ] spids: [3872 3887] ) ] spids: [-1 3780] ) ] spids: [-1 3889] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_BAREMSG)}) (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$have_commitmsg"))} {(Lit_Other "=")} {(DQ (t))})] action: [ (AndOr children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$TMP_INDEX"))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tree) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(git)} {(write-tree)}] more_env: [ (env_pair name: GIT_INDEX_FILE val: {(DQ ($ VSub_Name "$USE_INDEX"))} spids: [3935] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [3934 3943] ) } spids: [3933] ) ] spids: [3933] ) ] spids: [-1 3930] ) ] else_action: [ (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tree) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(git)} {(write-tree)}] more_env: [ (env_pair name: GIT_INDEX_FILE val: {(DQ ($ VSub_Name "$TMP_INDEX"))} spids: [3951] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [3950 3959] ) } spids: [3949] ) ] spids: [3949] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$TMP_INDEX"))}) ] op_id: Op_DAmp ) ] spids: [3946 3973] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:commit) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(git)} {(commit-tree)} {($ VSub_Name "$tree")} {($ VSub_Name "$PARENTS")} ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name "$GIT_DIR") (/COMMIT_MSG))} spids: [3988] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [3979 3993] ) } spids: [3978] ) ] spids: [3978] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rlogm) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-e)} {(1q)} {(DQ ($ VSub_Name "$GIT_DIR")) (/COMMIT_MSG)} ) ] ) left_token: <Left_CommandSub "$("> spids: [3999 4010] ) } spids: [3998] ) ] spids: [3998] ) (AndOr children: [ (C {(git)} {(update-ref)} {(-m)} {(DQ ($ VSub_Name "$GIT_REFLOG_ACTION") (": ") ($ VSub_Name "$rlogm"))} {(HEAD)} {($ VSub_Name "$commit")} {(DQ ($ VSub_Name "$current"))} ) (AndOr children: [ (C {(rm)} {(-f)} {(--)} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_HEAD))} {(DQ ($ VSub_Name "$GIT_DIR") (/MERGE_MSG))} ) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Name "$NEXT_INDEX"))})] action: [ (C {(mv)} {(DQ ($ VSub_Name "$NEXT_INDEX"))} {(DQ ($ VSub_Name "$THIS_INDEX"))} ) ] spids: [-1 4068] ) ] else_action: [ (Sentence child: (C {(Lit_Other ":")}) terminator: <Op_Semi ";"> ) ] spids: [4082 4092] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [-1 3916] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(DQ ("* no commit message? aborting commit."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[4099])] ) (C {(false)}) ] spids: [4094 4109] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {(DQ ($ VSub_QMark "$?"))} spids: [4111] ) ] spids: [4111] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$GIT_DIR") (/COMMIT_MSG))} {(DQ ($ VSub_Name "$GIT_DIR") (/COMMIT_EDITMSG))} {(DQ ($ VSub_Name "$GIT_DIR") (/SQUASH_MSG))} ) (C {(cd_to_toplevel)}) (C {(git)} {(rerere)}) (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$ret"))} {(Lit_Other "=")} {(0)})] action: [ (C {(git)} {(gc)} {(--auto)}) (If arms: [ (if_arm cond: [(C {(test)} {(-x)} {(DQ ($ VSub_Name "$GIT_DIR")) (/hooks/post-commit)})] action: [(C {(DQ ($ VSub_Name "$GIT_DIR")) (/hooks/post-commit)})] spids: [-1 4178] ) ] spids: [-1 4187] ) (If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$quiet"))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:commit) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git)} {(diff-tree)} {(--always)} {(--shortstat)} {(--pretty) (Lit_Other "=") (DQ ("format:%h: %s"))} {(--abbrev)} {(--summary)} {(--root)} {(HEAD)} {(--)} ) ] ) left_token: <Left_CommandSub "$("> spids: [4205 4230] ) } spids: [4204] ) ] spids: [4204] ) (C {(echo)} { (DQ (Created) (BracedVarSub token: <VSub_Name initial_commit> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(" initial")}) spids: [4237 4241] ) (" commit ") ($ VSub_Name "$commit") ) } ) ] spids: [-1 4201] ) ] spids: [-1 4247] ) ] spids: [-1 4156] ) ] spids: [-1 4249] ) (C {(exit)} {(DQ ($ VSub_Name "$ret"))}) ] )