diff options
Diffstat (limited to 'subversion/libsvn_ra_serf/multistatus.c')
-rw-r--r-- | subversion/libsvn_ra_serf/multistatus.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/subversion/libsvn_ra_serf/multistatus.c b/subversion/libsvn_ra_serf/multistatus.c index 9c269c39bedd..00642401e893 100644 --- a/subversion/libsvn_ra_serf/multistatus.c +++ b/subversion/libsvn_ra_serf/multistatus.c @@ -707,7 +707,16 @@ svn_ra_serf__handle_server_error(svn_ra_serf__server_error_t *server_error, clear the error and return - allowing serf to wait for more data. */ if (!err || SERF_BUCKET_READ_ERROR(err->apr_err)) - return svn_error_trace(err); + { + /* Perhaps we already parsed some server generated message. Let's pass + all information we can get.*/ + if (err) + err = svn_error_compose_create( + svn_ra_serf__server_error_create(handler, scratch_pool), + err); + + return svn_error_trace(err); + } if (!APR_STATUS_IS_EOF(err->apr_err)) { |