Name Date Size #Lines LOC

..--

READMEHD10-Jan-20162.9 KiB8563

blame.cHD10-Jan-201611.6 KiB380269

blncache.cHD10-Jan-20165.4 KiB180110

blncache.hHD10-Jan-20163.4 KiB9132

commit.cHD10-Jan-201671.9 KiB2,2551,565

eagain_bucket.cHD10-Jan-20163.4 KiB12378

get_deleted_rev.cHD10-Jan-20165.7 KiB179113

get_file.cHD10-Jan-201611.8 KiB426265

get_lock.cHD10-Jan-20169.7 KiB338233

getdate.cHD10-Jan-20164.9 KiB172101

getlocations.cHD10-Jan-20166.1 KiB202130

getlocationsegments.cHD10-Jan-20166.6 KiB211141

getlocks.cHD10-Jan-20168.9 KiB301195

inherited_props.cHD10-Jan-201614.7 KiB445314

libsvn_ra_serf.pc.inHD10-Jan-2016413 1311

lock.cHD10-Jan-201620.7 KiB680479

log.cHD10-Jan-201618.5 KiB606459

merge.cHD10-Jan-201613.5 KiB455322

mergeinfo.cHD10-Jan-20167.7 KiB239163

multistatus.cHD10-Jan-201623.5 KiB753492

options.cHD10-Jan-201625.8 KiB745523

property.cHD10-Jan-201629 KiB918637

ra_serf.hHD10-Jan-201655.6 KiB1,555709

replay.cHD10-Jan-201627.2 KiB782550

sb_bucket.cHD10-Jan-20165 KiB186115

serf.cHD10-Jan-201638.9 KiB1,133810

stat.cHD10-Jan-201618.9 KiB616464

update.cHD10-Jan-201697.8 KiB3,0432,090

util.cHD10-Jan-201662.1 KiB1,9521,358

util_error.cHD10-Jan-20162.9 KiB10258

xml.cHD10-Jan-201632.4 KiB1,112746

README

1ra_serf status
2==============
3
4This library is an RA-layer implementation of a WebDAV client that uses Serf.
5
6Serf's homepage is at:
7  http://code.google.com/p/serf/
8
9The latest serf releases can be fetched at:
10  http://code.google.com/p/serf/downloads/list
11
12The latest serf sources can be fetched via SVN at:
13  http://serf.googlecode.com/svn/trunk/
14
15ra_serf can be enabled with the following configure flags:
16 "--with-serf=/path/to/serf/install"
17As Neon is currently Subversion's default RA DAV layer, you also need
18to add "http-library = serf" to your ~/.subversion/servers file to
19choose ra_serf at runtime.  Alternately, you can build with only
20support for ra_serf:
21 "--without-neon --with-serf=/path/to/serf/install"
22
23For more about how ra_serf/ra_neon talk WebDAV, consult notes/webdav-protocol.
24
25Working copies are interchangeable between ra_serf and ra_neon.  (They both use
26the svn:wc:ra_dav:version-url property to store the latest revision of a file.)
27
28Completed 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
43Regression test status
44----------------------
45All 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
51Things 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
58Nice 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.
85