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 2015/02/13 01:19:36 UTC
svn commit: r1659442 - in /subversion/trunk/subversion: libsvn_wc/
tests/libsvn_wc/
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));