]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/subversion/subversion/libsvn_ra_serf/README
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / subversion / subversion / libsvn_ra_serf / README
1 ra_serf status
2 ==============
3
4 This library is an RA-layer implementation of a WebDAV client that uses Serf.
5
6 Serf's homepage is at:
7   http://code.google.com/p/serf/
8
9 The latest serf releases can be fetched at:
10   http://code.google.com/p/serf/downloads/list
11
12 The latest serf sources can be fetched via SVN at:
13   http://serf.googlecode.com/svn/trunk/
14
15 ra_serf can be enabled with the following configure flags:
16  "--with-serf=/path/to/serf/install"
17 As Neon is currently Subversion's default RA DAV layer, you also need
18 to add "http-library = serf" to your ~/.subversion/servers file to
19 choose ra_serf at runtime.  Alternately, you can build with only
20 support for ra_serf:
21  "--without-neon --with-serf=/path/to/serf/install"
22
23 For more about how ra_serf/ra_neon talk WebDAV, consult notes/webdav-protocol.
24
25 Working copies are interchangable between ra_serf and ra_neon.  (They both use
26 the svn:wc:ra_dav:version-url property to store the latest revision of a file.)
27
28 Completed tasks
29 ---------------
30 - Core functionality complete (see regression test status below)
31 - https support (SSL)
32 - Basic authentication
33 - Update parallelization/pipelining (also for status/diff/switch/etc)
34   - Does not require inline base64-encoding of content
35   - 4 connections are open on an update (matches browser's default behavior)
36   - 1 connection is used for the REPORT; 3 are used to fetch files & props
37 - Supports http-compression config flag
38 - SSL client and server certificates
39 - Proxy support
40 - NTLM/SSPI integration for Windows folks
41 - REPORT body buckets can now be read twice (#3212)
42
43 Regression test status
44 ----------------------
45 All current regression tests are known to pass on:
46   - Debian/AMD64 with APR 1.3.x
47   - Mac OS X
48   - Solaris
49   - Windows
50
51 Things to do before the next release (1.6.x timeframe)
52 ------------------------------------------------------
53
54 - Digest authentication
55
56 - Fix the editor API violation (TBC, #2932)
57
58 Nice to haves
59 -------------
60
61 - Move some of the code from ra_serf into serf.  Serf doesn't have a very
62   high-level API; but the code in util.c can go a long way towards that.
63
64 - Commit parallellization/pipelining
65   - Determine how to use HTTP pipelining and multiple connections for commit
66   - May need response from CHECKOUT to issue PUT/PROPPATCH
67   - ra_svn has a custom commit pipelining that may be worth investigating too
68
69 - Use PROPFIND Depth: 1 when we are adding a directory locally to skip
70   fetching properties on files
71
72 - Discover server's keep-alive setting via OPTIONS requests and notify serf
73
74 - Fix bug in mod_dav_svn that omits remove-prop in the update-report when a
75   lock is broken and send-all is false.
76   (See upd_change_xxx_prop in mod_dav_svn/update.c)
77
78 - Fix bug in mod_dav_svn/mod_deflate that causes it to hold onto the entire
79   REPORT response until it is completed.  (This is why ra_serf doesn't request
80   gzip compression on the REPORT requests.)
81
82 - Remove remaining abort()s - ;-) aka add better debug logging
83
84 - Support for HTTP/1.0 pnly proxies.