diff options
author | Vincent Ambo <mail@tazj.in> | 2021-09-21T10·03+0300 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2021-09-21T11·29+0300 |
commit | 43b1791ec601732ac31195df96781a848360a9ac (patch) | |
tree | daae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/t/t5545-push-options.sh | |
parent | 2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff) |
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping it in sync with cgit would be easier this way, but it has proven not to be a big issue. On the other hand, a vendored copy of git is an annoying maintenance burden. It is much easier to rebase the single (dottime) patch that we have. This removes the vendored copy of git and instead passes the git source code to cgit via `pkgs.srcOnly`, which includes the applied patch so that cgit can continue rendering dottime. Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/t/t5545-push-options.sh')
-rwxr-xr-x | third_party/git/t/t5545-push-options.sh | 284 |
1 files changed, 0 insertions, 284 deletions
diff --git a/third_party/git/t/t5545-push-options.sh b/third_party/git/t/t5545-push-options.sh deleted file mode 100755 index 38e6f7340e74..000000000000 --- a/third_party/git/t/t5545-push-options.sh +++ /dev/null @@ -1,284 +0,0 @@ -#!/bin/sh - -test_description='pushing to a repository using push options' - -. ./test-lib.sh - -mk_repo_pair () { - rm -rf workbench upstream && - test_create_repo upstream && - test_create_repo workbench && - ( - cd upstream && - git config receive.denyCurrentBranch warn && - mkdir -p .git/hooks && - cat >.git/hooks/pre-receive <<-'EOF' && - #!/bin/sh - if test -n "$GIT_PUSH_OPTION_COUNT"; then - i=0 - >hooks/pre-receive.push_options - while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"; do - eval "value=\$GIT_PUSH_OPTION_$i" - echo $value >>hooks/pre-receive.push_options - i=$((i + 1)) - done - fi - EOF - chmod u+x .git/hooks/pre-receive - - cat >.git/hooks/post-receive <<-'EOF' && - #!/bin/sh - if test -n "$GIT_PUSH_OPTION_COUNT"; then - i=0 - >hooks/post-receive.push_options - while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"; do - eval "value=\$GIT_PUSH_OPTION_$i" - echo $value >>hooks/post-receive.push_options - i=$((i + 1)) - done - fi - EOF - chmod u+x .git/hooks/post-receive - ) && - ( - cd workbench && - git remote add up ../upstream - ) -} - -# Compare the ref ($1) in upstream with a ref value from workbench ($2) -# i.e. test_refs second HEAD@{2} -test_refs () { - test $# = 2 && - git -C upstream rev-parse --verify "$1" >expect && - git -C workbench rev-parse --verify "$2" >actual && - test_cmp expect actual -} - -test_expect_success 'one push option works for a single branch' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - ( - cd workbench && - test_commit one && - git push --mirror up && - test_commit two && - git push --push-option=asdf up master - ) && - test_refs master master && - echo "asdf" >expect && - test_cmp expect upstream/.git/hooks/pre-receive.push_options && - test_cmp expect upstream/.git/hooks/post-receive.push_options -' - -test_expect_success 'push option denied by remote' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions false && - ( - cd workbench && - test_commit one && - git push --mirror up && - test_commit two && - test_must_fail git push --push-option=asdf up master - ) && - test_refs master HEAD@{1} -' - -test_expect_success 'two push options work' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - ( - cd workbench && - test_commit one && - git push --mirror up && - test_commit two && - git push --push-option=asdf --push-option="more structured text" up master - ) && - test_refs master master && - printf "asdf\nmore structured text\n" >expect && - test_cmp expect upstream/.git/hooks/pre-receive.push_options && - test_cmp expect upstream/.git/hooks/post-receive.push_options -' - -test_expect_success 'push options and submodules' ' - test_when_finished "rm -rf parent" && - test_when_finished "rm -rf parent_upstream" && - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - cp -r upstream parent_upstream && - test_commit -C upstream one && - - test_create_repo parent && - git -C parent remote add up ../parent_upstream && - test_commit -C parent one && - git -C parent push --mirror up && - - git -C parent submodule add ../upstream workbench && - git -C parent/workbench remote add up ../../upstream && - git -C parent commit -m "add submodule" && - - test_commit -C parent/workbench two && - git -C parent add workbench && - git -C parent commit -m "update workbench" && - - git -C parent push \ - --push-option=asdf --push-option="more structured text" \ - --recurse-submodules=on-demand up master && - - git -C upstream rev-parse --verify master >expect && - git -C parent/workbench rev-parse --verify master >actual && - test_cmp expect actual && - - git -C parent_upstream rev-parse --verify master >expect && - git -C parent rev-parse --verify master >actual && - test_cmp expect actual && - - printf "asdf\nmore structured text\n" >expect && - test_cmp expect upstream/.git/hooks/pre-receive.push_options && - test_cmp expect upstream/.git/hooks/post-receive.push_options && - test_cmp expect parent_upstream/.git/hooks/pre-receive.push_options && - test_cmp expect parent_upstream/.git/hooks/post-receive.push_options -' - -test_expect_success 'default push option' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - ( - cd workbench && - test_commit one && - git push --mirror up && - test_commit two && - git -c push.pushOption=default push up master - ) && - test_refs master master && - echo "default" >expect && - test_cmp expect upstream/.git/hooks/pre-receive.push_options && - test_cmp expect upstream/.git/hooks/post-receive.push_options -' - -test_expect_success 'two default push options' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - ( - cd workbench && - test_commit one && - git push --mirror up && - test_commit two && - git -c push.pushOption=default1 -c push.pushOption=default2 push up master - ) && - test_refs master master && - printf "default1\ndefault2\n" >expect && - test_cmp expect upstream/.git/hooks/pre-receive.push_options && - test_cmp expect upstream/.git/hooks/post-receive.push_options -' - -test_expect_success 'push option from command line overrides from-config push option' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - ( - cd workbench && - test_commit one && - git push --mirror up && - test_commit two && - git -c push.pushOption=default push --push-option=manual up master - ) && - test_refs master master && - echo "manual" >expect && - test_cmp expect upstream/.git/hooks/pre-receive.push_options && - test_cmp expect upstream/.git/hooks/post-receive.push_options -' - -test_expect_success 'empty value of push.pushOption in config clears the list' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - ( - cd workbench && - test_commit one && - git push --mirror up && - test_commit two && - git -c push.pushOption=default1 -c push.pushOption= -c push.pushOption=default2 push up master - ) && - test_refs master master && - echo "default2" >expect && - test_cmp expect upstream/.git/hooks/pre-receive.push_options && - test_cmp expect upstream/.git/hooks/post-receive.push_options -' - -test_expect_success 'invalid push option in config' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - ( - cd workbench && - test_commit one && - git push --mirror up && - test_commit two && - test_must_fail git -c push.pushOption push up master - ) && - test_refs master HEAD@{1} -' - -test_expect_success 'push options keep quoted characters intact (direct)' ' - mk_repo_pair && - git -C upstream config receive.advertisePushOptions true && - test_commit -C workbench one && - git -C workbench push --push-option="\"embedded quotes\"" up master && - echo "\"embedded quotes\"" >expect && - test_cmp expect upstream/.git/hooks/pre-receive.push_options -' - -. "$TEST_DIRECTORY"/lib-httpd.sh -start_httpd - -# set up http repository for fetching/pushing, with push options config -# bool set to $1 -mk_http_pair () { - test_when_finished "rm -rf test_http_clone" && - test_when_finished 'rm -rf "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git' && - mk_repo_pair && - git -C upstream config receive.advertisePushOptions "$1" && - git -C upstream config http.receivepack true && - cp -R upstream/.git "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git && - git clone "$HTTPD_URL"/smart/upstream test_http_clone -} - -test_expect_success 'push option denied properly by http server' ' - mk_http_pair false && - test_commit -C test_http_clone one && - test_must_fail git -C test_http_clone push --push-option=asdf origin master 2>actual && - test_i18ngrep "the receiving end does not support push options" actual && - git -C test_http_clone push origin master -' - -test_expect_success 'push options work properly across http' ' - mk_http_pair true && - - test_commit -C test_http_clone one && - git -C test_http_clone push origin master && - git -C "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git rev-parse --verify master >expect && - git -C test_http_clone rev-parse --verify master >actual && - test_cmp expect actual && - - test_commit -C test_http_clone two && - git -C test_http_clone push --push-option=asdf --push-option="more structured text" origin master && - printf "asdf\nmore structured text\n" >expect && - test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/pre-receive.push_options && - test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/post-receive.push_options && - - git -C "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git rev-parse --verify master >expect && - git -C test_http_clone rev-parse --verify master >actual && - test_cmp expect actual -' - -test_expect_success 'push options keep quoted characters intact (http)' ' - mk_http_pair true && - - test_commit -C test_http_clone one && - git -C test_http_clone push --push-option="\"embedded quotes\"" origin master && - echo "\"embedded quotes\"" >expect && - test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH"/upstream.git/hooks/pre-receive.push_options -' - -# DO NOT add non-httpd-specific tests here, because the last part of this -# test script is only executed when httpd is available and enabled. - -test_done |