subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rhuij...@apache.org
Subject svn commit: r1659442 - in /subversion/trunk/subversion: libsvn_wc/ tests/libsvn_wc/
Date Fri, 13 Feb 2015 00:19:36 GMT
Author: rhuijben
Date: Fri Feb 13 00:19:36 2015
New Revision: 1659442

URL: http://svn.apache.org/r1659442
Log:
Enable directly reading the node kind when reading conflicts from wc_db.
This avoids a database transaction for a common operation during conflict
resolving (and when retrieving conflicts via apis like 'svn info').

* subversion/libsvn_wc/conflicts.c
  (read_tree_conflict_desc): Add node kind argument and use that to
    fill kind.
  (svn_wc__conflict_invoke_resolver): Update caller. Fetch kind.
  (svn_wc__read_conflicts): Fetch and pass kind.
  (resolve_prop_conflict_on_node): Add conflicts argument.
  (svn_wc__mark_resolved_text_conflict,
   svn_wc__mark_resolved_prop_conflicts,
   conflict_status_walker): Update caller.

* subversion/libsvn_wc/copy.c
  (copy_versioned_file,
   remove_node_conflict_markers): Update caller.

* subversion/libsvn_wc/delete.c
  (create_delete_wq_items): Update caller.

* subversion/libsvn_wc/entries.c
  (read_one_entry): Update caller.

* subversion/libsvn_wc/props.c
  (svn_wc__create_prejfile): Update caller.

* subversion/libsvn_wc/questions.c
  (internal_conflicted_p): Update caller.

* subversion/libsvn_wc/wc_db.c
  (op_revert_txn,
   svn_wc__db_read_conflict): Update caller.
  (svn_wc__db_read_conflict_internal): Extend usage of error handling query.

* subversion/libsvn_wc/wc_db.h
  (svn_wc__db_read_conflict): Add optional argument.

* subversion/libsvn_wc/wc_db_private.h
  (svn_wc__db_read_conflict_internal): Add optional argument.

* subversion/libsvn_wc/wc_db_update_move.c
  (create_tree_conflict,
   get_tc_info,
   bump_moved_layer): Update caller.

* subversion/libsvn_wc/workqueue.c
  (run_prej_install): Update caller.

* subversion/tests/libsvn_wc/conflict-data-test.c
  (test_read_write_tree_conflicts): Add file to allow retrieving kind from db.

* subversion/tests/libsvn_wc/op-depth-test.c
  (check_db_conflicts,
   check_tree_conflict_repos_path): Update caller.

Modified:
    subversion/trunk/subversion/libsvn_wc/conflicts.c
    subversion/trunk/subversion/libsvn_wc/copy.c
    subversion/trunk/subversion/libsvn_wc/delete.c
    subversion/trunk/subversion/libsvn_wc/entries.c
    subversion/trunk/subversion/libsvn_wc/props.c
    subversion/trunk/subversion/libsvn_wc/questions.c
    subversion/trunk/subversion/libsvn_wc/wc_db.c
    subversion/trunk/subversion/libsvn_wc/wc_db.h
    subversion/trunk/subversion/libsvn_wc/wc_db_private.h
    subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c
    subversion/trunk/subversion/libsvn_wc/workqueue.c
    subversion/trunk/subversion/tests/libsvn_wc/conflict-data-test.c
    subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c

