(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:{(EmptyPart)} spids:[21])] spids: [21] ) (C {(.)} {(git-sh-setup)}) (C {(require_work_tree)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(git)} {(rev-parse)} {(--verify)} {(HEAD)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 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] ) ] ) (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 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (commit)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:status_only) op: Equal rhs: {(EmptyPart)} spids: [74] ) ] spids: [74] ) ] spids: [69 71 77 16777215] ) ] 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:16777215 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:16777215 arg_word:{(2)} spids:[102])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [87] ) spids: [82 86] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TMP_INDEX) op:Equal rhs:{(EmptyPart)} 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: [16777215 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: [16777215 254] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Name '$status_only'))} {(Lit_Other '=')} {(DQ (t))}) (C {(test)} {(DQ ($ VSub_Name '$use_status_color'))} {(Lit_Other '=')} {(DQ (t))} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:color) op: Equal rhs: {(EmptyPart)} spids: [290] ) ] spids: [290] ) ] spids: [16777215 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:{(EmptyPart)} spids:[358])] spids: [358] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:also) op:Equal rhs:{(EmptyPart)} 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:{(EmptyPart)} spids:[365])] spids: [365] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:only) op:Equal rhs:{(EmptyPart)} spids:[367])] spids: [367] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:logfile) op:Equal rhs:{(EmptyPart)} spids:[369])] spids: [369] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:use_commit) op:Equal rhs:{(EmptyPart)} spids:[371])] spids: [371] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:amend) op:Equal rhs:{(EmptyPart)} spids:[373])] spids: [373] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:edit_flag) op:Equal rhs:{(EmptyPart)} spids:[375])] spids: [375] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:no_edit) op:Equal rhs:{(EmptyPart)} spids:[377])] spids: [377] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:log_given) op:Equal rhs:{(EmptyPart)} spids:[379])] spids: [379] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:log_message) op:Equal rhs:{(EmptyPart)} 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:{(EmptyPart)} spids:[386])] spids: [386] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(EmptyPart)} spids:[388])] spids: [388] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:signoff) op:Equal rhs:{(EmptyPart)} spids:[390])] spids: [390] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:force_author) op:Equal rhs:{(EmptyPart)} spids:[392])] spids: [392] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:only_include_assumed) op: Equal rhs: {(EmptyPart)} spids: [394] ) ] spids: [394] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:untracked_files) op:Equal rhs:{(EmptyPart)} 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: [456 457 461 16777215] ) ] 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 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) (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: [660 661 665 16777215] ) ] 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 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) (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: [800 801 805 16777215] ) ] 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 16777215] ) (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 16777215] ) (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 16777215] ) (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: {(EmptyPart)} spids: [961] ) ] spids: [961] ) ] spids: [937 958 964 16777215] ) (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 16777215] ) (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 16777215] ) ] 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: {(EmptyPart)} spids: [1026] ) ] spids: [1026] ) ] spids: [990 991 1029 16777215] ) (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: {(EmptyPart)} spids: [1101] ) ] spids: [1101] ) ] spids: [1032 1083 1104 16777215] ) (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 16777215] ) ] 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: {(EmptyPart)} spids: [1169] ) ] spids: [1169] ) ] spids: [1107 1134 1172 16777215] ) (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 16777215] ) ] 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 16777215] ) (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 16777215] ) (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 16777215] ) ] 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 16777215] ) (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 16777215] ) (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 16777215] ) ] 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: {(EmptyPart)} spids: [1427] ) ] spids: [1427] ) ] spids: [1380 1397 1430 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) (case_arm pat_list: [{(--)}] action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)] spids: [1524 1525 1534 16777215] ) (case_arm pat_list: [{(-) (Lit_Other '*')}] action: [(C {(usage)})] spids: [1537 1539 1545 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [1548 1549 1555 16777215] ) ] 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: {(EmptyPart)} spids: [1576] ) ] spids: [1576] ) ] spids: [1573 1574 1578 16777215] ) ] 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 16777215] ) (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: [16777215 1633] ) ] spids: [16777215 1643] ) ] spids: [1614 1616 1645 16777215] ) ] 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 16777215] ) (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 16777215] ) ] 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 16777215] ) (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 16777215] ) (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 16777215] ) (case_arm pat_list: [{(0) (Lit_Comma ',') (Lit_Comma ',') (Lit_Comma ',') (Lit_Other '*')}] spids: [1765 1770 1773 16777215] ) (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:{(EmptyPart)} spids:[1789])] spids: [1789] ) ] spids: [1775 1780 1792 16777215] ) ] 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 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) ] spids: [1800 1812 1886] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$templatefile'))}) (C {(test)} {(-z)} {(DQ ($ VSub_Name '$log_given'))}) ] ) ] 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: [16777215 1927] ) ] spids: [16777215 1937] ) ] spids: [16777215 1911] ) ] spids: [16777215 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: [16777215 1977] ) ] spids: [16777215 1987] ) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(save_index)}) (Subshell child: (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(cd_to_toplevel)}) (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] ) (C {(export)} {(GIT_INDEX_FILE)}) (Pipeline children: [ (C {(git)} {(diff-files)} {(--name-only)} {(-z)}) (C {(git)} {(update-index)} {(--remove)} {(-z)} {(--stdin)}) ] negated: F ) ] ) spids: [1995 2040] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [1959 1961 2047 16777215] ) (case_arm pat_list: [{(Lit_Comma ',') (t)}] action: [ (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(save_index)}) (SimpleCommand words: [{(git)} {(ls-files)} {(--error-unmatch)} {(--)} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2071] ) ] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(git)} {(diff-files)} {(--name-only)} {(-z)} {(--)} {(DQ ($ VSub_At '$@'))}) (Subshell child: (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(cd_to_toplevel)}) (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] ) (C {(export)} {(GIT_INDEX_FILE)}) (C {(git)} {(update-index)} {(--remove)} {(-z)} {(--stdin)}) ] ) spids: [2097 2131] ) ] negated: F ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [2049 2051 2138 16777215] ) (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 ops: [Op_DPipe] children: [ (C {(git)} {(add)} {(--interactive)}) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [16777215 2157] ) ] spids: [16777215 2171] ) (Case to_match: {(DQ ($ VSub_Pound '$#'))} arms: [ (case_arm pat_list:[{(0)}] spids:[2183 2184 2187 16777215]) (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: [16777215 2209] ) ] spids: [16777215 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: {(EmptyPart)} spids: [2231] ) ] spids: [2231] ) (AndOr ops: [Op_DAmp] 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] ) ] ) (AndOr ops: [Op_DPipe] 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] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] 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: [16777215 2292] ) ] else_action: [(C {(rm)} {(-f)} {(DQ ($ VSub_Name '$TMP_INDEX'))})] spids: [2319 2331] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DAmp Op_DAmp Op_DPipe] 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: F ) (C {(save_index)}) (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: F ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [2193 2194 2423 16777215] ) ] spids: [2174 2180 2426] ) ] spids: [2140 2141 2429 16777215] ) ] 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: [16777215 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)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')}) ] spids: [2484 2485 2520 16777215] ) (case_arm pat_list: [{(SQ )}] action: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(git)} {(update-index)} {(-q)} {(--refresh)}] more_env: [ (env_pair name: GIT_INDEX_FILE val: {(DQ ($ VSub_Name '$USE_INDEX'))} spids: [2527] ) ] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [16777215 2524 2545 16777215] ) ] spids: [2476 2482 2547] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(t)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$verify'))}) (C {(test)} {(-x)} {(DQ ($ VSub_Name '$GIT_DIR')) (/hooks/pre-commit)}) ] ) ] action: [ (AndOr ops: [Op_DPipe] 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] ) ] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [16777215 2580] ) ] spids: [16777215 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: [16777215 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 ops: [Op_DAmp] children: [ (C {(test)} {(-t)} {(0)}) (SimpleCommand words: [{(echo)} {(DQ ('(reading log message from standard input)'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [2679] ) ] ) ] ) (C {(cat)}) ] spids: [16777215 2665] ) ] else_action: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 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 ops: [Op_DPipe] children: [ (C {(git)} {(config)} {(i18n.commitencoding)}) (C {(echo)} {(UTF-8)}) ] ) ] ) 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: F ) ] 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: [16777215 2838] ) (SimpleCommand words: [{(git)} {(stripspace)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)} spids: [2846] ) ] ) ] negated: F ) (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: F ) ] ) 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: {(EmptyPart)} spids: [2888] ) ] spids: [2888] ) (AndOr ops: [Op_DPipe] 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: 16777215 arg_word: {(/dev/null)} spids: [2911] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:blank_before_signoff) op: Equal rhs: {(SQ <'\n'>)} spids: [2916] ) ] spids: [2916] ) ] ) (AndOr ops: [Op_DPipe] 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: 16777215 arg_word: {(/dev/null)} spids: [2943] ) ] ) ] negated: F ) (SimpleCommand words: [ {(printf)} {(SQ <'%s%s\\n'>)} {(DQ ($ VSub_Name '$blank_before_signoff'))} {(DQ ($ VSub_Name '$sign'))} ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)} spids: [2965] ) ] ) ] ) ] spids: [2861 2862 2972 16777215] ) ] spids: [2853 2859 2974] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(DQ ($ VSub_Name '$GIT_DIR') (/MERGE_HEAD))}) (C {(test)} {(-z)} {(DQ ($ VSub_Name '$no_edit'))}) ] ) 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: [16777215 2999] ) ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)} spids: [3051] ) ] spids: [16777215 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: [16777215 3075] ) ] spids: [16777215 3099] ) (If arms: [ (if_arm cond: [ (C {(test)} {(SQ )} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$force_author'))}) ] action: [ (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DPipe] 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] ) (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] ) (C {(test)} {(SQ )} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$GIT_AUTHOR_NAME'))} ) (C {(test)} {(SQ )} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$GIT_AUTHOR_EMAIL'))} ) (C {(die)} {(DQ ('malformed --author parameter'))}) ] ) (C {(export)} {(GIT_AUTHOR_NAME)} {(GIT_AUTHOR_EMAIL)}) ] spids: [16777215 3115] ) ] spids: [16777215 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: [16777215 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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [3290 3317] ) } spids: [3289] ) ] spids: [3289] ) ] spids: [3269 3280] ) ] spids: [16777215 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: [16777215 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:16777215 arg_word:{(2)} spids:[3361])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 3356] ) ] spids: [16777215 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 ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$only_include_assumed'))}) (C {(echo)} {(DQ ($ VSub_Name '$only_include_assumed'))}) ] ) (C {(run_status)}) ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)} spids: [3459] ) ] spids: [3414] ) ] spids: [16777215 3411] ) ] else_action: [ (SimpleCommand words: [{(run_status)}] redirects: [(Redir op_id:Redir_Great fd:16777215 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 16777215] ) (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)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [3538 3539 16777215 3568] ) ] spids: [3479 3489 3568] ) (Case to_match: {(DQ ($ VSub_Name '$no_edit'))} arms: [ (case_arm pat_list: [{(SQ )}] action: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(git)} {(var)} {(GIT_AUTHOR_IDENT)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [3590] ) ] ) (C {(die)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(git)} {(var)} {(GIT_COMMITTER_IDENT)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [3605] ) ] ) (C {(die)}) ] ) (C {(git_editor)} {(DQ ($ VSub_Name '$GIT_DIR') (/COMMIT_EDITMSG))}) ] spids: [16777215 3581 3622 16777215] ) ] 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 ops: [Op_DPipe] children: [ (C {(DQ ($ VSub_Name '$GIT_DIR')) (/hooks/commit-msg)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_EDITMSG)} ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [16777215 3651] ) ] spids: [16777215 3669] ) ] spids: [3635 3636 16777215 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: [16777215 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: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_MSG)} spids: [3724] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:have_commitmsg) op:Equal rhs:{(EmptyPart)} 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: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_BAREMSG)} spids: [3758] ) ] ) ] negated: F ) (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 ops: [Op_DAmp] 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: 16777215 arg_word: {(DQ ($ VSub_Name '$templatefile'))} spids: [3817] ) ] ) (C {(git)} {(stripspace)}) (C {(diff)} {(DQ ($ VSub_Name '$GIT_DIR')) (/COMMIT_BAREMSG) } {(-)} ) (C {(wc)} {(-l)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [3808 3848] ) } spids: [3807] ) ] spids: [3807] ) (C {(test)} {(0)} {(-lt)} {($ VSub_Name '$cnt')}) ] ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:have_commitmsg) op: Equal rhs: {(t)} spids: [3865] ) ] spids: [3865] ) ] spids: [16777215 3862] ) ] spids: [16777215 3869] ) ] spids: [16777215 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: [16777215 3780] ) ] spids: [16777215 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 ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp] 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: [16777215 3930] ) ] else_action: [ (AndOr ops: [Op_DAmp] 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'))}) ] ) ] spids: [3946 3973] ) (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: 16777215 arg_word: {(DQ ($ VSub_Name '$GIT_DIR') (/COMMIT_MSG))} spids: [3988] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [3979 3993] ) } spids: [3978] ) ] spids: [3978] ) (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] ) (C {(git)} {(update-ref)} {(-m)} {(DQ ($ VSub_Name '$GIT_REFLOG_ACTION') (': ') ($ VSub_Name '$rlogm'))} {(HEAD)} {($ VSub_Name '$commit')} {(DQ ($ VSub_Name '$current'))} ) (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: [16777215 4068] ) ] else_action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)] spids: [4082 4092] ) ] ) ] spids: [16777215 3916] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(DQ ('* no commit message? aborting commit.'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 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: [16777215 4178] ) ] spids: [16777215 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: [16777215 4201] ) ] spids: [16777215 4247] ) ] spids: [16777215 4156] ) ] spids: [16777215 4249] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(DQ ($ VSub_Name '$ret'))}) ] )