diff options
Diffstat (limited to 'subversion/libsvn_wc/tree_conflicts.c')
| -rw-r--r-- | subversion/libsvn_wc/tree_conflicts.c | 37 | 
1 files changed, 20 insertions, 17 deletions
| diff --git a/subversion/libsvn_wc/tree_conflicts.c b/subversion/libsvn_wc/tree_conflicts.c index 4445c96ec09c..caf39eda9878 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;          }      } | 
