Merge branch 'jk/http-server-protocol-versions'
Taking advantage of the CGI interface, http-backend has been updated to enable protocol v2 automatically when the other side asks for it. * jk/http-server-protocol-versions: docs/protocol-v2: point readers transport config discussion docs/git: discuss server-side config for GIT_PROTOCOL docs/http-backend: mention v2 protocol http-backend: handle HTTP_GIT_PROTOCOL CGI variable t5551: test v2-to-v0 http protocol fallback
This commit is contained in:
@ -81,8 +81,6 @@ PassEnv GIT_TRACE
|
||||
PassEnv GIT_CONFIG_NOSYSTEM
|
||||
PassEnv GIT_TEST_SIDEBAND_ALL
|
||||
|
||||
SetEnvIf Git-Protocol ".*" GIT_PROTOCOL=$0
|
||||
|
||||
Alias /dumb/ www/
|
||||
Alias /auth/dumb/ www/auth/dumb/
|
||||
|
||||
@ -117,6 +115,11 @@ Alias /auth/dumb/ www/auth/dumb/
|
||||
SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
|
||||
SetEnv GIT_HTTP_EXPORT_ALL
|
||||
</LocationMatch>
|
||||
<LocationMatch /smart_v0/>
|
||||
SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
|
||||
SetEnv GIT_HTTP_EXPORT_ALL
|
||||
SetEnv GIT_PROTOCOL
|
||||
</LocationMatch>
|
||||
ScriptAlias /smart/incomplete_length/git-upload-pack incomplete-length-upload-pack-v2-http.sh/
|
||||
ScriptAlias /smart/incomplete_body/git-upload-pack incomplete-body-upload-pack-v2-http.sh/
|
||||
ScriptAliasMatch /error_git_upload_pack/(.*)/git-upload-pack error.sh/
|
||||
|
@ -558,4 +558,13 @@ test_expect_success 'http auth forgets bogus credentials' '
|
||||
expect_askpass both user@host
|
||||
'
|
||||
|
||||
test_expect_success 'client falls back from v2 to v0 to match server' '
|
||||
GIT_TRACE_PACKET=$PWD/trace \
|
||||
GIT_TEST_PROTOCOL_VERSION=2 \
|
||||
git clone $HTTPD_URL/smart_v0/repo.git repo-v0 &&
|
||||
# check for v0; there the HEAD symref is communicated in the capability
|
||||
# line; v2 uses a different syntax on each ref advertisement line
|
||||
grep symref=HEAD:refs/heads/ trace
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Reference in New Issue
Block a user