(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"test GIT_CEILING_DIRECTORIES">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (FuncDef name: test_prefix body: (BraceGroup children: [ (C {(test_expect_success)} {(DQ ($ VSub_Number "$1"))} { (DQ ("test '") ($ VSub_Number "$2") ("' = ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("(git rev-parse --show-prefix)") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ) } ) ] spids: [18] ) spids: [14 17] ) (FuncDef name: test_fail body: (BraceGroup children: [ (C {(test_expect_success)} {(DQ ($ VSub_Number "$1") (": prefix"))} {(SQ <"\n"> <"\t\ttest_expect_code 128 git rev-parse --show-prefix\n"> <"\t">)} ) ] spids: [46] ) spids: [42 45] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TRASH_ROOT) op: Equal rhs: {(DQ ($ VSub_Name "$PWD"))} spids: [65] ) ] spids: [65] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ROOT_PARENT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ ($ VSub_Name "$TRASH_ROOT"))})] ) left_token: <Left_CommandSub "$("> spids: [71 77] ) } spids: [70] ) ] spids: [70] ) (C {(unset)} {(GIT_CEILING_DIRECTORIES)}) (C {(test_prefix)} {(no_ceil)} {(DQ )}) (C {(export)} {(GIT_CEILING_DIRECTORIES)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ )} spids: [98] ) ] spids: [98] ) (C {(test_prefix)} {(ceil_empty)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$ROOT_PARENT"))} spids: [110] ) ] spids: [110] ) (C {(test_prefix)} {(ceil_at_parent)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$ROOT_PARENT") (/))} spids: [123] ) ] spids: [123] ) (C {(test_prefix)} {(ceil_at_parent_slash)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT"))} spids: [137] ) ] spids: [137] ) (C {(test_prefix)} {(ceil_at_trash)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/))} spids: [150] ) ] spids: [150] ) (C {(test_prefix)} {(ceil_at_trash_slash)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub))} spids: [164] ) ] spids: [164] ) (C {(test_prefix)} {(ceil_at_sub)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/))} spids: [178] ) ] spids: [178] ) (C {(test_prefix)} {(ceil_at_sub_slash)} {(DQ )}) (If arms: [ (if_arm cond: [(C {(test_have_prereq)} {(SYMLINKS)})] action: [(C {(ln)} {(-s)} {(sub)} {(top)})] spids: [-1 198] ) ] spids: [-1 209] ) (AndOr children:[(C {(mkdir)} {(-p)} {(sub/dir)})(C {(exit)} {(1)})] op_id:Op_DPipe) (AndOr children:[(C {(cd)} {(sub/dir)})(C {(exit)} {(1)})] op_id:Op_DPipe) (C {(unset)} {(GIT_CEILING_DIRECTORIES)}) (C {(test_prefix)} {(subdir_no_ceil)} {(DQ (sub/dir/))}) (C {(export)} {(GIT_CEILING_DIRECTORIES)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ )} spids: [253] ) ] spids: [253] ) (C {(test_prefix)} {(subdir_ceil_empty)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT"))} spids: [266] ) ] spids: [266] ) (C {(test_fail)} {(subdir_ceil_at_trash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/))} spids: [276] ) ] spids: [276] ) (C {(test_fail)} {(subdir_ceil_at_trash_slash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub))} spids: [287] ) ] spids: [287] ) (C {(test_fail)} {(subdir_ceil_at_sub)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/))} spids: [298] ) ] spids: [298] ) (C {(test_fail)} {(subdir_ceil_at_sub_slash)}) (If arms: [ (if_arm cond: [(C {(test_have_prereq)} {(SYMLINKS)})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/top))} spids: [318] ) ] spids: [318] ) (C {(test_fail)} {(subdir_ceil_at_top)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/top/))} spids: [330] ) ] spids: [330] ) (C {(test_fail)} {(subdir_ceil_at_top_slash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ (":") ($ VSub_Name "$TRASH_ROOT") (/top))} spids: [343] ) ] spids: [343] ) (C {(test_prefix)} {(subdir_ceil_at_top_no_resolve)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ (":") ($ VSub_Name "$TRASH_ROOT") (/top/))} spids: [360] ) ] spids: [360] ) (C {(test_prefix)} {(subdir_ceil_at_top_slash_no_resolve)} {(DQ (sub/dir/))}) ] spids: [-1 315] ) ] spids: [-1 376] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/dir))} spids: [379] ) ] spids: [379] ) (C {(test_prefix)} {(subdir_ceil_at_subdir)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/dir/))} spids: [394] ) ] spids: [394] ) (C {(test_prefix)} {(subdir_ceil_at_subdir_slash)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/su))} spids: [410] ) ] spids: [410] ) (C {(test_prefix)} {(subdir_ceil_at_su)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/su/))} spids: [425] ) ] spids: [425] ) (C {(test_prefix)} {(subdir_ceil_at_su_slash)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/di))} spids: [440] ) ] spids: [440] ) (C {(test_prefix)} {(subdir_ceil_at_sub_di)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub/di))} spids: [455] ) ] spids: [455] ) (C {(test_prefix)} {(subdir_ceil_at_sub_di_slash)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/subdi))} spids: [470] ) ] spids: [470] ) (C {(test_prefix)} {(subdir_ceil_at_subdi)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/subdi))} spids: [485] ) ] spids: [485] ) (C {(test_prefix)} {(subdir_ceil_at_subdi_slash)} {(DQ (sub/dir/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ("/foo:") ($ VSub_Name "$TRASH_ROOT") (/sub))} spids: [501] ) ] spids: [501] ) (C {(test_fail)} {(second_of_two)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") ("/sub:/bar"))} spids: [513] ) ] spids: [513] ) (C {(test_fail)} {(first_of_two)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ("/foo:") ($ VSub_Name "$TRASH_ROOT") ("/sub:/bar"))} spids: [524] ) ] spids: [524] ) (C {(test_fail)} {(second_of_three)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sub))} spids: [537] ) ] spids: [537] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:GIT_DIR) op:Equal rhs:{(../../.git)} spids:[543])] spids: [543] ) (C {(export)} {(GIT_DIR)}) (C {(test_prefix)} {(git_dir_specified)} {(DQ )}) (C {(unset)} {(GIT_DIR)}) (AndOr children:[(C {(cd)} {(../..)})(C {(exit)} {(1)})] op_id:Op_DPipe) (AndOr children:[(C {(mkdir)} {(-p)} {(s/d)})(C {(exit)} {(1)})] op_id:Op_DPipe) (AndOr children:[(C {(cd)} {(s/d)})(C {(exit)} {(1)})] op_id:Op_DPipe) (C {(unset)} {(GIT_CEILING_DIRECTORIES)}) (C {(test_prefix)} {(sd_no_ceil)} {(DQ (s/d/))}) (C {(export)} {(GIT_CEILING_DIRECTORIES)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ )} spids: [614] ) ] spids: [614] ) (C {(test_prefix)} {(sd_ceil_empty)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT"))} spids: [627] ) ] spids: [627] ) (C {(test_fail)} {(sd_ceil_at_trash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/))} spids: [637] ) ] spids: [637] ) (C {(test_fail)} {(sd_ceil_at_trash_slash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s))} spids: [648] ) ] spids: [648] ) (C {(test_fail)} {(sd_ceil_at_s)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/))} spids: [659] ) ] spids: [659] ) (C {(test_fail)} {(sd_ceil_at_s_slash)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/d))} spids: [670] ) ] spids: [670] ) (C {(test_prefix)} {(sd_ceil_at_sd)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/d/))} spids: [685] ) ] spids: [685] ) (C {(test_prefix)} {(sd_ceil_at_sd_slash)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/su))} spids: [701] ) ] spids: [701] ) (C {(test_prefix)} {(sd_ceil_at_su)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/su/))} spids: [716] ) ] spids: [716] ) (C {(test_prefix)} {(sd_ceil_at_su_slash)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/di))} spids: [731] ) ] spids: [731] ) (C {(test_prefix)} {(sd_ceil_at_s_di)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/s/di))} spids: [746] ) ] spids: [746] ) (C {(test_prefix)} {(sd_ceil_at_s_di_slash)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sdi))} spids: [761] ) ] spids: [761] ) (C {(test_prefix)} {(sd_ceil_at_sdi)} {(DQ (s/d/))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GIT_CEILING_DIRECTORIES) op: Equal rhs: {(DQ ($ VSub_Name "$TRASH_ROOT") (/sdi))} spids: [776] ) ] spids: [776] ) (C {(test_prefix)} {(sd_ceil_at_sdi_slash)} {(DQ (s/d/))}) (C {(test_done)}) ] )