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/02/12 22:02:03 UTC
svn commit: r1445360 - in /subversion/trunk/subversion:
libsvn_delta/cancel.c libsvn_wc/diff_editor.c
Author: rhuijben
Date: Tue Feb 12 21:02:02 2013
New Revision: 1445360
URL: http://svn.apache.org/r1445360
Log:
* subversion/libsvn_wc/diff_editor.c
(wrap_dir_closed,
wrap_dir_changed): Use constant instead of the availability of
left_src to say that the node was not added. Do this to cover
for a current bug in the repos-wc driver.
(The difference is visible in svn diff --summarize)
Modified:
subversion/trunk/subversion/libsvn_delta/cancel.c
subversion/trunk/subversion/libsvn_wc/diff_editor.c
Modified: subversion/trunk/subversion/libsvn_delta/cancel.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/cancel.c?rev=1445360&r1=1445359&r2=1445360&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_delta/cancel.c (original)
+++ subversion/trunk/subversion/libsvn_delta/cancel.c Tue Feb 12 21:02:02 2013
@@ -338,6 +338,20 @@ svn_delta_get_cancellation_editor(svn_ca
void **edit_baton,
apr_pool_t *pool)
{
+ if (wrapped_editor
+ && wrapped_editor->set_target_revision == set_target_revision)
+ {
+ /* The delta editor is already wrapped with a cancel editor,
+ * so there is no good reason to wrap it again.
+ *
+ * This code is commonly triggered by libsvn_client as both
+ * the ra as the wc layer wrap their editors with this cancellation
+ * editor */
+
+ cancel_func = NULL; /* Don't wrap again */
+ cancel_baton = NULL;
+ }
+
if (cancel_func)
{
svn_delta_editor_t *tree_editor = svn_delta_default_editor(pool);
Modified: subversion/trunk/subversion/libsvn_wc/diff_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/diff_editor.c?rev=1445360&r1=1445359&r2=1445360&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/diff_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/diff_editor.c Tue Feb 12 21:02:02 2013
@@ -2428,7 +2428,7 @@ wrap_dir_closed(const char *relpath,
are not providing them either */
SVN_ERR(wb->callbacks->dir_closed(NULL, NULL, NULL,
relpath,
- (left_source == NULL) /* added */,
+ FALSE /* added */,
wb->callback_baton,
scratch_pool));
@@ -2453,7 +2453,7 @@ wrap_dir_changed(const char *relpath,
SVN_ERR(wb->callbacks->dir_props_changed(&prop_state, &tree_conflicted,
relpath,
- (left_source == NULL) /* added */,
+ FALSE /* dir_was_added */,
prop_changes,
left_props,
wb->callback_baton,