You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2013/04/04 14:14:40 UTC
svn commit: r1464492 - /subversion/trunk/subversion/libsvn_ra_serf/update.c
Author: rhuijben
Date: Thu Apr 4 12:14:40 2013
New Revision: 1464492
URL: http://svn.apache.org/r1464492
Log:
* subversion/libsvn_ra_serf/update.c
(finish_report): On failed update reports wrap the raw error with a status
dependent error. This fixes some ugly errors when mixing svn log --diff
and mod_dontdothat.
If we aren't closing the editor, report the edit as aborted.
Modified:
subversion/trunk/subversion/libsvn_ra_serf/update.c
Modified: subversion/trunk/subversion/libsvn_ra_serf/update.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/update.c?rev=1464492&r1=1464491&r2=1464492&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/update.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/update.c Thu Apr 4 12:14:40 2013
@@ -2885,6 +2885,15 @@ finish_report(void *report_baton,
waittime_left = sess->timeout;
}
+ if (status && handler->sline.code != 200)
+ {
+ return svn_error_trace(
+ svn_error_compose_create(
+ svn_ra_serf__error_on_status(handler->sline.code,
+ handler->path,
+ handler->location),
+ err));
+ }
SVN_ERR(err);
if (status)
{
@@ -3092,8 +3101,13 @@ finish_report(void *report_baton,
err = report->update_editor->close_edit(report->update_baton, iterpool);
}
else
- err = svn_error_create(SVN_ERR_RA_DAV_MALFORMED_DATA, NULL,
- _("Missing update-report close tag"));
+ {
+ /* Tell the editor that something failed */
+ err = report->update_editor->abort_edit(report->update_baton, iterpool);
+
+ err = svn_error_create(SVN_ERR_RA_DAV_MALFORMED_DATA, err,
+ _("Missing update-report close tag"));
+ }
svn_pool_destroy(iterpool);
return svn_error_trace(err);