summaryrefslogtreecommitdiff
path: root/subversion/libsvn_wc/tree_conflicts.c
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/libsvn_wc/tree_conflicts.c')
-rw-r--r--subversion/libsvn_wc/tree_conflicts.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/subversion/libsvn_wc/tree_conflicts.c b/subversion/libsvn_wc/tree_conflicts.c
index 4445c96..caf39ed 100644
--- a/subversion/libsvn_wc/tree_conflicts.c
+++ b/subversion/libsvn_wc/tree_conflicts.c
@@ -46,6 +46,7 @@ static const svn_token_map_t node_kind_map[] =
{ "file", svn_node_file },
{ "dir", svn_node_dir },
{ "", svn_node_unknown },
+ /* ### should also map svn_node_symlink */
{ NULL }
};
@@ -353,13 +354,13 @@ svn_wc__serialize_conflict(svn_skel_t **skel,
else
SVN_ERR(prepend_version_info_skel(c_skel, &null_version, result_pool));
- /* reason */
- skel_prepend_enum(c_skel, svn_wc__conflict_reason_map, conflict->reason,
- result_pool);
+ /* local change */
+ skel_prepend_enum(c_skel, svn_wc__conflict_reason_map,
+ conflict->reason, result_pool);
- /* action */
- skel_prepend_enum(c_skel, svn_wc__conflict_action_map, conflict->action,
- result_pool);
+ /* incoming change */
+ skel_prepend_enum(c_skel, svn_wc__conflict_action_map,
+ conflict->action, result_pool);
/* operation */
skel_prepend_enum(c_skel, svn_wc__operation_map, conflict->operation,
@@ -367,8 +368,10 @@ svn_wc__serialize_conflict(svn_skel_t **skel,
/* node_kind */
SVN_ERR_ASSERT(conflict->node_kind == svn_node_dir
- || conflict->node_kind == svn_node_file);
- skel_prepend_enum(c_skel, node_kind_map, conflict->node_kind, result_pool);
+ || conflict->node_kind == svn_node_file
+ || conflict->node_kind == svn_node_none);
+ skel_prepend_enum(c_skel, node_kind_map, conflict->node_kind,
+ result_pool);
/* Victim path (escaping separator chars). */
victim_basename = svn_dirent_basename(conflict->local_abspath, result_pool);
@@ -409,10 +412,9 @@ svn_wc__add_tree_conflict(svn_wc_context_t *wc_ctx,
svn_error_t *err;
SVN_ERR_ASSERT(conflict != NULL);
- SVN_ERR_ASSERT(conflict->operation == svn_wc_operation_merge
- || (conflict->reason != svn_wc_conflict_reason_moved_away
- && conflict->reason != svn_wc_conflict_reason_moved_here)
- );
+ SVN_ERR_ASSERT(conflict->operation == svn_wc_operation_merge ||
+ (conflict->reason != svn_wc_conflict_reason_moved_away &&
+ conflict->reason != svn_wc_conflict_reason_moved_here));
/* Re-adding an existing tree conflict victim is an error. */
err = svn_wc__internal_conflicted_p(NULL, NULL, &existing_conflict,
@@ -443,7 +445,7 @@ svn_wc__add_tree_conflict(svn_wc_context_t *wc_ctx,
NULL,
scratch_pool, scratch_pool));
- switch(conflict->operation)
+ switch (conflict->operation)
{
case svn_wc_operation_update:
default:
@@ -483,8 +485,10 @@ svn_wc__get_tree_conflict(const svn_wc_conflict_description2_t **tree_conflict,
int i;
SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
- SVN_ERR(svn_wc__read_conflicts(&conflicts,
- wc_ctx->db, local_abspath, FALSE,
+ SVN_ERR(svn_wc__read_conflicts(&conflicts, NULL,
+ wc_ctx->db, local_abspath,
+ FALSE /* temp files */,
+ TRUE /* only tree conflicts */,
scratch_pool, scratch_pool));
if (!conflicts || conflicts->nelts == 0)
@@ -501,8 +505,7 @@ svn_wc__get_tree_conflict(const svn_wc_conflict_description2_t **tree_conflict,
if (desc->kind == svn_wc_conflict_kind_tree)
{
- *tree_conflict = svn_wc__conflict_description2_dup(desc,
- result_pool);
+ *tree_conflict = svn_wc_conflict_description2_dup(desc, result_pool);
return SVN_NO_ERROR;
}
}