(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (= scope= flags=0 words=[] bindings=[('Z', {[VarSub _z40]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS setup]} {[SQ ]} ) (= scope= flags=0 words=[] bindings=[('m', {[LIT_CHARS refs/heads/master]})]) (= scope= flags=0 words=[] bindings=[('n_dir', {[LIT_CHARS refs/heads/gu]})]) (= scope= flags=0 words=[] bindings=[('n', {[VarSub n_dir] [LIT_CHARS /fixes]})]) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "create "][VarSub m]]} {[DQ [LIT_CHARS "git update-ref "][VarSub m][LIT_CHARS " "][VarSub A][LIT_CHARS " &&\n"][LIT_CHARS "\t test "][VarSub A]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "create "][VarSub m]]} {[DQ [LIT_CHARS "git update-ref "][VarSub m][LIT_CHARS " "][VarSub B][LIT_CHARS " "][VarSub A][LIT_CHARS " &&\n"][LIT_CHARS "\t test "][VarSub B]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "fail to delete "][VarSub m][LIT_CHARS " with stale ref"]]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "delete "][VarSub m]]} {[SQ ]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .git/] [VarSub m]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "delete "][VarSub m][LIT_CHARS " without oldvalue verification"]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\tgit update-ref "][VarSub m][LIT_CHARS " "][VarSub A][LIT_CHARS " &&\n"][LIT_CHARS "\ttest "][VarSub A][LIT_CHARS " = "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(cat .git/"][VarSub m][LIT_CHARS ") &&\n"][LIT_CHARS "\tgit update-ref -d "][VarSub m][LIT_CHARS " &&\n"][LIT_CHARS "\t! test -f .git/"][VarSub m][LIT_CHARS "\n"]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .git/] [VarSub m]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "fail to create "][VarSub n]]} {[DQ [LIT_CHARS "touch .git/"][VarSub n_dir][LIT_CHARS " &&\n"][LIT_CHARS "\t test_must_fail git update-ref "][VarSub n][LIT_CHARS " "][VarSub A][LIT_CHARS " >out 2>err"]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .git/] [VarSub n_dir]} {[LIT_CHARS out]} {[LIT_CHARS err]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "create "][VarSub m][LIT_CHARS " (by HEAD)"]]} {[DQ [LIT_CHARS "git update-ref HEAD "][VarSub A][LIT_CHARS " &&\n"][LIT_CHARS "\t test "][VarSub A]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "create "][VarSub m][LIT_CHARS " (by HEAD)"]]} {[DQ [LIT_CHARS "git update-ref HEAD "][VarSub B][LIT_CHARS " "][VarSub A][LIT_CHARS " &&\n"][LIT_CHARS "\t test "][VarSub B]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "fail to delete "][VarSub m][LIT_CHARS " (by HEAD) with stale ref"]]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "delete "][VarSub m][LIT_CHARS " (by HEAD)"]]} {[SQ ]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .git/] [VarSub m]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -f]} {[LIT_CHARS .git/HEAD]} {[LIT_CHARS .git/HEAD.orig]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "delete symref without dereference"]]} {[SQ ]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -f]} {[LIT_CHARS .git/HEAD.orig]} {[LIT_CHARS .git/HEAD]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "delete symref without dereference when the referred ref is packed"]]} {[SQ foo.c &&\n"> ]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -f]} {[LIT_CHARS .git/HEAD.orig]} {[LIT_CHARS .git/HEAD]} ) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[LIT_CHARS -d]} {[VarSub m]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\ttest_must_fail git update-ref HEAD "][VarSub A][LIT_CHARS " "][VarSub B][LIT_CHARS "\n"]]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "(not) prior created .git/"][VarSub m]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t! test -f .git/"][VarSub m][LIT_CHARS "\n"]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .git/] [VarSub m]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "create HEAD"]]} {[DQ [LIT_CHARS "git update-ref HEAD "][VarSub A]]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\ttest_must_fail git update-ref HEAD "][VarSub B][LIT_CHARS " "][VarSub Z][LIT_CHARS "\n"]]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "(not) changed .git/"][VarSub m]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t! test "][VarSub B]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .git/] [VarSub m]} ) (Com {[LIT_OTHER ":"]} {[LIT_CHARS a]} {[LIT_CHARS repository]} {[LIT_CHARS with]} {[LIT_CHARS working]} {[LIT_CHARS tree]} {[LIT_CHARS always]} {[LIT_CHARS has]} {[LIT_CHARS reflog]} {[LIT_CHARS these]} {[LIT_CHARS days...]} ) (Com {[LIT_OTHER ":"]} < (FilenameRedirectNode filename={[LIT_CHARS .git/logs/refs/heads/master]} "> 1), > ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "create "][VarSub m][LIT_CHARS " (logged by touch)"]]} {[SQ ] [DQ [VarSub A]] [SQ ] [DQ [VarSub A]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "update "][VarSub m][LIT_CHARS " (logged by touch)"]]} {[SQ ] [DQ [LIT_CHARS " "][VarSub B][LIT_CHARS " "][VarSub A][LIT_CHARS " "]] [SQ ] [DQ [VarSub B]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "set "][VarSub m][LIT_CHARS " (logged by touch)"]]} {[SQ ] [DQ [LIT_CHARS " "][VarSub A][LIT_CHARS " &&\n"][LIT_CHARS "\t test "][VarSub A]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub Z][LIT_CHARS " "][VarSub A][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150200 +0000\tInitial Creation\n"][VarSub A][LIT_CHARS " "][VarSub B][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150260 +0000\tSwitch\n"][VarSub B][LIT_CHARS " "][VarSub A][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150860 +0000\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "verifying "][VarSub m][LIT_CHARS "'s log"]]} {[DQ [LIT_CHARS "test_cmp expect .git/logs/"][VarSub m]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS .git/] [VarSub m]} {[LIT_CHARS .git/logs]} {[LIT_CHARS expect]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "create "][VarSub m][LIT_CHARS " (logged by config)"]]} {[SQ ] [DQ [LIT_CHARS " "][VarSub A][LIT_CHARS " "]] [SQ ] [DQ [VarSub A]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "update "][VarSub m][LIT_CHARS " (logged by config)"]]} {[SQ ] [DQ [LIT_CHARS " "][VarSub B][LIT_CHARS " "][VarSub A][LIT_CHARS " "]] [SQ ] [DQ [VarSub B]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "set "][VarSub m][LIT_CHARS " (logged by config)"]]} {[SQ ] [DQ [VarSub A][LIT_CHARS " &&\n"][LIT_CHARS "\t test "][VarSub A]] [SQ ] [DQ [VarSub m]] [SQ ]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub Z][LIT_CHARS " "][VarSub A][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150320 +0000\tInitial Creation\n"][VarSub A][LIT_CHARS " "][VarSub B][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150380 +0000\tSwitch\n"][VarSub B][LIT_CHARS " "][VarSub A][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150980 +0000\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "verifying "][VarSub m][LIT_CHARS "'s log"]]} {[SQ ]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .git/] [VarSub m]} {[LIT_CHARS .git/logs/] [VarSub m]} {[LIT_CHARS expect]} ) (Com {[LIT_CHARS git]} {[LIT_CHARS update-ref]} {[VarSub m]} {[VarSub D]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS .git/logs/] [VarSub m]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "0000000000000000000000000000000000000000 "][VarSub C][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150320 -0500\n"][VarSub C][LIT_CHARS " "][VarSub A][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150350 -0500\n"][VarSub A][LIT_CHARS " "][VarSub B][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150380 -0500\n"][VarSub F][LIT_CHARS " "][VarSub Z][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150680 -0500\n"][VarSub Z][LIT_CHARS " "][VarSub E][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150980 -0500\n"]]} 0), > ) (= scope= flags=0 words=[] bindings=[('ed', {[DQ [LIT_CHARS "Thu, 26 May 2005 18:32:00 -0500"]]})]) (= scope= flags=0 words=[] bindings=[('gd', {[DQ [LIT_CHARS "Thu, 26 May 2005 18:33:00 -0500"]]})]) (= scope= flags=0 words=[] bindings=[('ld', {[DQ [LIT_CHARS "Thu, 26 May 2005 18:43:00 -0500"]]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ o 2>e &&\n"> ] [DQ [VarSub C]] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [LIT_CHARS master] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "Query master@{2005-05-25} (before history)"]]} {[SQ o 2>e &&\n"> ] [DQ [VarSub C]] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [LIT_CHARS master] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ o 2>e &&\n"> ] [DQ [VarSub C]] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ o 2>e &&\n"> ] [DQ [VarSub C]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ o 2>e &&\n"> ] [DQ [VarSub A]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ o 2>e &&\n"> ] [DQ [VarSub B]] [SQ ] [DQ [VarSub m][LIT_CHARS " has gap after "][VarSub gd]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ o 2>e &&\n"> ] [DQ [VarSub Z]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ o 2>e &&\n"> ] [DQ [VarSub E]] [SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ o 2>e &&\n"> ] [DQ [VarSub D]] [SQ ] [DQ [VarSub m][LIT_CHARS " unexpectedly ended on "][VarSub ld]] [SQ ]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS .git/] [VarSub m]} {[LIT_CHARS .git/logs/] [VarSub m]} {[LIT_CHARS expect]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ F &&\n"> M &&\n"> >M &&\n"> F &&\n"> M &&\n"> .git/MERGE_HEAD &&\n"> ]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub Z][LIT_CHARS " "][VarSub h_TEST][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150200 +0000\tcommit (initial): add\n"][VarSub h_TEST][LIT_CHARS " "][VarSub h_OTHER][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117150860 +0000\tcommit: The other day this did not work.\n"][VarSub h_OTHER][LIT_CHARS " "][VarSub h_FIXED][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117151040 +0000\tcommit (amend): The other day this did not work.\n"][VarSub h_FIXED][LIT_CHARS " "][VarSub h_MERGED][LIT_CHARS " "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> 1117151100 +0000\tcommit (merge): Merged initial commit and a later commit.\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "test_cmp expect .git/logs/"][VarSub m]]} ) (Com {[LIT_CHARS unset]} {[LIT_CHARS h_TEST]} {[LIT_CHARS h_OTHER]} {[LIT_CHARS h_FIXED]} {[LIT_CHARS h_MERGED]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_done]} ) )