(command.CommandList children: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$NO_CURL'))})] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:skip_all) op: Equal rhs: {(SQ <'skipping test, git built without http support'>)} ) ] ) (C {(test_done)}) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$NO_EXPAT'))}) (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$LIB_HTTPD_DAV'))}) ] ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:skip_all) op: Equal rhs: {(SQ <'skipping test, git built without expat support'>)} ) ] ) (C {(test_done)}) ] ) ] ) (C {(test_tristate)} {(GIT_TEST_HTTPD)}) (command.If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_DollarName '$GIT_TEST_HTTPD'))} {(Lit_Other '=')} {(false)})] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:skip_all) op: Equal rhs: {(DQ ('Network testing disabled (unset GIT_TEST_HTTPD to enable)'))} ) ] ) (C {(test_done)}) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children:[(C {(test_have_prereq)} {(NOT_ROOT)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (C {(test_skip_or_die)} {($ VSub_DollarName '$GIT_TEST_HTTPD')} {(DQ ('Cannot run httpd tests as root'))} ) ] ) ] ) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:HTTPD_PARA) op:Equal rhs:{(DQ )})] ) (command.ForEach iter_name: DEFAULT_HTTPD_PATH iter_words: [{(SQ </usr/sbin/httpd>)} {(SQ </usr/sbin/apache2>)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(-x)} {(DQ ($ VSub_DollarName '$DEFAULT_HTTPD_PATH'))})] action: [(command.ControlFlow token:<ControlFlow_Break break>)] ) ] ) ] ) ) (command.ForEach iter_name: DEFAULT_HTTPD_MODULE_PATH iter_words: [ {(SQ </usr/libexec/apache2>)} {(SQ </usr/lib/apache2/modules>)} {(SQ </usr/lib64/httpd/modules>)} {(SQ </usr/lib/httpd/modules>)} ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(-d)} {(DQ ($ VSub_DollarName '$DEFAULT_HTTPD_MODULE_PATH'))})] action: [(command.ControlFlow token:<ControlFlow_Break break>)] ) ] ) ] ) ) (command.Case to_match: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)})]) left_token: <Left_CommandSub '$('> ) } arms: [ (case_arm pat_list: [{(Darwin)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_PARA) op: Equal rhs: {(DQ ($ VSub_DollarName '$HTTPD_PARA') (' -DDarwin'))} ) ] ) ] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LIB_HTTPD_PATH) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name LIB_HTTPD_PATH> suffix_op: (suffix_op.StringUnary op_id: VTest_Hyphen arg_word: {(DQ ($ VSub_DollarName '$DEFAULT_HTTPD_PATH'))} ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LIB_HTTPD_PORT) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name LIB_HTTPD_PORT> suffix_op: (suffix_op.StringUnary op_id: VTest_Hyphen arg_word: { (word_part.BracedVarSub token: <VSub_Name this_test> suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(t)}) ) } ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TEST_PATH) op: Equal rhs: {(DQ ($ VSub_DollarName '$TEST_DIRECTORY')) (/lib-httpd)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_ROOT_PATH) op: Equal rhs: {(DQ ($ VSub_DollarName '$PWD')) (/httpd)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_DOCUMENT_ROOT_PATH) op: Equal rhs: {($ VSub_DollarName '$HTTPD_ROOT_PATH') (/www)} ) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_VALGRIND) op: Equal rhs: {($ VSub_DollarName '$GIT_VALGRIND')} ) ] ) terminator: <Op_Semi ';'> ) (C {(export)} {(GIT_VALGRIND)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_VALGRIND_OPTIONS) op: Equal rhs: {($ VSub_DollarName '$GIT_VALGRIND_OPTIONS')} ) ] ) terminator: <Op_Semi ';'> ) (C {(export)} {(GIT_VALGRIND_OPTIONS)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_TRACE) op: Equal rhs: {($ VSub_DollarName '$GIT_TRACE')} ) ] ) terminator: <Op_Semi ';'> ) (C {(export)} {(GIT_TRACE)}) ] ) (command.If arms: [ (if_arm cond: [ (command.Pipeline children: [(C {(test)} {(-x)} {(DQ ($ VSub_DollarName '$LIB_HTTPD_PATH'))})] negated: T ) ] action: [ (C {(test_skip_or_die)} {($ VSub_DollarName '$GIT_TEST_HTTPD')} {(DQ ("no web server found at '") ($ VSub_DollarName '$LIB_HTTPD_PATH') ("'"))} ) ] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_VERSION) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {($ VSub_DollarName '$LIB_HTTPD_PATH')} {(-v)}) (C {(sed)} {(-n)} {(SQ <'s/^Server version: Apache\\/\\([0-9]*\\)\\..*$/\\1/p; q'>)} ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> ) } ) ] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$HTTPD_VERSION'))})] action: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$LIB_HTTPD_MODULE_PATH'))})] action: [ (command.If arms: [ (if_arm cond: [ (command.Pipeline children: [ (C {(test)} {($ VSub_DollarName '$HTTPD_VERSION')} {(-ge)} {(2)}) ] negated: T ) ] action: [ (C {(test_skip_or_die)} {($ VSub_DollarName '$GIT_TEST_HTTPD')} {(DQ ('at least Apache version 2 is required'))} ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Pipeline children: [ (C {(test)} {(-d)} {(DQ ($ VSub_DollarName '$DEFAULT_HTTPD_MODULE_PATH'))} ) ] negated: T ) ] action: [ (C {(test_skip_or_die)} {($ VSub_DollarName '$GIT_TEST_HTTPD')} {(DQ ('Apache module directory not found'))} ) ] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LIB_HTTPD_MODULE_PATH) op: Equal rhs: {(DQ ($ VSub_DollarName '$DEFAULT_HTTPD_MODULE_PATH'))} ) ] ) ] ) ] ) ] ) ] else_action: [ (C {(test_skip_or_die)} {($ VSub_DollarName '$GIT_TEST_HTTPD')} {(DQ ("Could not identify web server at '") ($ VSub_DollarName '$LIB_HTTPD_PATH') ("'"))} ) ] ) (command.FuncDef name: install_script body: (command.BraceGroup children: [ (command.SimpleCommand words: [ {(write_script)} {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH') (/) ($ VSub_Number '$1'))} ] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TEST_PATH') (/) ($ VSub_Number '$1'))} ) ] ) ] ) ) (command.FuncDef name: prepare_httpd body: (command.BraceGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$HTTPD_DOCUMENT_ROOT_PATH'))}) (C {(cp)} {(DQ ($ VSub_DollarName '$TEST_PATH')) (/passwd)} {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH'))} ) (C {(install_script)} {(broken-smart-http.sh)}) (C {(install_script)} {(error.sh)}) (C {(ln)} {(-s)} {(DQ ($ VSub_DollarName '$LIB_HTTPD_MODULE_PATH'))} {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH') (/modules))} ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$LIB_HTTPD_SSL'))})] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_PROTO) op: Equal rhs: {(https)} ) ] ) (command.SimpleCommand words: [ {(openssl)} {(req)} {(-config)} {(DQ ($ VSub_DollarName '$TEST_PATH') (/ssl.cnf))} {(-new)} {(-x509)} {(-nodes)} {(-out)} {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH') (/httpd.pem))} {(-keyout)} {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH') (/httpd.pem))} ] more_env: [ (env_pair name: RANDFILE_PATH val: {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH')) (/.rnd)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_SSL_NO_VERIFY) op: Equal rhs: {(t)} ) ] ) (C {(export)} {(GIT_SSL_NO_VERIFY)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_PARA) op: Equal rhs: {(DQ ($ VSub_DollarName '$HTTPD_PARA') (' -DSSL'))} ) ] ) ] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:HTTPD_PROTO) op:Equal rhs:{(http)})] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_DEST) op: Equal rhs: {(127.0.0.1) (Lit_Other ':') ($ VSub_DollarName '$LIB_HTTPD_PORT')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_URL) op: Equal rhs: {($ VSub_DollarName '$HTTPD_PROTO') (Lit_Other ':') (//) ($ VSub_DollarName '$HTTPD_DEST') } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_URL_USER) op: Equal rhs: {($ VSub_DollarName '$HTTPD_PROTO') (Lit_Other ':') (//user) (Lit_Other '%') (40host) (Lit_Other '@') ($ VSub_DollarName '$HTTPD_DEST') } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_URL_USER_PASS) op: Equal rhs: {($ VSub_DollarName '$HTTPD_PROTO') (Lit_Other ':') (//user) (Lit_Other '%') (40host) (Lit_Other ':') (pass) (Lit_Other '%') (40host) (Lit_Other '@') ($ VSub_DollarName '$HTTPD_DEST') } ) ] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$LIB_HTTPD_DAV'))}) (C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$LIB_HTTPD_SVN'))}) ] ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_PARA) op: Equal rhs: {(DQ ($ VSub_DollarName '$HTTPD_PARA') (' -DDAV'))} ) ] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-n)} {(DQ ($ VSub_DollarName '$LIB_HTTPD_SVN'))})] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HTTPD_PARA) op: Equal rhs: {(DQ ($ VSub_DollarName '$HTTPD_PARA') (' -DSVN'))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LIB_HTTPD_SVNPATH) op: Equal rhs: {(DQ ($ VSub_DollarName '$rawsvnrepo'))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svnrepo) op: Equal rhs: { (DQ ('http://127.0.0.1:') ($ VSub_DollarName '$LIB_HTTPD_PORT') (/) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svnrepo) op: Equal rhs: { (DQ ($ VSub_DollarName '$svnrepo') ($ VSub_DollarName '$LIB_HTTPD_SVN') ) } ) ] ) (C {(export)} {(LIB_HTTPD_SVN)} {(LIB_HTTPD_SVNPATH)}) ] ) ] ) ] ) ] ) ] ) ) (command.FuncDef name: start_httpd body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(prepare_httpd)}] redirects: [ (redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(3)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(4)}) ] ) (C {(trap)} {(SQ <'code=$?; stop_httpd; (exit $code); die'>)} {(EXIT)}) (command.SimpleCommand words: [ {(DQ ($ VSub_DollarName '$LIB_HTTPD_PATH'))} {(-d)} {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH'))} {(-f)} {(DQ ($ VSub_DollarName '$TEST_PATH') (/apache.conf))} {($ VSub_DollarName '$HTTPD_PARA')} {(-c)} {(DQ ('Listen 127.0.0.1:') ($ VSub_DollarName '$LIB_HTTPD_PORT'))} {(-k)} {(start)} ] redirects: [ (redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(3)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(4)}) ] ) (command.If arms: [ (if_arm cond: [(C {(test)} {($ VSub_QMark '$?')} {(-ne)} {(0)})] action: [ (C {(trap)} {(SQ <die>)} {(EXIT)}) (command.SimpleCommand words: [{(cat)} {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH')) (/error.log)}] redirects: [ (redir.Redir op: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(4)} ) (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(test_skip_or_die)} {($ VSub_DollarName '$GIT_TEST_HTTPD')} {(DQ ('web server setup failed'))} ) ] ) ] ) ] ) ) (command.FuncDef name: stop_httpd body: (command.BraceGroup children: [ (C {(trap)} {(SQ <die>)} {(EXIT)}) (C {(DQ ($ VSub_DollarName '$LIB_HTTPD_PATH'))} {(-d)} {(DQ ($ VSub_DollarName '$HTTPD_ROOT_PATH'))} {(-f)} {(DQ ($ VSub_DollarName '$TEST_PATH') (/apache.conf))} {($ VSub_DollarName '$HTTPD_PARA')} {(-k)} {(stop)} ) ] ) ) (command.FuncDef name: test_http_push_nonff body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:REMOTE_REPO) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:LOCAL_REPO) op: Equal rhs: {($ VSub_Number '$2')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BRANCH) op: Equal rhs: {($ VSub_Number '$3')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXPECT_CAS_RESULT) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 4> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:{(failure)}) ) } ) ] ) (C {(test_expect_success)} {(SQ <'non-fast-forward push fails'>)} { (SQ <'\n'> <'\t\tcd "$REMOTE_REPO" &&\n'> <'\t\tHEAD=$(git rev-parse --verify HEAD) &&\n'> <'\n'> <'\t\tcd "$LOCAL_REPO" &&\n'> <'\t\tgit checkout $BRANCH &&\n'> <'\t\techo "changed" > path2 &&\n'> <'\t\tgit commit -a -m path2 --amend &&\n'> <'\n'> <'\t\ttest_must_fail git push -v origin >output 2>&1 &&\n'> <'\t\t(cd "$REMOTE_REPO" &&\n'> <'\t\t test $HEAD = $(git rev-parse --verify HEAD))\n'> <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'non-fast-forward push show ref status'>)} { (SQ <'\n'> < '\t\tgrep "^ ! \\[rejected\\][ ]*$BRANCH -> $BRANCH (non-fast-forward)$" output\n' > <'\t'> ) } ) (C {(test_expect_success)} {(SQ <'non-fast-forward push shows help message'>)} {(SQ <'\n'> <'\t\ttest_i18ngrep "Updates were rejected because" output\n'> <'\t'>)} ) (C {(test_expect_) (${ VSub_Name EXPECT_CAS_RESULT)} {(SQ <'force with lease aka cas'>)} { (SQ <'\n'> <'\t\tHEAD=$(\tcd "$REMOTE_REPO" && git rev-parse --verify HEAD ) &&\n'> <'\t\ttest_when_finished '> ) (word_part.EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'\n'> <'\t\t\t(cd "$REMOTE_REPO" && git update-ref HEAD "$HEAD")\n'> <'\t\t'>) (word_part.EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <' &&\n'> <'\t\t(\n'> <'\t\t\tcd "$LOCAL_REPO" &&\n'> <'\t\t\tgit push -v --force-with-lease=$BRANCH:$HEAD origin\n'> <'\t\t) &&\n'> <'\t\tgit rev-parse --verify "$BRANCH" >expect &&\n'> <'\t\t(\n'> <'\t\t\tcd "$REMOTE_REPO" && git rev-parse --verify HEAD\n'> <'\t\t) >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t'> ) } ) ] ) ) (command.FuncDef name: setup_askpass_helper body: (command.BraceGroup children: [ (C {(test_expect_success)} {(SQ <'setup askpass helper'>)} { (SQ <'\n'> <'\t\twrite_script "$TRASH_DIRECTORY/askpass" <<-\\EOF &&\n'> <'\t\techo >>"$TRASH_DIRECTORY/askpass-query" "askpass: $*" &&\n'> <'\t\tcase "$*" in\n'> <'\t\t*Username*)\n'> <'\t\t\twhat=user\n'> <'\t\t\t;;\n'> <'\t\t*Password*)\n'> <'\t\t\twhat=pass\n'> <'\t\t\t;;\n'> <'\t\tesac &&\n'> <'\t\tcat "$TRASH_DIRECTORY/askpass-$what"\n'> <'\t\tEOF\n'> <'\t\tGIT_ASKPASS="$TRASH_DIRECTORY/askpass" &&\n'> <'\t\texport GIT_ASKPASS &&\n'> <'\t\texport TRASH_DIRECTORY\n'> <'\t'> ) } ) ] ) ) (command.FuncDef name: set_askpass body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (command.SimpleCommand redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TRASH_DIRECTORY') (/askpass-query))} ) ] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TRASH_DIRECTORY') (/askpass-user))} ) ] ) (command.SimpleCommand words: [{(echo)} {(DQ ($ VSub_Number '$2'))}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TRASH_DIRECTORY') (/askpass-pass))} ) ] ) ] ) ] ) ) (command.FuncDef name: expect_askpass body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:dest) op: Equal rhs: {($ VSub_DollarName '$HTTPD_DEST') (word_part.BracedVarSub token: <VSub_Number 3> suffix_op: (suffix_op.StringUnary op_id: VTest_Plus arg_word: {(Lit_Slash /) ($ VSub_Number '$3')} ) ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.BraceGroup children: [ (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list:[{(none)}]) (case_arm pat_list: [{(pass)}] action: [ (C {(echo)} { (DQ ("askpass: Password for 'http://") ($ VSub_Number '$2') ('@') ($ VSub_DollarName '$dest') ("': ") ) } ) ] ) (case_arm pat_list: [{(both)}] action: [ (C {(echo)} { (DQ ("askpass: Username for 'http://") ($ VSub_DollarName '$dest') ("': ") ) } ) (C {(echo)} { (DQ ("askpass: Password for 'http://") ($ VSub_Number '$2') ('@') ($ VSub_DollarName '$dest') ("': ") ) } ) ] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(false)})] ) ] ) ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$TRASH_DIRECTORY') (/askpass-expect))} ) ] ) (C {(test_cmp)} {(DQ ($ VSub_DollarName '$TRASH_DIRECTORY') (/askpass-expect))} {(DQ ($ VSub_DollarName '$TRASH_DIRECTORY') (/askpass-query))} ) ] ) ] ) ) ] )