diff options
author | Peter Wemm <peter@FreeBSD.org> | 2018-05-08 03:44:38 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2018-05-08 03:44:38 +0000 |
commit | 3faf8d6bffc5d0fb2525ba37bb504c53366caf9d (patch) | |
tree | 7e47911263e75034b767fe34b2f8d3d17e91f66d /subversion/libsvn_ra_serf/options.c | |
parent | a55fb3c0d5eca7d887798125d5b95942b1f01d4b (diff) | |
download | src-3faf8d6bffc5d0fb2525ba37bb504c53366caf9d.tar.gz src-3faf8d6bffc5d0fb2525ba37bb504c53366caf9d.zip |
Import Subversion-1.10.0vendor/subversion/subversion-1.10.0
Notes
Notes:
svn path=/vendor/subversion/dist/; revision=333347
svn path=/vendor/subversion/subversion-1.10.0/; revision=333348; tag=vendor/subversion/subversion-1.10.0
Diffstat (limited to 'subversion/libsvn_ra_serf/options.c')
-rw-r--r-- | subversion/libsvn_ra_serf/options.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/subversion/libsvn_ra_serf/options.c b/subversion/libsvn_ra_serf/options.c index a52977bbf1f8..9cb507c8f470 100644 --- a/subversion/libsvn_ra_serf/options.c +++ b/subversion/libsvn_ra_serf/options.c @@ -226,6 +226,26 @@ capabilities_headers_iterator_callback(void *baton, { session->supports_rev_rsrc_replay = TRUE; } + if (svn_cstring_match_list(SVN_DAV_NS_DAV_SVN_SVNDIFF1, vals)) + { + /* Use compressed svndiff1 format for servers that properly + advertise this capability (Subversion 1.10 and greater). */ + session->supports_svndiff1 = TRUE; + } + if (svn_cstring_match_list(SVN_DAV_NS_DAV_SVN_LIST, vals)) + { + svn_hash_sets(session->capabilities, + SVN_RA_CAPABILITY_LIST, capability_yes); + } + if (svn_cstring_match_list(SVN_DAV_NS_DAV_SVN_SVNDIFF2, vals)) + { + /* Same for svndiff2. */ + session->supports_svndiff2 = TRUE; + } + if (svn_cstring_match_list(SVN_DAV_NS_DAV_SVN_PUT_RESULT_CHECKSUM, vals)) + { + session->supports_put_result_checksum = TRUE; + } } /* SVN-specific headers -- if present, server supports HTTP protocol v2 */ @@ -350,6 +370,7 @@ options_response_handler(serf_request_t *request, { svn_ra_serf__session_t *session = opt_ctx->session; serf_bucket_t *hdrs = serf_bucket_response_get_headers(response); + serf_connection_t *conn; /* Start out assuming all capabilities are unsupported. */ svn_hash_sets(session->capabilities, SVN_RA_CAPABILITY_PARTIAL_REPLAY, @@ -368,6 +389,8 @@ options_response_handler(serf_request_t *request, capability_no); svn_hash_sets(session->capabilities, SVN_RA_CAPABILITY_GET_FILE_REVS_REVERSE, capability_no); + svn_hash_sets(session->capabilities, SVN_RA_CAPABILITY_LIST, + capability_no); /* Then see which ones we can discover. */ serf_bucket_headers_do(hdrs, capabilities_headers_iterator_callback, @@ -379,6 +402,10 @@ options_response_handler(serf_request_t *request, svn_hash_sets(session->capabilities, SVN_RA_CAPABILITY_MERGEINFO, capability_no); + /* Remember our latency. */ + conn = serf_request_get_conn(request); + session->conn_latency = serf_connection_get_latency(conn); + opt_ctx->headers_processed = TRUE; } |