(command.CommandList children: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USAGE) op: Equal rhs: {(SQ <'<orig blob> <our blob> <their blob> <path>'>)} ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:USAGE) op: Equal rhs: {(DQ ($ VSub_DollarName '$USAGE') (' <orig mode> <our mode> <their mode>'))} ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LONG_USAGE) op: Equal rhs: { (DQ ('usage: git merge-one-file ') ($ VSub_DollarName '$USAGE') ('\n') ('\n') ('Blob ids and modes should be empty for missing files.') ) } ) ] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(Yes)})] ) (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_DollarName '$LONG_USAGE'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (command.Case to_match: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(.)}) ) (word_part.BracedVarSub token: <VSub_Number 2> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(.)}) ) (word_part.BracedVarSub token: <VSub_Number 3> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(.)}) ) ) } 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 ';'> ) ] ) (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 ';'> ) ] ) ] ) ] action: [ (command.Simple 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.Simple 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)} ) ] ) ] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Number '$2'))})] action: [(C {(echo)} {(DQ ('Removing ') ($ VSub_Number '$4'))})] ) ] else_action: [ (C {(exec)} {(git)} {(update-index)} {(--remove)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] ) (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.Simple words: [ {(rmdir)} {(-p)} { (DQ (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(expr)} {(DQ (z) ($ VSub_Number '$4'))} {(Lit_Other ':')} {(SQ <'z\\(.*\\)/'>)} ) ] ) ) ) } ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(Lit_Other ':')}) ] ) ] ) ] ) (C {(exec)} {(git)} {(update-index)} {(--remove)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] ) ] ) (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'))} ) ] ) (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.Simple 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)} ) ] ) ] ) (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'))}) ] ) ] ) (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.Simple 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.Simple 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)} ) ] ) ] ) (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'))}) ] ) ] ) (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_Star '*') (Lit_Comma ',') (120000) (Lit_Comma ',') (Lit_Star '*')}] action: [ (command.Simple 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)} ) ] ) (case_arm pat_list: [{(Lit_Star '*') (Lit_Comma ',') (160000) (Lit_Comma ',') (Lit_Star '*')}] action: [ (command.Simple 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)} ) ] ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:src1) op: Equal rhs: { (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$2')})] ) ) } ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:src2) op: Equal rhs: { (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$3')})] ) ) } ) ] ) (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 pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:orig) op: Equal rhs: { (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(git-unpack-file)} {(e69de29bb2d1d6434b8b29ae775ad8c2e48c5391)} ) ] ) ) } ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (C {(echo)} {(DQ ('Auto-merging ') ($ VSub_Number '$4'))}) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:orig) op: Equal rhs: { (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$1')})] ) ) } ) ] ) ] ) ] ) (C {(git)} {(merge-file)} {(DQ ($ VSub_DollarName '$src1'))} {(DQ ($ VSub_DollarName '$orig'))} {(DQ ($ VSub_DollarName '$src2'))} ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:ret) op:Equal rhs:{($ VSub_QMark '$?')})] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:msg) op:Equal rhs:(word.Empty))] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_DollarName '$ret')} {(KW_Bang '!') (Lit_Other '=')} {(0)}) (C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))}) ] ) ] action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msg) op: Equal rhs: {(SQ <'content conflict'>)} ) ] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:ret) op:Equal rhs:{(1)})] ) ] ) ] ) (command.AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(git)} {(checkout-index)} {(-f)} {(--stage) (Lit_Other '=') (2)} {(--)} {(DQ ($ VSub_Number '$4'))} ) (command.Simple words: [{(cat)} {(DQ ($ VSub_DollarName '$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_DollarName '$orig'))} {(DQ ($ VSub_DollarName '$src1'))} {(DQ ($ VSub_DollarName '$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_DollarName '$msg'))})] action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msg) op: Equal rhs: {(DQ ($ VSub_DollarName '$msg') (', '))} ) ] ) ] ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:msg) op: Equal rhs: { (DQ (${ VSub_Name msg) ('permissions conflict: ') ($ VSub_Number '$5') ('->') ($ VSub_Number '$6') (',') ($ VSub_Number '$7') ) } ) ] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:ret) op:Equal rhs:{(1)})] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (C {(test)} {($ VSub_DollarName '$ret')} {(KW_Bang '!') (Lit_Other '=')} {(0)}) ] action: [ (command.Simple words: [ {(echo)} {(DQ ('ERROR: ') ($ VSub_DollarName '$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)} ) ] ) ] ) (C {(exec)} {(git)} {(update-index)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (command.Simple 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)})] ) ] ) ] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] )