(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USAGE) op: Equal rhs: {(SQ <'<orig blob> <our blob> <their blob> <path>'>)} spids: [52] ) ] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USAGE) op: Equal rhs: {(DQ ($ VSub_Name '$USAGE') (' <orig mode> <our mode> <their mode>'))} spids: [57] ) ] spids: [57] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LONG_USAGE) 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: [63] ) ] spids: [63] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:SUBDIRECTORY_OK) op:Equal rhs:{(Yes)} spids:[73])] spids: [73] ) (C {(.)} {(git-sh-setup)}) (C {(cd_to_toplevel)}) (C {(require_work_tree)}) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(7)})] action: [(C {(echo)} {(DQ ($ VSub_Name '$LONG_USAGE'))}) (C {(exit)} {(1)})] spids: [-1 96] ) ] spids: [-1 110] ) (Case to_match: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [116 120] ) (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [121 125] ) (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [126 130] ) ) } arms: [ (case_arm pat_list: [ {(DQ ($ VSub_Number '$1') (..))} {(DQ ($ VSub_Number '$1') (.) ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$1') ($ VSub_Number '$1') (.))} ] action: [ (If arms: [ (if_arm cond: [ (AndOr children: [ (BraceGroup children: [ (Sentence child: (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Number '$6'))}) (C {(test)} {(DQ ($ VSub_Number '$5'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$7'))} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] spids: [169] ) (BraceGroup children: [ (Sentence child: (AndOr children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Number '$7'))}) (C {(test)} {(DQ ($ VSub_Number '$5'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$6'))} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] spids: [200] ) ] op_id: Op_DPipe ) ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ('ERROR: File ') ($ VSub_Number '$4') (' deleted on one branch but had its') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[240])] ) (SimpleCommand words: [{(echo)} {(DQ ('ERROR: permissions changed on the other.'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[250])] ) (C {(exit)} {(1)}) ] spids: [-1 229] ) ] spids: [-1 259] ) (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Number '$2'))})] action: [(C {(echo)} {(DQ ('Removing ') ($ VSub_Number '$4'))})] spids: [-1 274] ) ] else_action: [ (C {(exec)} {(git)} {(update-index)} {(--remove)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] spids: [285 323] ) (AndOr children: [ (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Number '$4'))})] action: [ (AndOr children: [ (C {(rm)} {(-f)} {(--)} {(DQ ($ VSub_Number '$4'))}) (AndOr children: [ (SimpleCommand words: [ {(rmdir)} {(-p)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(DQ (z) ($ VSub_Number '$4'))} {(Lit_Other ':')} {(SQ <'z\\(.*\\)/'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [358 371] ) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [374] ) ] ) (C {(Lit_Other ':')}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] spids: [-1 337] ) ] spids: [-1 382] ) (C {(exec)} {(git)} {(update-index)} {(--remove)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] op_id: Op_DAmp ) ] spids: [145 164 402 -1] ) (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: [415 419 453 -1] ) (case_arm pat_list: [{(DQ (..) ($ VSub_Number '$3'))}] action: [ (C {(echo)} {(DQ ('Adding ') ($ VSub_Number '$4'))}) (If arms: [ (if_arm cond: [(C {(test)} {(-f)} {(DQ ($ VSub_Number '$4'))})] action: [ (SimpleCommand words: [ {(echo)} { (DQ ('ERROR: untracked ') ($ VSub_Number '$4') (' is overwritten by the merge.') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[492])] ) (C {(exit)} {(1)}) ] spids: [-1 481] ) ] spids: [-1 501] ) (AndOr 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'))}) ] op_id: Op_DAmp ) ] spids: [456 459 544 -1] ) (case_arm pat_list: [{(DQ (.) ($ VSub_Number '$3') ($ VSub_Number '$2'))}] action: [ (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Number '$6'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$7'))} ) ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ('ERROR: File ') ($ VSub_Number '$4') (' added identically in both branches,') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[591])] ) (SimpleCommand words: [ {(echo)} { (DQ ('ERROR: but permissions conflict ') ($ VSub_Number '$6') ('->') ($ VSub_Number '$7') (.) ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[605])] ) (C {(exit)} {(1)}) ] spids: [-1 580] ) ] spids: [-1 614] ) (C {(echo)} {(DQ ('Adding ') ($ VSub_Number '$4'))}) (AndOr 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'))}) ] op_id: Op_DAmp ) ] spids: [557 561 665 -1] ) (case_arm pat_list: [ {(DQ ($ VSub_Number '$1') ($ VSub_Number '$2') ($ VSub_Number '$3'))} {(DQ (.) ($ VSub_Number '$2') ($ VSub_Number '$3'))} ] action: [ (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: [ (SimpleCommand words: [ {(echo)} { (DQ ('ERROR: ') ($ VSub_Number '$4') (': Not merging symbolic link changes.')) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[723])] ) (C {(exit)} {(1)}) ] spids: [707 712 732 -1] ) (case_arm pat_list: [ {(Lit_Other '*') (Lit_Comma ',') (160000) (Lit_Comma ',') (Lit_Other '*')} ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ('ERROR: ') ($ VSub_Number '$4') (': Not merging conflicting submodule changes.') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[751])] ) (C {(exit)} {(1)}) ] spids: [735 740 760 -1] ) ] spids: [694 704 763] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:src1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$2')})] ) left_token: <Left_CommandSub '$('> spids: [768 772] ) } spids: [767] ) ] spids: [767] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:src2) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$3')})] ) left_token: <Left_CommandSub '$('> spids: [776 780] ) } spids: [775] ) ] spids: [775] ) (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.'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(git-unpack-file)} {(e69de29bb2d1d6434b8b29ae775ad8c2e48c5391)} ) ] ) left_token: <Left_CommandSub '$('> spids: [807 811] ) } spids: [806] ) ] spids: [806] ) ] spids: [-1 794 814 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(echo)} {(DQ ('Auto-merging ') ($ VSub_Number '$4'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:orig) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git-unpack-file)} {($ VSub_Number '$1')})] ) left_token: <Left_CommandSub '$('> spids: [830 834] ) } spids: [829] ) ] spids: [829] ) ] spids: [817 818 837 -1] ) ] spids: [783 789 840] ) (C {(git)} {(merge-file)} {(DQ ($ VSub_Name '$src1'))} {(DQ ($ VSub_Name '$orig'))} {(DQ ($ VSub_Name '$src2'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ret) op: Equal rhs: {($ VSub_QMark '$?')} spids: [861] ) ] spids: [861] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:msg) op:Equal rhs:{(SQ )} spids:[865])] spids: [865] ) (If arms: [ (if_arm cond: [ (AndOr children: [ (C {(test)} {($ VSub_Name '$ret')} {(KW_Bang '!') (Lit_Other '=')} {(0)}) (C {(test)} {(-z)} {(DQ ($ VSub_Number '$1'))}) ] op_id: Op_DPipe ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: {(SQ <'content conflict'>)} spids: [893] ) ] spids: [893] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(1)} spids:[899])] spids: [899] ) ] spids: [-1 890] ) ] spids: [-1 903] ) (AndOr children: [ (C {(git)} {(checkout-index)} {(-f)} {(--stage) (Lit_Other '=') (2)} {(--)} {(DQ ($ VSub_Number '$4'))} ) (AndOr children: [ (SimpleCommand words: [{(cat)} {(DQ ($ VSub_Name '$src1'))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Number '$4'))} spids: [939] ) ] ) (C {(exit)} {(1)}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (C {(rm)} {(-f)} {(--)} {(DQ ($ VSub_Name '$orig'))} {(DQ ($ VSub_Name '$src1'))} {(DQ ($ VSub_Name '$src2'))} ) (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Number '$6'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$7'))} ) ] action: [ (If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name '$msg'))})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: {(DQ ($ VSub_Name '$msg') (', '))} spids: [1004] ) ] spids: [1004] ) ] spids: [-1 1001] ) ] spids: [-1 1011] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (DQ (${ VSub_Name msg) ('permissions conflict: ') ($ VSub_Number '$5') ('->') ($ VSub_Number '$6') (',') ($ VSub_Number '$7') ) } spids: [1014] ) ] spids: [1014] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(1)} spids:[1028])] spids: [1028] ) ] spids: [-1 987] ) ] spids: [-1 1032] ) (If arms: [ (if_arm cond: [(C {(test)} {($ VSub_Name '$ret')} {(KW_Bang '!') (Lit_Other '=')} {(0)})] action: [ (SimpleCommand words: [ {(echo)} {(DQ ('ERROR: ') ($ VSub_Name '$msg') (' in ') ($ VSub_Number '$4'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1060])] ) (C {(exit)} {(1)}) ] spids: [-1 1048] ) ] spids: [-1 1069] ) (C {(exec)} {(git)} {(update-index)} {(--)} {(DQ ($ VSub_Number '$4'))}) ] spids: [678 690 1085 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(echo)} { (DQ ('ERROR: ') ($ VSub_Number '$4') (': Not handling case ') ($ VSub_Number '$1') (' -> ') ($ VSub_Number '$2') (' -> ') ($ VSub_Number '$3') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1105])] ) ] spids: [1088 1089 1109 -1] ) ] spids: [113 133 1111] ) (C {(exit)} {(1)}) ] )