You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2012/04/23 17:50:45 UTC

svn commit: r1329295 - /subversion/trunk/subversion/libsvn_client/commit_util.c

Author: hwright
Date: Mon Apr 23 15:50:44 2012
New Revision: 1329295

URL: http://svn.apache.org/viewvc?rev=1329295&view=rev
Log:
* subversion/libsvn_client/commit_util.c
  (do_item_commit): Don't leak potential errors on prop changes.

Modified:
    subversion/trunk/subversion/libsvn_client/commit_util.c

Modified: subversion/trunk/subversion/libsvn_client/commit_util.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/commit_util.c?rev=1329295&r1=1329294&r2=1329295&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/commit_util.c (original)
+++ subversion/trunk/subversion/libsvn_client/commit_util.c Mon Apr 23 15:50:44 2012
@@ -1623,14 +1623,20 @@ do_item_commit(void **dir_baton,
               prop = APR_ARRAY_IDX(prop_changes, ctr, svn_prop_t *);
               if (kind == svn_node_file)
                 {
-                  editor->change_file_prop(file_baton, prop->name,
-                                           prop->value, pool);
+                  err = editor->change_file_prop(file_baton, prop->name,
+                                                 prop->value, pool);
                 }
               else
                 {
-                  editor->change_dir_prop(*dir_baton, prop->name,
-                                          prop->value, pool);
+                  err = editor->change_dir_prop(*dir_baton, prop->name,
+                                                prop->value, pool);
                 }
+
+              if (err)
+                return svn_error_trace(fixup_commit_error(local_abspath,
+                                                          icb->base_url,
+                                                          path, kind, err,
+                                                          ctx, pool));
             }
         }
     }
@@ -1706,14 +1712,21 @@ do_item_commit(void **dir_baton,
                                    svn_prop_t *);
               if (kind == svn_node_file)
                 {
-                  editor->change_file_prop(file_baton, prop->name,
+                  err = editor->change_file_prop(file_baton, prop->name,
                                            prop->value, pool);
                 }
               else
                 {
-                  editor->change_dir_prop(*dir_baton, prop->name,
+                  err = editor->change_dir_prop(*dir_baton, prop->name,
                                           prop->value, pool);
                 }
+
+              if (err)
+                return svn_error_trace(fixup_commit_error(local_abspath,
+                                                          icb->base_url,
+                                                          path, kind,
+                                                          err, ctx,
+                                                          pool));
             }
         }
     }