(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USAGE spids:[60]) op: Equal rhs: {(SQ <'<orig blob> <our blob> <their blob> <path>'>)} spids: [60] ) ] spids: [60] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USAGE spids:[65]) op: Equal rhs: {(DQ ($ VSub_Name '$USAGE') (' <orig mode> <our mode> <their mode>'))} spids: [65] ) ] spids: [65] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LONG_USAGE spids:[71]) op: Equal rhs: { (DQ ('usage: git merge-one-file ') ($ VSub_Name '$USAGE') ('\n') ('\n') ('Blob ids and modes should be empty for missing files.') ) } spids: [71] ) ] spids: [71] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SUBDIRECTORY_OK spids:[81]) op: Equal rhs: {(Yes)} spids: [81] ) ] spids: [81] ) (C {(.)} {(git-sh-setup)}) (C {(cd_to_toplevel)}) (C {(require_work_tree)}) (command.If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(7)})] action: [ (C {(echo)} {(DQ ($ VSub_Name '$LONG_USAGE'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 104] ) ] spids: [16777215 118] ) (command.Case to_match: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [124 128] ) (word_part.BracedVarSub token: <VSub_Number 2> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [129 133] ) (word_part.BracedVarSub token: <VSub_Number 3> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [134 138] ) ) } arms: [ (case_arm pat_list: [ {(DQ ($ VSub_Number '$1') (..))} {(DQ ($ VSub_Number '$1') (.) ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$1') ($ VSub_Number '$1') (.))} ] action: [ (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DPipe] children: [ (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Number '$6'))}) (C {(test)} {(DQ ($ VSub_Number '$5'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$7'))} ) ] ) terminator: <Op_Semi ';'> ) ] spids: [177] ) (command.BraceGroup children: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Number '$7'))}) (C {(test)} {(DQ ($ VSub_Number '$5'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$6'))} ) ] ) terminator: <Op_Semi ';'> ) ] spids: [208] ) ] ) ] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('ERROR: File ') ($ VSub_Number '$4') (' deleted on one branch but had its') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.SimpleCommand words: [{(echo)} {(DQ ('ERROR: permissions changed on the other.'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 237] ) ] spids: [16777215 267] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Number '$2'))})] action: [(C {(echo)} {(DQ ('Removing ') ($ VSub_Number '$4'))})] spids: [16777215 282] ) ] else_action: [ (C {(exec)} {(git)} {(update-index)} {(--remove)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] spids: [293 331] ) (command.AndOr ops: [Op_DAmp] children: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Number '$4'))})] action: [ (command.AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(rm)} {(-f)} {(--)} {(DQ ($ VSub_Number '$4'))}) (command.SimpleCommand words: [ {(rmdir)} {(-p)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(expr)} {(DQ (z) ($ VSub_Number '$4'))} {(Lit_Other ':')} {(SQ <'z\\(.*\\)/'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [366 379] ) ) } ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(Lit_Other ':')}) ] ) ] spids: [16777215 345] ) ] spids: [16777215 390] ) (C {(exec)} {(git)} {(update-index)} {(--remove)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] ) ] spids: [152 172 410 16777215] ) (case_arm pat_list: [{(DQ (.) ($ VSub_Number '$2') (.))}] action: [ (C {(exec)} {(git)} {(update-index)} {(--add)} {(--cacheinfo)} {(DQ ($ VSub_Number '$6'))} {(DQ ($ VSub_Number '$2'))} {(DQ ($ VSub_Number '$4'))} ) ] spids: [422 427 461 16777215] ) (case_arm pat_list: [{(DQ (..) ($ VSub_Number '$3'))}] action: [ (C {(echo)} {(DQ ('Adding ') ($ VSub_Number '$4'))}) (command.If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Number '$4'))})] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('ERROR: untracked ') ($ VSub_Number '$4') (' is overwritten by the merge.') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 489] ) ] spids: [16777215 509] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(git)} {(update-index)} {(--add)} {(--cacheinfo)} {(DQ ($ VSub_Number '$7'))} {(DQ ($ VSub_Number '$3'))} {(DQ ($ VSub_Number '$4'))} ) (C {(exec)} {(git)} {(checkout-index)} {(-u)} {(-f)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] ) ] spids: [463 467 552 16777215] ) (case_arm pat_list: [{(DQ (.) ($ VSub_Number '$3') ($ VSub_Number '$2'))}] action: [ (command.If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Number '$6'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$7'))} ) ] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('ERROR: File ') ($ VSub_Number '$4') (' added identically in both branches,') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.SimpleCommand words: [ {(echo)} { (DQ ('ERROR: but permissions conflict ') ($ VSub_Number '$6') ('->') ($ VSub_Number '$7') (.) ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 588] ) ] spids: [16777215 622] ) (C {(echo)} {(DQ ('Adding ') ($ VSub_Number '$4'))}) (command.AndOr ops: [Op_DAmp] children: [ (C {(git)} {(update-index)} {(--add)} {(--cacheinfo)} {(DQ ($ VSub_Number '$6'))} {(DQ ($ VSub_Number '$2'))} {(DQ ($ VSub_Number '$4'))} ) (C {(exec)} {(git)} {(checkout-index)} {(-u)} {(-f)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] ) ] spids: [564 569 673 16777215] ) (case_arm pat_list: [ {(DQ ($ VSub_Number '$1') ($ VSub_Number '$2') ($ VSub_Number '$3'))} {(DQ (.) ($ VSub_Number '$2') ($ VSub_Number '$3'))} ] action: [ (command.Case to_match: {(DQ (',') ($ VSub_Number '$6') (',') ($ VSub_Number '$7') (','))} arms: [ (case_arm pat_list: [ {(Lit_Other '*') (Lit_Comma ',') (120000) (Lit_Comma ',') (Lit_Other '*')} ] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('ERROR: ') ($ VSub_Number '$4') (': Not merging symbolic link changes.')) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [715 720 740 16777215] ) (case_arm pat_list: [ {(Lit_Other '*') (Lit_Comma ',') (160000) (Lit_Comma ',') (Lit_Other '*')} ] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('ERROR: ') ($ VSub_Number '$4') (': Not merging conflicting submodule changes.') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [743 748 768 16777215] ) ] spids: [702 712 771] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:src1 spids:[775]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$2')})] ) left_token: <Left_CommandSub '$('> spids: [776 780] ) } spids: [775] ) ] spids: [775] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:src2 spids:[783]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$3')})] ) left_token: <Left_CommandSub '$('> spids: [784 788] ) } spids: [783] ) ] spids: [783] ) (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(SQ )}] action: [ (C {(echo)} {(DQ ('Added ') ($ VSub_Number '$4') (' in both, but differently.'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:orig spids:[814]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git-unpack-file)} {(e69de29bb2d1d6434b8b29ae775ad8c2e48c5391)} ) ] ) left_token: <Left_CommandSub '$('> spids: [815 819] ) } spids: [814] ) ] spids: [814] ) ] spids: [800 802 822 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(echo)} {(DQ ('Auto-merging ') ($ VSub_Number '$4'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:orig spids:[837]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$1')})] ) left_token: <Left_CommandSub '$('> spids: [838 842] ) } spids: [837] ) ] spids: [837] ) ] spids: [825 826 845 16777215] ) ] spids: [791 797 848] ) (C {(git)} {(merge-file)} {(DQ ($ VSub_Name '$src1'))} {(DQ ($ VSub_Name '$orig'))} {(DQ ($ VSub_Name '$src2'))} ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ret spids:[869]) op: Equal rhs: {($ VSub_QMark '$?')} spids: [869] ) ] spids: [869] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msg spids:[873]) op: Equal rhs: (word.EmptyWord) spids: [873] ) ] spids: [873] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Name '$ret')} {(KW_Bang '!') (Lit_Other '=')} {(0)}) (C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))}) ] ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msg spids:[901]) op: Equal rhs: {(SQ <'content conflict'>)} spids: [901] ) ] spids: [901] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ret spids:[907]) op: Equal rhs: {(1)} spids: [907] ) ] spids: [907] ) ] spids: [16777215 898] ) ] spids: [16777215 911] ) (command.AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(git)} {(checkout-index)} {(-f)} {(--stage) (Lit_Other '=') (2)} {(--)} {(DQ ($ VSub_Number '$4'))} ) (command.SimpleCommand words: [{(cat)} {(DQ ($ VSub_Name '$src1'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Number '$4'))} ) ] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (C {(rm)} {(-f)} {(--)} {(DQ ($ VSub_Name '$orig'))} {(DQ ($ VSub_Name '$src1'))} {(DQ ($ VSub_Name '$src2'))} ) (command.If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Number '$6'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$7'))} ) ] action: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$msg'))})] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msg spids:[1012]) op: Equal rhs: {(DQ ($ VSub_Name '$msg') (', '))} spids: [1012] ) ] spids: [1012] ) ] spids: [16777215 1009] ) ] spids: [16777215 1019] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msg spids:[1022]) op: Equal rhs: { (DQ (${ VSub_Name msg) ('permissions conflict: ') ($ VSub_Number '$5') ('->') ($ VSub_Number '$6') (',') ($ VSub_Number '$7') ) } spids: [1022] ) ] spids: [1022] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ret spids:[1036]) op: Equal rhs: {(1)} spids: [1036] ) ] spids: [1036] ) ] spids: [16777215 995] ) ] spids: [16777215 1040] ) (command.If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Name '$ret')} {(KW_Bang '!') (Lit_Other '=')} {(0)})] action: [ (command.SimpleCommand words: [ {(echo)} {(DQ ('ERROR: ') ($ VSub_Name '$msg') (' in ') ($ VSub_Number '$4'))} ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 1056] ) ] spids: [16777215 1077] ) (C {(exec)} {(git)} {(update-index)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] spids: [685 698 1093 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('ERROR: ') ($ VSub_Number '$4') (': Not handling case ') ($ VSub_Number '$1') (' -> ') ($ VSub_Number '$2') (' -> ') ($ VSub_Number '$3') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] spids: [1096 1097 1117 16777215] ) ] spids: [121 141 1119] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] )