Modified: subversion/trunk/subversion/libsvn_wc/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.c Fri Feb 13 00:19:36 2015
@@ -1772,6 +1772,7 @@ static svn_error_t *
 read_tree_conflict_desc(svn_wc_conflict_description2_t **desc,
                         svn_wc__db_t *db,
                         const char *local_abspath,
+                        svn_node_kind_t node_kind,
                         const svn_skel_t *conflict_skel,
                         svn_wc_operation_t operation,
                         const svn_wc_conflict_version_t *left_version,
@@ -1792,51 +1793,18 @@ read_tree_conflict_desc(svn_wc_conflict_
   else if (reason == svn_wc_conflict_reason_unversioned ||
            reason == svn_wc_conflict_reason_obstructed)
     SVN_ERR(svn_io_check_path(local_abspath, &local_kind, scratch_pool));
-  else if (operation == svn_wc_operation_merge)
+  else if (action == svn_wc_conflict_action_delete
+           && left_version
+           && (operation == svn_wc_operation_update
+               ||operation == svn_wc_operation_switch)
+           && (reason == svn_wc_conflict_action_delete
+               || reason == svn_wc_conflict_reason_moved_away))
     {
-      /* ### If the merge replaced the node, this will read the kind of
-       * ### the merge-right node, which is not necessarily the node
-       * ### kind of the tree conflict victim.
-       * ### This needs the BASE node kind if the node was not replaced
-       * ### at the time the merge was run. But if the node was already
-       * ### replaced before the merge, it needs the kind of the replacing
-       * ### node. Ideally, we'd store the victim node kind in conflict
-       * ### storage instead of guessing it here...
-       */
-      /* Read the tree conflict victim's node kind from the working copy,
-         or if it doesn't exist directly from disk. */
-      SVN_ERR(svn_wc__db_read_kind(&local_kind, db, local_abspath,
-                                   TRUE /* allow missing */,
-                                   TRUE /* show deleted */,
-                                   FALSE /* show hidden */, scratch_pool));
-
-      if (local_kind == svn_node_unknown || local_kind == svn_node_none)
-        SVN_ERR(svn_io_check_path(local_abspath, &local_kind, scratch_pool));
-    }
-  else if (operation == svn_wc_operation_update ||
-           operation == svn_wc_operation_switch)
-    {
-      /* For updates, the left version corresponds to the pre-update state. */
-      if (left_version
-          && reason != svn_wc_conflict_reason_added
-          && reason != svn_wc_conflict_reason_replaced)
-        local_kind = left_version->node_kind;
-      else
-        {
-          /* No left version is available, so the conflict was flagged
-           * because of a locally added node which was not part of the
-           * BASE tree before the update. */
-          SVN_ERR(svn_wc__db_read_kind(&local_kind, db, local_abspath,
-                                       TRUE /* allow missing */,
-                                       TRUE /* show deleted */,
-                                       FALSE /* show hidden */, scratch_pool));
-          if (local_kind == svn_node_unknown || local_kind == svn_node_none)
-            SVN_ERR(svn_io_check_path(local_abspath, &local_kind,
-                                      scratch_pool));
-        }
+      /* We have nothing locally to take the kind from */
+      local_kind = left_version->node_kind;
     }
   else
-    SVN_ERR_MALFUNCTION();
+    local_kind = node_kind;
 
   *desc = svn_wc_conflict_description_create_tree2(local_abspath, local_kind,
                                                    operation,
@@ -2031,9 +1999,14 @@ svn_wc__conflict_invoke_resolver(svn_wc_
       svn_wc_conflict_result_t *result;
       svn_wc_conflict_description2_t *desc;
       svn_boolean_t resolved;
+      svn_node_kind_t node_kind;
+
+      SVN_ERR(svn_wc__db_read_kind(&node_kind, db, local_abspath, TRUE,
+                                   TRUE, FALSE, scratch_pool));
 
       SVN_ERR(read_tree_conflict_desc(&desc,
-                                      db, local_abspath, conflict_skel,
+                                      db, local_abspath, node_kind,
+                                      conflict_skel,
                                       operation, left_version, right_version,
                                       scratch_pool, scratch_pool));
 
@@ -2252,8 +2225,10 @@ svn_wc__read_conflicts(const apr_array_h
   const apr_array_header_t *locations;
   const svn_wc_conflict_version_t *left_version = NULL;
   const svn_wc_conflict_version_t *right_version = NULL;
+  svn_node_kind_t node_kind;
 
-  SVN_ERR(svn_wc__db_read_conflict(&conflict_skel, db, local_abspath,
+  SVN_ERR(svn_wc__db_read_conflict(&conflict_skel, &node_kind,
+                                   db, local_abspath,
                                    scratch_pool, scratch_pool));
 
   if (!conflict_skel)
@@ -2279,9 +2254,6 @@ svn_wc__read_conflicts(const apr_array_h
 
   if (prop_conflicted)
     {
-      svn_node_kind_t node_kind
-        = left_version ? left_version->node_kind : svn_node_unknown;
-
       SVN_ERR(read_prop_conflict_descs(cflcts,
                                        db, local_abspath, conflict_skel,
                                        create_tempfiles, node_kind,
@@ -2306,7 +2278,8 @@ svn_wc__read_conflicts(const apr_array_h
       svn_wc_conflict_description2_t *desc;
 
       SVN_ERR(read_tree_conflict_desc(&desc,
-                                      db, local_abspath, conflict_skel,
+                                      db, local_abspath, node_kind,
+                                      conflict_skel,
                                       operation, left_version, right_version,
                                       result_pool, scratch_pool));
 
@@ -2359,6 +2332,7 @@ static svn_error_t *
 resolve_prop_conflict_on_node(svn_boolean_t *did_resolve,
                               svn_wc__db_t *db,
                               const char *local_abspath,
+                              const svn_skel_t *conflicts,
                               const char *conflicted_propname,
                               svn_wc_conflict_choice_t conflict_choice,
                               const char *merged_file,
@@ -2374,18 +2348,11 @@ resolve_prop_conflict_on_node(svn_boolea
   apr_hash_t *old_props;
   apr_hash_t *resolve_from = NULL;
   svn_skel_t *work_items = NULL;
-  svn_skel_t *conflicts;
   svn_wc_operation_t operation;
   svn_boolean_t prop_conflicted;
 
   *did_resolve = FALSE;
 
-  SVN_ERR(svn_wc__db_read_conflict(&conflicts, db, local_abspath,
-                                   scratch_pool, scratch_pool));
-
-  if (!conflicts)
-    return SVN_NO_ERROR;
-
   SVN_ERR(svn_wc__conflict_read_info(&operation, NULL, NULL, &prop_conflicted,
                                      NULL, db, local_abspath, conflicts,
                                      scratch_pool, scratch_pool));
@@ -2729,7 +2696,7 @@ svn_wc__mark_resolved_text_conflict(svn_
   svn_skel_t *work_items;
   svn_skel_t *conflict;
 
-  SVN_ERR(svn_wc__db_read_conflict(&conflict, db, local_abspath,
+  SVN_ERR(svn_wc__db_read_conflict(&conflict, NULL, db, local_abspath,
                                    scratch_pool, scratch_pool));
 
   if (!conflict)
@@ -2756,10 +2723,17 @@ svn_wc__mark_resolved_prop_conflicts(svn
                                      apr_pool_t *scratch_pool)
 {
   svn_boolean_t ignored_result;
+  svn_skel_t *conflicts;
+
+  SVN_ERR(svn_wc__db_read_conflict(&conflicts, NULL, db, local_abspath,
+                                   scratch_pool, scratch_pool));
+
+  if (!conflicts)
+    return SVN_NO_ERROR;
 
   return svn_error_trace(resolve_prop_conflict_on_node(
                            &ignored_result,
-                           db, local_abspath, "",
+                           db, local_abspath, conflicts, "",
                            svn_wc_conflict_choose_merged, NULL,
                            NULL, NULL,
                            scratch_pool));
@@ -2834,7 +2808,7 @@ conflict_status_walker(void *baton,
 
   iterpool = svn_pool_create(scratch_pool);
 
-  SVN_ERR(svn_wc__db_read_conflict(&conflict, db, local_abspath,
+  SVN_ERR(svn_wc__db_read_conflict(&conflict, NULL, db, local_abspath,
                                    scratch_pool, scratch_pool));
 
   SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath, TRUE,
@@ -2935,6 +2909,7 @@ conflict_status_walker(void *baton,
             SVN_ERR(resolve_prop_conflict_on_node(&did_resolve,
                                                   db,
                                                   local_abspath,
+                                                  conflict,
                                                   cd->property_name,
                                                   my_choice,
                                                   result

Modified: subversion/trunk/subversion/libsvn_wc/copy.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/copy.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/copy.c (original)
+++ subversion/trunk/subversion/libsvn_wc/copy.c Fri Feb 13 00:19:36 2015
@@ -258,7 +258,7 @@ copy_versioned_file(svn_wc__db_t *db,
           svn_error_t *err;
 
           /* Is there a text conflict at the source path? */
-          SVN_ERR(svn_wc__db_read_conflict(&conflict, db, src_abspath,
+          SVN_ERR(svn_wc__db_read_conflict(&conflict, NULL, db, src_abspath,
                                          scratch_pool, scratch_pool));
 
           err = svn_wc__conflict_read_text_conflict(&conflict_working, NULL, NULL,
@@ -945,7 +945,7 @@ remove_node_conflict_markers(svn_wc__db_
 {
   svn_skel_t *conflict;
 
-  SVN_ERR(svn_wc__db_read_conflict(&conflict, db, src_abspath,
+  SVN_ERR(svn_wc__db_read_conflict(&conflict, NULL, db, src_abspath,
                                    scratch_pool, scratch_pool));
 
   /* Do we have conflict markers that should be removed? */

Modified: subversion/trunk/subversion/libsvn_wc/delete.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/delete.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/delete.c (original)
+++ subversion/trunk/subversion/libsvn_wc/delete.c Fri Feb 13 00:19:36 2015
@@ -135,7 +135,7 @@ create_delete_wq_items(svn_skel_t **work
       const apr_array_header_t *markers;
       int i;
 
-      SVN_ERR(svn_wc__db_read_conflict(&conflict, db, local_abspath,
+      SVN_ERR(svn_wc__db_read_conflict(&conflict, NULL, db, local_abspath,
                                        scratch_pool, scratch_pool));
 
       SVN_ERR(svn_wc__conflict_read_markers(&markers, db, local_abspath,

Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Fri Feb 13 00:19:36 2015
@@ -881,7 +881,7 @@ read_one_entry(const svn_wc_entry_t **ne
       svn_skel_t *conflict;
       svn_boolean_t text_conflicted;
       svn_boolean_t prop_conflicted;
-      SVN_ERR(svn_wc__db_read_conflict(&conflict, db, entry_abspath,
+      SVN_ERR(svn_wc__db_read_conflict(&conflict, NULL, db, entry_abspath,
                                        scratch_pool, scratch_pool));
 
       SVN_ERR(svn_wc__conflict_read_info(NULL, NULL, &text_conflicted,

Modified: subversion/trunk/subversion/libsvn_wc/props.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/props.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/props.c (original)
+++ subversion/trunk/subversion/libsvn_wc/props.c Fri Feb 13 00:19:36 2015
@@ -750,7 +750,7 @@ svn_wc__create_prejfile(const char **tmp
       apr_hash_t *conflicted_props;
       svn_skel_t *conflicts;
 
-      SVN_ERR(svn_wc__db_read_conflict(&conflicts, db, local_abspath,
+      SVN_ERR(svn_wc__db_read_conflict(&conflicts, NULL, db, local_abspath,
                                       scratch_pool, scratch_pool));
 
       SVN_ERR(svn_wc__conflict_read_info(&operation, NULL, NULL, NULL, NULL,

Modified: subversion/trunk/subversion/libsvn_wc/questions.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/questions.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/questions.c (original)
+++ subversion/trunk/subversion/libsvn_wc/questions.c Fri Feb 13 00:19:36 2015
@@ -369,7 +369,7 @@ internal_conflicted_p(svn_boolean_t *tex
   svn_boolean_t resolved_text = FALSE;
   svn_boolean_t resolved_props = FALSE;
 
-  SVN_ERR(svn_wc__db_read_conflict(&conflicts, db, local_abspath,
+  SVN_ERR(svn_wc__db_read_conflict(&conflicts, NULL, db, local_abspath,
                                    scratch_pool, scratch_pool));
 
   if (!conflicts)

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Fri Feb 13 00:19:36 2015
@@ -6766,7 +6766,7 @@ op_revert_txn(void *baton,
     }
   else
     {
-      SVN_ERR(svn_wc__db_read_conflict_internal(&conflict, wcroot,
+      SVN_ERR(svn_wc__db_read_conflict_internal(&conflict, NULL, wcroot,
                                                 local_relpath,
                                                 scratch_pool, scratch_pool));
     }
@@ -13859,6 +13859,7 @@ svn_wc__db_get_conflict_marker_files(apr
 
 svn_error_t *
 svn_wc__db_read_conflict(svn_skel_t **conflict,
+                         svn_node_kind_t *kind,
                          svn_wc__db_t *db,
                          const char *local_abspath,
                          apr_pool_t *result_pool,
@@ -13872,14 +13873,15 @@ svn_wc__db_read_conflict(svn_skel_t **co
                               local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
-  return svn_error_trace(svn_wc__db_read_conflict_internal(conflict, wcroot,
-                                                           local_relpath,
+  return svn_error_trace(svn_wc__db_read_conflict_internal(conflict, kind,
+                                                           wcroot, local_relpath,
                                                            result_pool,
                                                            scratch_pool));
 }
 
 svn_error_t *
 svn_wc__db_read_conflict_internal(svn_skel_t **conflict,
+                                  svn_node_kind_t *kind,
                                   svn_wc__db_wcroot_t *wcroot,
                                   const char *local_relpath,
                                   apr_pool_t *result_pool,
@@ -13888,6 +13890,9 @@ svn_wc__db_read_conflict_internal(svn_sk
   svn_sqlite__stmt_t *stmt;
   svn_boolean_t have_row;
 
+  if (kind)
+    *kind = svn_node_none;
+
   /* Check if we have a conflict in ACTUAL */
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
                                     STMT_SELECT_ACTUAL_NODE));
@@ -13895,12 +13900,13 @@ svn_wc__db_read_conflict_internal(svn_sk
 
   SVN_ERR(svn_sqlite__step(&have_row, stmt));
 
-  if (! have_row)
+  if (!have_row || kind)
     {
       /* Do this while stmt is still open to avoid closing the sqlite
          transaction and then reopening. */
       svn_sqlite__stmt_t *stmt_node;
       svn_error_t *err;
+      svn_boolean_t have_info = FALSE;
 
       err = svn_sqlite__get_statement(&stmt_node, wcroot->sdb,
                                       STMT_SELECT_NODE_INFO);
@@ -13912,25 +13918,47 @@ svn_wc__db_read_conflict_internal(svn_sk
                                 local_relpath);
 
       if (!err)
-        err = svn_sqlite__step(&have_row, stmt_node);
+        err = svn_sqlite__step(&have_info, stmt_node);
+
+      if (!err && kind && have_info)
+        {
+          svn_wc__db_status_t status;
+          int op_depth = svn_sqlite__column_int(stmt_node, 0);
+
+          status = svn_sqlite__column_token(stmt_node, 3, presence_map);
+
+          if (op_depth > 0)
+            err = convert_to_working_status(&status, status);
+
+          if (!err && (status == svn_wc__db_status_normal
+                       || status == svn_wc__db_status_added
+                       || status == svn_wc__db_status_deleted
+                       || status == svn_wc__db_status_incomplete))
+            {
+              *kind = svn_sqlite__column_token(stmt_node, 4, kind_map);
+            }
+        }
 
       if (stmt_node)
         err = svn_error_compose_create(err,
                                        svn_sqlite__reset(stmt_node));
 
-      SVN_ERR(svn_error_compose_create(err, svn_sqlite__reset(stmt)));
-
-      if (have_row)
+      if (!have_row || err)
         {
-          *conflict = NULL;
-          return SVN_NO_ERROR;
-        }
+          SVN_ERR(svn_error_compose_create(err, svn_sqlite__reset(stmt)));
 
-      return svn_error_createf(SVN_ERR_WC_PATH_NOT_FOUND, NULL,
-                               _("The node '%s' was not found."),
+          if (have_info)
+            {
+              *conflict = NULL;
+              return SVN_NO_ERROR;
+            }
+
+          return svn_error_createf(SVN_ERR_WC_PATH_NOT_FOUND, NULL,
+                                   _("The node '%s' was not found."),
                                    path_for_error_message(wcroot,
                                                           local_relpath,
                                                           scratch_pool));
+        }
     }
 
   {

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.h?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.h Fri Feb 13 00:19:36 2015
@@ -2350,7 +2350,8 @@ svn_wc__db_get_conflict_marker_files(apr
                                      apr_pool_t *scratch_pool);
 
 /* Read the conflict information recorded on LOCAL_ABSPATH in *CONFLICT,
-   an editable conflict skel.
+   an editable conflict skel. If kind is not NULL, also read the node kind
+   in *KIND. (SHOW_HIDDEN: false, SHOW_DELETED: true)
 
    If the node exists, but does not have a conflict set *CONFLICT to NULL,
    otherwise return a SVN_ERR_WC_PATH_NOT_FOUND error.
@@ -2359,6 +2360,7 @@ svn_wc__db_get_conflict_marker_files(apr
    SCRATCH_POOL */
 svn_error_t *
 svn_wc__db_read_conflict(svn_skel_t **conflict,
+                         svn_node_kind_t *kind,
                          svn_wc__db_t *db,
                          const char *local_abspath,
                          apr_pool_t *result_pool,

Modified: subversion/trunk/subversion/libsvn_wc/wc_db_private.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db_private.h?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db_private.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db_private.h Fri Feb 13 00:19:36 2015
@@ -328,6 +328,7 @@ svn_wc__db_fetch_repos_info(const char *
    DB+LOCAL_ABSPATH, and outputting relpaths instead of abspaths. */
 svn_error_t *
 svn_wc__db_read_conflict_internal(svn_skel_t **conflict,
+                                  svn_node_kind_t *kind,
                                   svn_wc__db_wcroot_t *wcroot,
                                   const char *local_relpath,
                                   apr_pool_t *result_pool,

Modified: subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c Fri Feb 13 00:19:36 2015
@@ -377,7 +377,8 @@ create_tree_conflict(svn_skel_t **confli
                                            child_relpath, scratch_pool);
     }
 
-  err = svn_wc__db_read_conflict_internal(&conflict, wcroot, local_relpath,
+  err = svn_wc__db_read_conflict_internal(&conflict, NULL,
+                                          wcroot, local_relpath,
                                           result_pool, scratch_pool);
   if (err && err->apr_err != SVN_ERR_WC_PATH_NOT_FOUND)
     return svn_error_trace(err);
@@ -1364,8 +1365,8 @@ get_tc_info(svn_wc_operation_t *operatio
   svn_skel_t *conflict_skel;
 
   /* Check for tree conflict on src. */
-  SVN_ERR(svn_wc__db_read_conflict(&conflict_skel, db,
-                                   src_abspath,
+  SVN_ERR(svn_wc__db_read_conflict(&conflict_skel, NULL,
+                                   db, src_abspath,
                                    scratch_pool, scratch_pool));
   if (!conflict_skel)
     return svn_error_createf(SVN_ERR_WC_CONFLICT_RESOLVER_FAILURE, NULL,
@@ -2156,7 +2157,7 @@ bump_moved_layer(svn_boolean_t *recurse,
         return SVN_NO_ERROR;
       }
 
-    SVN_ERR(svn_wc__db_read_conflict_internal(&conflict, wcroot,
+    SVN_ERR(svn_wc__db_read_conflict_internal(&conflict, NULL, wcroot,
                                               src_root_relpath,
                                               scratch_pool, scratch_pool));
   }

Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Fri Feb 13 00:19:36 2015
@@ -1107,7 +1107,7 @@ run_prej_install(work_item_baton_t *wqb,
   SVN_ERR(svn_wc__db_from_relpath(&local_abspath, db, wri_abspath,
                                   local_relpath, scratch_pool, scratch_pool));
 
-  SVN_ERR(svn_wc__db_read_conflict(&conflicts, db, local_abspath,
+  SVN_ERR(svn_wc__db_read_conflict(&conflicts, NULL, db, local_abspath,
                                    scratch_pool, scratch_pool));
 
   SVN_ERR(svn_wc__conflict_read_prop_conflict(&prejfile_abspath,
@@ -1287,7 +1287,7 @@ run_set_text_conflict_markers(work_item_
     /* Check if we should combine with a property conflict... */
     svn_skel_t *conflicts;
 
-    SVN_ERR(svn_wc__db_read_conflict(&conflicts, db, local_abspath,
+    SVN_ERR(svn_wc__db_read_conflict(&conflicts, NULL, db, local_abspath,
                                      scratch_pool, scratch_pool));
 
     if (! conflicts)
@@ -1353,7 +1353,7 @@ run_set_property_conflict_marker(work_it
     svn_skel_t *conflicts;
     apr_hash_t *prop_names;
 
-    SVN_ERR(svn_wc__db_read_conflict(&conflicts, db, local_abspath,
+    SVN_ERR(svn_wc__db_read_conflict(&conflicts, NULL, db, local_abspath,
                                      scratch_pool, scratch_pool));
 
     if (! conflicts)

Modified: subversion/trunk/subversion/tests/libsvn_wc/conflict-data-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/conflict-data-test.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/conflict-data-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/conflict-data-test.c Fri Feb 13 00:19:36 2015
@@ -294,6 +294,7 @@ test_read_write_tree_conflicts(const svn
   SVN_ERR(sbox_wc_mkdir(&sbox, "A"));
   SVN_ERR(sbox_wc_mkdir(&sbox, "A/bar"));
   SVN_ERR(sbox_file_write(&sbox, "A/foo", ""));
+  SVN_ERR(sbox_wc_add(&sbox, "A/foo"));
 
   conflict1 = tree_conflict_create(child1_abspath, svn_node_file,
                                    svn_wc_operation_merge,

Modified: subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c?rev=1659442&r1=1659441&r2=1659442&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c Fri Feb 13 00:19:36 2015
@@ -509,7 +509,8 @@ check_db_conflicts(svn_test__sandbox_t *
       local_abspath = svn_dirent_join(b->wc_abspath, info->local_relpath,
                                       iterpool);
 
-      SVN_ERR(svn_wc__db_read_conflict(&conflict, b->wc_ctx->db, local_abspath,
+      SVN_ERR(svn_wc__db_read_conflict(&conflict, NULL,
+                                       b->wc_ctx->db, local_abspath,
                                        iterpool, iterpool));
 
       SVN_TEST_ASSERT(conflict != NULL);
@@ -5928,7 +5929,7 @@ check_tree_conflict_repos_path(svn_test_
   const apr_array_header_t *locations;
   svn_boolean_t text_conflicted, prop_conflicted, tree_conflicted;
 
-  SVN_ERR(svn_wc__db_read_conflict(&conflict, b->wc_ctx->db,
+  SVN_ERR(svn_wc__db_read_conflict(&conflict, NULL, b->wc_ctx->db,
                                    sbox_wc_path(b, wc_path),
                                    b->pool, b->pool));
 



Mime
View raw message