Author: rhuijben
Date: Tue Jul 3 13:23:24 2012
New Revision: 1356717
URL: http://svn.apache.org/viewvc?rev=1356717&view=rev
Log:
Replace all calls to svn_wc__db_read_conflicts() by a call to a new
svn_wc__read_conflicts() to allow switching more of the wc_db api to
conflict skels in a future patch.
No functional changes, but removes some dead code.
* subversion/include/private/svn_wc_private.h
(svn_wc__node_get_conflict_info): Remove unused function.
* subversion/libsvn_wc/adm_ops.c
(svn_wc__delete_many,
svn_wc__delete_internal): Update caller.
* subversion/libsvn_wc/conflicts.c
(svn_wc__read_conflicts): New function.
(resolve_conflict_on_node,
conflict_status_walker): Update caller.
* subversion/libsvn_wc/copy.c
(copy_versioned_file,
remove_node_conflict_markers): Update caller.
* subversion/libsvn_wc/entries.c
(read_one_entry): Update callers.
* subversion/libsvn_wc/info.c
(build_info_for_node,
svn_wc__get_info): Update callers.
* subversion/libsvn_wc/node.c
(svn_wc__node_get_conflict_info): Remove function.
* subversion/libsvn_wc/props.c
(svn_wc__get_prejfile_abspath): Remove function.
* subversion/libsvn_wc/questions.c
(svn_wc__internal_conflicted_p): Update caller.
* subversion/libsvn_wc/tree_conflicts.c
(svn_wc__get_tree_conflict): Update caller.
* subversion/libsvn_wc/wc.h
(svn_wc__read_conflicts): New function.
* subversion/libsvn_wc/workqueue.c
(run_set_text_conflict_markers,
run_set_property_conflict_marker): Update callers.
Modified:
subversion/trunk/subversion/include/private/svn_wc_private.h
subversion/trunk/subversion/libsvn_wc/adm_ops.c
subversion/trunk/subversion/libsvn_wc/conflicts.c
subversion/trunk/subversion/libsvn_wc/copy.c
subversion/trunk/subversion/libsvn_wc/entries.c
subversion/trunk/subversion/libsvn_wc/info.c
subversion/trunk/subversion/libsvn_wc/node.c
subversion/trunk/subversion/libsvn_wc/props.c
subversion/trunk/subversion/libsvn_wc/questions.c
subversion/trunk/subversion/libsvn_wc/tree_conflicts.c
subversion/trunk/subversion/libsvn_wc/wc.h
subversion/trunk/subversion/libsvn_wc/workqueue.c
Modified: subversion/trunk/subversion/include/private/svn_wc_private.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_wc_private.h?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_wc_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_wc_private.h Tue Jul 3
13:23:24 2012
@@ -728,27 +728,6 @@ svn_wc__node_get_lock_info(const char **
apr_pool_t *scratch_pool);
/**
- * A hack to remove the last entry from libsvn_client. This simply fetches an
- * some values from WC-NG, and puts the needed bits into the output parameters,
- * allocated in @a result_pool.
- *
- * All output arguments can be NULL to indicate that the
- * caller is not interested in the specific result.
- *
- * @a local_abspath and @a wc_ctx are what you think they are.
- */
-svn_error_t *
-svn_wc__node_get_conflict_info(const char **conflict_old,
- const char **conflict_new,
- const char **conflict_wrk,
- const char **prejfile,
- svn_wc_context_t *wc_ctx,
- const char *local_abspath,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool);
-
-
-/**
* Acquire a recursive write lock for @a local_abspath. If @a lock_anchor
* is true, determine if @a local_abspath has an anchor that should be locked
* instead; otherwise, @a local_abspath must be a versioned directory.
Modified: subversion/trunk/subversion/libsvn_wc/adm_ops.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_ops.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_ops.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_ops.c Tue Jul 3 13:23:24 2012
@@ -691,8 +691,8 @@ svn_wc__delete_many(svn_wc_context_t *wc
/* Read conflicts, to allow deleting the markers after updating the DB */
if (!keep_local && conflicted)
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, local_abspath,
- scratch_pool, iterpool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ scratch_pool, iterpool));
}
@@ -836,8 +836,8 @@ svn_wc__delete_internal(svn_wc_context_t
/* Read conflicts, to allow deleting the markers after updating the DB */
if (!keep_local && conflicted)
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, local_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ scratch_pool, scratch_pool));
SVN_ERR(svn_wc__db_op_delete(db, local_abspath, moved_to_abspath,
notify_func, notify_baton,
Modified: subversion/trunk/subversion/libsvn_wc/conflicts.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/conflicts.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/conflicts.c Tue Jul 3 13:23:24 2012
@@ -1791,6 +1791,19 @@ svn_wc__conflict_invoke_resolver(svn_wc_
return SVN_NO_ERROR;
}
+svn_error_t *
+svn_wc__read_conflicts(const apr_array_header_t **conflicts,
+ svn_wc__db_t *db,
+ const char *local_abspath,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool)
+{
+ return svn_error_trace(
+ svn_wc__db_read_conflicts(conflicts,
+ db, local_abspath,
+ result_pool, scratch_pool));
+}
+
/*** Resolving a conflict automatically ***/
@@ -1831,8 +1844,8 @@ resolve_conflict_on_node(svn_boolean_t *
*did_resolve = FALSE;
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, local_abspath,
- pool, pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ pool, pool));
for (i = 0; i < conflicts->nelts; i++)
{
@@ -2073,8 +2086,8 @@ conflict_status_walker(void *baton,
iterpool = svn_pool_create(scratch_pool);
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, local_abspath,
- scratch_pool, iterpool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ scratch_pool, iterpool));
for (i = 0; i < conflicts->nelts; i++)
{
Modified: subversion/trunk/subversion/libsvn_wc/copy.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/copy.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/copy.c (original)
+++ subversion/trunk/subversion/libsvn_wc/copy.c Tue Jul 3 13:23:24 2012
@@ -218,8 +218,8 @@ copy_versioned_file(svn_wc__db_t *db,
const char *conflict_working = NULL;
/* Is there a text conflict at the source path? */
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, src_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, src_abspath,
+ scratch_pool, scratch_pool));
for (i = 0; i < conflicts->nelts; i++)
{
@@ -793,8 +793,8 @@ remove_node_conflict_markers(svn_wc__db_
{
const apr_array_header_t *conflicts;
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, src_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, src_abspath,
+ scratch_pool, scratch_pool));
/* Do we have conflict markers that should be removed? */
if (conflicts != NULL)
Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Tue Jul 3 13:23:24 2012
@@ -452,9 +452,9 @@ read_one_entry(const svn_wc_entry_t **ne
child_abspath = svn_dirent_join(dir_abspath, child_name,
scratch_pool);
- SVN_ERR(svn_wc__db_read_conflicts(&child_conflicts,
- db, child_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&child_conflicts,
+ db, child_abspath,
+ scratch_pool, scratch_pool));
for (j = 0; j < child_conflicts->nelts; j++)
{
@@ -875,8 +875,8 @@ read_one_entry(const svn_wc_entry_t **ne
{
const apr_array_header_t *conflicts;
int j;
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, entry_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, entry_abspath,
+ scratch_pool, scratch_pool));
for (j = 0; j < conflicts->nelts; j++)
{
Modified: subversion/trunk/subversion/libsvn_wc/info.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/info.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/info.c (original)
+++ subversion/trunk/subversion/libsvn_wc/info.c Tue Jul 3 13:23:24 2012
@@ -279,9 +279,9 @@ build_info_for_node(svn_wc__info2_t **in
local_abspath, result_pool, scratch_pool));
if (conflicted)
- SVN_ERR(svn_wc__db_read_conflicts(&wc_info->conflicts, db,
- local_abspath,
- result_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&wc_info->conflicts, db,
+ local_abspath,
+ result_pool, scratch_pool));
else
wc_info->conflicts = NULL;
@@ -524,9 +524,9 @@ svn_wc__get_info(svn_wc_context_t *wc_ct
info->repos_root_URL = repos_root_url;
info->repos_UUID = repos_uuid;
- SVN_ERR(svn_wc__db_read_conflicts(&info->wc_info->conflicts,
- wc_ctx->db, this_abspath,
- iterpool, iterpool));
+ SVN_ERR(svn_wc__read_conflicts(&info->wc_info->conflicts,
+ wc_ctx->db, this_abspath,
+ iterpool, iterpool));
if (! info->wc_info->conflicts || ! info->wc_info->conflicts->nelts)
continue;
Modified: subversion/trunk/subversion/libsvn_wc/node.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/node.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/node.c (original)
+++ subversion/trunk/subversion/libsvn_wc/node.c Tue Jul 3 13:23:24 2012
@@ -1250,78 +1250,6 @@ svn_wc__node_get_schedule(svn_wc_schedul
}
svn_error_t *
-svn_wc__node_get_conflict_info(const char **conflict_old,
- const char **conflict_new,
- const char **conflict_wrk,
- const char **prejfile,
- svn_wc_context_t *wc_ctx,
- const char *local_abspath,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool)
-{
- svn_boolean_t conflicted;
-
- SVN_ERR(svn_wc__db_read_info(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, &conflicted,
- NULL, NULL, NULL, NULL, NULL, NULL,
- wc_ctx->db, local_abspath,
- scratch_pool, scratch_pool));
-
- if (conflict_old)
- *conflict_old = NULL;
- if (conflict_new)
- *conflict_new = NULL;
- if (conflict_wrk)
- *conflict_wrk = NULL;
- if (prejfile)
- *prejfile = NULL;
-
- if (conflicted
- && (conflict_old || conflict_new || conflict_wrk || prejfile))
- {
- const apr_array_header_t *conflicts;
- int j;
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, wc_ctx->db, local_abspath,
- scratch_pool, scratch_pool));
-
- for (j = 0; j < conflicts->nelts; j++)
- {
- const svn_wc_conflict_description2_t *cd;
- cd = APR_ARRAY_IDX(conflicts, j,
- const svn_wc_conflict_description2_t *);
-
- switch (cd->kind)
- {
- case svn_wc_conflict_kind_text:
- if (conflict_old)
- *conflict_old = svn_dirent_basename(cd->base_abspath,
- result_pool);
-
- if (conflict_new)
- *conflict_new = svn_dirent_basename(cd->their_abspath,
- result_pool);
-
- if (conflict_wrk)
- *conflict_wrk = svn_dirent_basename(cd->my_abspath,
- result_pool);
- break;
-
- case svn_wc_conflict_kind_property:
- if (prejfile)
- *prejfile = svn_dirent_basename(cd->their_abspath,
- result_pool);
- break;
- case svn_wc_conflict_kind_tree:
- break;
- }
- }
- }
-
- return SVN_NO_ERROR;
-}
-
-svn_error_t *
svn_wc__node_clear_dav_cache_recursive(svn_wc_context_t *wc_ctx,
const char *local_abspath,
apr_pool_t *scratch_pool)
Modified: subversion/trunk/subversion/libsvn_wc/props.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/props.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/props.c (original)
+++ subversion/trunk/subversion/libsvn_wc/props.c Tue Jul 3 13:23:24 2012
@@ -101,8 +101,8 @@ svn_wc__get_prejfile_abspath(const char
const apr_array_header_t *conflicts;
int i;
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, local_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ scratch_pool, scratch_pool));
for (i = 0; i < conflicts->nelts; i++)
{
Modified: subversion/trunk/subversion/libsvn_wc/questions.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/questions.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/questions.c (original)
+++ subversion/trunk/subversion/libsvn_wc/questions.c Tue Jul 3 13:23:24 2012
@@ -392,7 +392,6 @@ svn_wc__internal_conflicted_p(svn_boolea
apr_pool_t *scratch_pool)
{
svn_node_kind_t kind;
- svn_kind_t node_kind;
const apr_array_header_t *conflicts;
int i;
svn_boolean_t conflicted;
@@ -406,7 +405,7 @@ svn_wc__internal_conflicted_p(svn_boolea
if (tree_conflicted_p)
*tree_conflicted_p = FALSE;
- SVN_ERR(svn_wc__db_read_info(NULL, &node_kind, NULL, NULL, NULL, NULL, NULL,
+ SVN_ERR(svn_wc__db_read_info(NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, &conflicted,
NULL, NULL, NULL, NULL, NULL, NULL,
@@ -416,9 +415,8 @@ svn_wc__internal_conflicted_p(svn_boolea
if (!conflicted)
return SVN_NO_ERROR;
-
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, local_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ scratch_pool, scratch_pool));
for (i = 0; i < conflicts->nelts; i++)
{
Modified: subversion/trunk/subversion/libsvn_wc/tree_conflicts.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/tree_conflicts.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/tree_conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_wc/tree_conflicts.c Tue Jul 3 13:23:24
2012
@@ -472,9 +472,9 @@ svn_wc__get_tree_conflict(const svn_wc_c
int i;
SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts,
- wc_ctx->db, local_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts,
+ wc_ctx->db, local_abspath,
+ scratch_pool, scratch_pool));
if (!conflicts || conflicts->nelts == 0)
{
Modified: subversion/trunk/subversion/libsvn_wc/wc.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc.h?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc.h Tue Jul 3 13:23:24 2012
@@ -690,6 +690,22 @@ svn_wc__write_check(svn_wc__db_t *db,
const char *local_abspath,
apr_pool_t *scratch_pool);
+/* Read into CONFLICTS svn_wc_conflict_description2_t* structs
+ * for all conflicts that have LOCAL_ABSPATH as victim.
+ *
+ * Victim must be versioned or be part of a tree conflict.
+ *
+ * Allocate *CONFLICTS in RESULT_POOL and do temporary allocations in
+ * SCRATCH_POOL
+ */
+svn_error_t *
+svn_wc__read_conflicts(const apr_array_header_t **conflicts,
+ svn_wc__db_t *db,
+ const char *local_abspath,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
+
/* Perform the actual merge of file changes between an original file,
identified by ORIGINAL_CHECKSUM (an empty file if NULL) to a new file
identified by NEW_CHECKSUM in the working copy identified by WRI_ABSPATH.
Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=1356717&r1=1356716&r2=1356717&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Tue Jul 3 13:23:24 2012
@@ -1338,8 +1338,8 @@ run_set_text_conflict_markers(svn_wc__db
conflict_skel = svn_wc__conflict_skel_create(scratch_pool);
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, local_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ scratch_pool, scratch_pool));
if (conflicts)
for (i = 0; i < conflicts->nelts; i++)
@@ -1425,8 +1425,8 @@ run_set_property_conflict_marker(svn_wc_
conflict_skel = svn_wc__conflict_skel_create(scratch_pool);
- SVN_ERR(svn_wc__db_read_conflicts(&conflicts, db, local_abspath,
- scratch_pool, scratch_pool));
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, db, local_abspath,
+ scratch_pool, scratch_pool));
if (conflicts)
for (i = 0; i < conflicts->nelts; i++)