Author: stsp
Date: Thu Jun 25 07:32:25 2015
New Revision: 1687415
URL: http://svn.apache.org/r1687415
Log:
Replace macros svn_client_conflict_get_src_left_version() and
svn_client_conflict_get_src_right_version() with a new set of
functions returning the same information. Replace some use of
the svn_wc_conflict_version_t structure with a few individual
parameters and variables.
* subversion/include/svn_client.h
(svn_client_conflict_get_repos_info,
svn_client_conflict_get_incoming_old_repos_location,
svn_client_conflict_get_incoming_new_repos_location): Declare.
(svn_client_conflict_get_src_left_version,
svn_client_conflict_get_src_right_version): Delete.
* subversion/libsvn_client/resolved.c
(svn_client_conflict_get_repos_info,
svn_client_conflict_get_incoming_old_repos_location,
svn_client_conflict_get_incoming_new_repos_location): Implement.
* subversion/svn/cl-conflicts.c
(svn_cl__get_human_readable_tree_conflict_description,
add_conflict_version_xml, append_tree_conflict_info_xml): Update callers.
* subversion/svn/cl.h
(svn_cl__node_description): Expect several input parameters instead of
a single svn_wc_conflict_version_t struct. Otherwise, callers would now
have to create a temporary struct containing the same information.
* subversion/svn/conflict-callbacks.c
(handle_tree_conflict): Update caller.
* subversion/svn/info-cmd.c
(print_info): Update caller.
* subversion/svn/util.c
(svn_cl__node_description): Use several input parameters instead of struct.
Modified:
subversion/trunk/subversion/include/svn_client.h
subversion/trunk/subversion/libsvn_client/resolved.c
subversion/trunk/subversion/svn/cl-conflicts.c
subversion/trunk/subversion/svn/cl.h
subversion/trunk/subversion/svn/conflict-callbacks.c
subversion/trunk/subversion/svn/info-cmd.c
subversion/trunk/subversion/svn/util.c
Modified: subversion/trunk/subversion/include/svn_client.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=1687415&r1=1687414&r2=1687415&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Thu Jun 25 07:32:25 2015
@@ -4416,6 +4416,73 @@ svn_client_conflict_get_local_change(
const svn_wc_conflict_description2_t *conflict);
/**
+ * Return information about the repository associated with @a conflict.
+ * In case of a foreign-repository merge this will differ from the
+ * repository information associated with the merge target working copy.
+ *
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_client_conflict_get_repos_info(
+ const char **repos_root_url,
+ const char **repos_uuid,
+ const svn_wc_conflict_description2_t *conflict,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
+/**
+ * Return the repository-relative location and the node kind of the incoming
+ * old version of the conflicted node described by @a conflict.
+ *
+ * If the repository-relative path is not available, the @a
+ * *incoming_old_repos_relpath will be set to @c NULL,
+ *
+ * If the peg revision is not available, @a *incoming_old_regrev will be
+ * set to SVN_INVALID_REVNUM.
+ *
+ * If the node kind is not available or if the node does not exist at the
+ * specified path and revision, @a *incoming_old_node_kind will be set to
+ * svn_node_none.
+ * ### Should return svn_node_unkown if not available?
+ *
+ * Any output parameter may be set to @c NULL by the caller to indicate that
+ * a particular piece of information should not be returned.
+ *
+ * In case of tree conflicts, this path@revision does not necessarily exist
+ * in the repository, and it does not necessarily represent the incoming
+ * change which is responsible for the occurance of the tree conflict.
+ * The responsible incoming change is generally located somewhere between
+ * the old and new incoming versions.
+ *
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_client_conflict_get_incoming_old_repos_location(
+ const char **incoming_old_repos_relpath,
+ svn_revnum_t *incoming_old_regrev,
+ svn_node_kind_t *incoming_old_node_kind,
+ const svn_wc_conflict_description2_t *conflict,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
+/**
+ * Like svn_client_conflict_get_incoming_old_repos_location(), expect this
+ * function returns the same data for the incoming new version.
+ *
+ * The same note about tree conflicts applies.
+ *
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_client_conflict_get_incoming_new_repos_location(
+ const char **incoming_new_repos_relpath,
+ svn_revnum_t *incoming_new_regrev,
+ svn_node_kind_t *incoming_new_node_kind,
+ const svn_wc_conflict_description2_t *conflict,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
+
+/**
* Return the node kind of the tree conflict victim described by @a conflict.
* The victim is the local node in the working copy which was affected by the
* tree conflict at the time the conflict was raised.
@@ -4496,12 +4563,6 @@ svn_client_conflict_text_get_contents(
#define svn_client_conflict_get_merged_file(conflict) \
((conflict)->merged_file)
-#define svn_client_conflict_get_src_left_version(conflict) \
- ((conflict)->src_left_version)
-
-#define svn_client_conflict_get_src_right_version(conflict) \
- ((conflict)->src_right_version)
-
/** @} */
/**
Modified: subversion/trunk/subversion/libsvn_client/resolved.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/resolved.c?rev=1687415&r1=1687414&r2=1687415&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/resolved.c (original)
+++ subversion/trunk/subversion/libsvn_client/resolved.c Thu Jun 25 07:32:25
2015
@@ -182,6 +182,110 @@ svn_client_conflict_get_local_change(
return conflict->reason;
}
+svn_error_t *
+svn_client_conflict_get_repos_info(
+ const char **repos_root_url,
+ const char **repos_uuid,
+ const svn_wc_conflict_description2_t *conflict,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool)
+{
+ if (repos_root_url)
+ {
+ if (conflict->src_left_version)
+ *repos_root_url = conflict->src_left_version->repos_url;
+ else if (conflict->src_right_version)
+ *repos_root_url = conflict->src_right_version->repos_url;
+ else
+ *repos_root_url = NULL;
+ }
+
+ if (repos_uuid)
+ {
+ if (conflict->src_left_version)
+ *repos_uuid = conflict->src_left_version->repos_uuid;
+ else if (conflict->src_right_version)
+ *repos_uuid = conflict->src_right_version->repos_uuid;
+ else
+ *repos_uuid = NULL;
+ }
+
+ return SVN_NO_ERROR;
+}
+
+svn_error_t *
+svn_client_conflict_get_incoming_old_repos_location(
+ const char **incoming_old_repos_relpath,
+ svn_revnum_t *incoming_old_pegrev,
+ svn_node_kind_t *incoming_old_node_kind,
+ const svn_wc_conflict_description2_t *conflict,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool)
+{
+ if (incoming_old_repos_relpath)
+ {
+ if (conflict->src_left_version)
+ *incoming_old_repos_relpath =
conflict->src_left_version->path_in_repos;
+ else
+ *incoming_old_repos_relpath = NULL;
+ }
+
+ if (incoming_old_pegrev)
+ {
+ if (conflict->src_left_version)
+ *incoming_old_pegrev = conflict->src_left_version->peg_rev;
+ else
+ *incoming_old_pegrev = SVN_INVALID_REVNUM;
+ }
+
+ if (incoming_old_node_kind)
+ {
+ if (conflict->src_left_version)
+ *incoming_old_node_kind = conflict->src_left_version->node_kind;
+ else
+ *incoming_old_node_kind = svn_node_none;
+ }
+
+ return SVN_NO_ERROR;
+}
+
+svn_error_t *
+svn_client_conflict_get_incoming_new_repos_location(
+ const char **incoming_new_repos_relpath,
+ svn_revnum_t *incoming_new_pegrev,
+ svn_node_kind_t *incoming_new_node_kind,
+ const svn_wc_conflict_description2_t *conflict,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool)
+{
+ if (incoming_new_repos_relpath)
+ {
+ if (conflict->src_right_version)
+ *incoming_new_repos_relpath =
+ conflict->src_right_version->path_in_repos;
+ else
+ *incoming_new_repos_relpath = NULL;
+ }
+
+ if (incoming_new_pegrev)
+ {
+ if (conflict->src_right_version)
+ *incoming_new_pegrev = conflict->src_right_version->peg_rev;
+ else
+ *incoming_new_pegrev = SVN_INVALID_REVNUM;
+ }
+
+ if (incoming_new_node_kind)
+ {
+ if (conflict->src_right_version)
+ *incoming_new_node_kind = conflict->src_right_version->node_kind;
+ else
+ *incoming_new_node_kind = svn_node_none;
+ }
+
+ return SVN_NO_ERROR;
+}
+
svn_node_kind_t
svn_client_conflict_tree_get_victim_node_kind(
const svn_wc_conflict_description2_t *conflict)
Modified: subversion/trunk/subversion/svn/cl-conflicts.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/cl-conflicts.c?rev=1687415&r1=1687414&r2=1687415&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/cl-conflicts.c (original)
+++ subversion/trunk/subversion/svn/cl-conflicts.c Thu Jun 25 07:32:25 2015
@@ -308,25 +308,19 @@ svn_cl__get_human_readable_tree_conflict
if (conflict_action == svn_wc_conflict_action_edit ||
conflict_action == svn_wc_conflict_action_delete)
{
- const svn_wc_conflict_version_t *src_left_version;
-
/* Change is acting on 'src_left' version of the node. */
- src_left_version = svn_client_conflict_get_src_left_version(conflict);
- if (src_left_version)
- incoming_kind = src_left_version->node_kind;
+ SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(
+ NULL, NULL, &incoming_kind, conflict, pool, pool));
}
else if (conflict_action == svn_wc_conflict_action_add ||
conflict_action == svn_wc_conflict_action_replace)
{
- const svn_wc_conflict_version_t *src_right_version;
-
/* Change is acting on 'src_right' version of the node.
*
* ### For 'replace', the node kind is ambiguous. However, src_left
* ### is NULL for replace, so we must use src_right. */
- src_right_version = svn_client_conflict_get_src_right_version(conflict);
- if (src_right_version)
- incoming_kind = src_right_version->node_kind;
+ SVN_ERR(svn_client_conflict_get_incoming_new_repos_location(
+ NULL, NULL, &incoming_kind, conflict, pool, pool));
}
reason = local_reason_str(conflict_node_kind, conflict_reason,
@@ -380,13 +374,16 @@ svn_cl__get_human_readable_action_descri
/* Helper for svn_cl__append_tree_conflict_info_xml().
- * Appends the attributes of the given VERSION to ATT_HASH.
+ * Appends the repository location of a conflicted node to ATT_HASH.
* SIDE is the content of the version tag's side="..." attribute,
* currently one of "source-left" or "source-right".*/
static svn_error_t *
add_conflict_version_xml(svn_stringbuf_t **pstr,
const char *side,
- const svn_wc_conflict_version_t *version,
+ const char *repos_root_url,
+ const char *repos_relpath,
+ svn_revnum_t peg_rev,
+ svn_node_kind_t node_kind,
apr_pool_t *pool)
{
apr_hash_t *att_hash = apr_hash_make(pool);
@@ -394,18 +391,17 @@ add_conflict_version_xml(svn_stringbuf_t
svn_hash_sets(att_hash, "side", side);
- if (version->repos_url)
- svn_hash_sets(att_hash, "repos-url", version->repos_url);
+ if (repos_root_url)
+ svn_hash_sets(att_hash, "repos-url", repos_root_url);
- if (version->path_in_repos)
- svn_hash_sets(att_hash, "path-in-repos", version->path_in_repos);
+ if (repos_relpath)
+ svn_hash_sets(att_hash, "path-in-repos", repos_relpath);
- if (SVN_IS_VALID_REVNUM(version->peg_rev))
- svn_hash_sets(att_hash, "revision", apr_ltoa(pool, version->peg_rev));
+ if (SVN_IS_VALID_REVNUM(peg_rev))
+ svn_hash_sets(att_hash, "revision", apr_ltoa(pool, peg_rev));
- if (version->node_kind != svn_node_unknown)
- svn_hash_sets(att_hash, "kind",
- svn_cl__node_kind_str_xml(version->node_kind));
+ if (node_kind != svn_node_unknown)
+ svn_hash_sets(att_hash, "kind", svn_cl__node_kind_str_xml(node_kind));
svn_xml_make_open_tag_hash(pstr, pool, svn_xml_self_closing,
"version", att_hash);
@@ -420,8 +416,10 @@ append_tree_conflict_info_xml(svn_string
{
apr_hash_t *att_hash = apr_hash_make(pool);
const char *tmp;
- const svn_wc_conflict_version_t *src_left_version;
- const svn_wc_conflict_version_t *src_right_version;
+ const char *repos_root_url;
+ const char *repos_relpath;
+ svn_revnum_t peg_rev;
+ svn_node_kind_t node_kind;
svn_hash_sets(att_hash, "victim",
svn_dirent_basename(
@@ -449,19 +447,30 @@ append_tree_conflict_info_xml(svn_string
/* Add child tags for OLDER_VERSION and THEIR_VERSION. */
- src_left_version = svn_client_conflict_get_src_left_version(conflict);
- if (src_left_version)
- SVN_ERR(add_conflict_version_xml(&str,
- "source-left",
- src_left_version,
- pool));
-
- src_right_version = svn_client_conflict_get_src_right_version(conflict);
- if (src_right_version)
+ SVN_ERR(svn_client_conflict_get_repos_info(&repos_root_url, NULL, conflict,
+ pool, pool));
+ SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(&repos_relpath,
+ &peg_rev,
+ &node_kind,
+ conflict,
+ pool,
+ pool));
+ if (repos_root_url && repos_relpath)
+ SVN_ERR(add_conflict_version_xml(&str, "source-left",
+ repos_root_url, repos_relpath, peg_rev,
+ node_kind, pool));
+
+ SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(&repos_relpath,
+ &peg_rev,
+ &node_kind,
+ conflict,
+ pool,
+ pool));
+ if (repos_root_url && repos_relpath)
SVN_ERR(add_conflict_version_xml(&str,
"source-right",
- src_right_version,
- pool));
+ repos_root_url, repos_relpath, peg_rev,
+ node_kind, pool));
svn_xml_make_close_tag(&str, pool, "tree-conflict");
@@ -477,8 +486,10 @@ svn_cl__append_conflict_info_xml(svn_str
const char *kind;
svn_wc_conflict_kind_t conflict_kind;
svn_wc_operation_t conflict_operation;
- const svn_wc_conflict_version_t *src_left_version;
- const svn_wc_conflict_version_t *src_right_version;
+ const char *repos_root_url;
+ const char *repos_relpath;
+ svn_revnum_t peg_rev;
+ svn_node_kind_t node_kind;
conflict_kind = svn_client_conflict_get_kind(conflict);
conflict_operation = svn_client_conflict_get_operation(conflict);
@@ -507,19 +518,29 @@ svn_cl__append_conflict_info_xml(svn_str
svn_xml_make_open_tag_hash(&str, scratch_pool,
svn_xml_normal, "conflict", att_hash);
- src_left_version = svn_client_conflict_get_src_left_version(conflict);
- if (src_left_version)
- SVN_ERR(add_conflict_version_xml(&str,
- "source-left",
- src_left_version,
- scratch_pool));
-
- src_right_version = svn_client_conflict_get_src_right_version(conflict);
- if (src_right_version)
- SVN_ERR(add_conflict_version_xml(&str,
- "source-right",
- src_right_version,
- scratch_pool));
+ SVN_ERR(svn_client_conflict_get_repos_info(&repos_root_url, NULL, conflict,
+ scratch_pool, scratch_pool));
+ SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(&repos_relpath,
+ &peg_rev,
+ &node_kind,
+ conflict,
+ scratch_pool,
+ scratch_pool));
+ if (repos_root_url && repos_relpath)
+ SVN_ERR(add_conflict_version_xml(&str, "source-left",
+ repos_root_url, repos_relpath, peg_rev,
+ node_kind, scratch_pool));
+
+ SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(&repos_relpath,
+ &peg_rev,
+ &node_kind,
+ conflict,
+ scratch_pool,
+ scratch_pool));
+ if (repos_root_url && repos_relpath)
+ SVN_ERR(add_conflict_version_xml(&str, "source-right",
+ repos_root_url, repos_relpath, peg_rev,
+ node_kind, scratch_pool));
switch (conflict_kind)
{
Modified: subversion/trunk/subversion/svn/cl.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/cl.h?rev=1687415&r1=1687414&r2=1687415&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/cl.h (original)
+++ subversion/trunk/subversion/svn/cl.h Thu Jun 25 07:32:25 2015
@@ -777,15 +777,18 @@ svn_cl__args_to_target_array_print_reser
svn_boolean_t
keep_dest_origpath_on_truepath_collision,
apr_pool_t *pool);
-/* Return a string showing NODE's kind, URL and revision, to the extent that
- * that information is available in NODE. If NODE itself is NULL, this prints
- * just a 'none' node kind.
+/* Return a string showing a conflicted node's kind, URL and revision,
+ * to the extent that that information is available. If REPOS_ROOT_URL or
+ * REPOS_RELPATH are NULL, this prints just a 'none' node kind.
* WC_REPOS_ROOT_URL should reflect the target working copy's repository
- * root URL. If NODE is from that same URL, the printed URL is abbreviated
+ * root URL. If the node is from that same URL, the printed URL is abbreviated
* to caret notation (^/). WC_REPOS_ROOT_URL may be NULL, in which case
* this function tries to print the conflicted node's complete URL. */
const char *
-svn_cl__node_description(const svn_wc_conflict_version_t *node,
+svn_cl__node_description(const char *repos_root_url,
+ const char *repos_relpath,
+ svn_revnum_t peg_rev,
+ svn_node_kind_t node_kind,
const char *wc_repos_root_URL,
apr_pool_t *pool);
Modified: subversion/trunk/subversion/svn/conflict-callbacks.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/conflict-callbacks.c?rev=1687415&r1=1687414&r2=1687415&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/conflict-callbacks.c (original)
+++ subversion/trunk/subversion/svn/conflict-callbacks.c Thu Jun 25 07:32:25
2015
@@ -1161,6 +1161,10 @@ handle_tree_conflict(svn_wc_conflict_res
const char *readable_desc;
const char *src_left_version;
const char *src_right_version;
+ const char *repos_root_url;
+ const char *repos_relpath;
+ svn_revnum_t peg_rev;
+ svn_node_kind_t node_kind;
apr_pool_t *iterpool;
SVN_ERR(svn_cl__get_human_readable_tree_conflict_description(
@@ -1172,19 +1176,30 @@ handle_tree_conflict(svn_wc_conflict_res
svn_client_conflict_get_local_abspath(desc), scratch_pool),
readable_desc));
+ SVN_ERR(svn_client_conflict_get_repos_info(&repos_root_url, NULL,
+ desc, scratch_pool,
scratch_pool));
+ SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(&repos_relpath,
+ &peg_rev,
+ &node_kind,
+ desc,
+ scratch_pool,
+ scratch_pool));
src_left_version =
- svn_cl__node_description(
- svn_client_conflict_get_src_left_version(desc),
- svn_client_conflict_get_src_left_version(desc)->repos_url,
- scratch_pool);
+ svn_cl__node_description(repos_root_url, repos_relpath, peg_rev,
+ node_kind, repos_root_url,
scratch_pool);
if (src_left_version)
SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s: %s\n",
_("Source left"), src_left_version));
+
+ SVN_ERR(svn_client_conflict_get_incoming_new_repos_location(&repos_relpath,
+ &peg_rev,
+ &node_kind,
+ desc,
+ scratch_pool,
+ scratch_pool));
src_right_version =
- svn_cl__node_description(
- svn_client_conflict_get_src_right_version(desc),
- svn_client_conflict_get_src_right_version(desc)->repos_url,
- scratch_pool);
+ svn_cl__node_description(repos_root_url, repos_relpath, peg_rev,
+ node_kind, repos_root_url,
scratch_pool);
if (src_right_version)
SVN_ERR(svn_cmdline_fprintf(stderr, scratch_pool, "%s: %s\n",
_("Source right"), src_right_version));
Modified: subversion/trunk/subversion/svn/info-cmd.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/info-cmd.c?rev=1687415&r1=1687414&r2=1687415&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/info-cmd.c (original)
+++ subversion/trunk/subversion/svn/info-cmd.c Thu Jun 25 07:32:25 2015
@@ -666,6 +666,10 @@ print_info(void *baton,
{
const char *src_left_version;
const char *src_right_version;
+ const char *repos_root_url;
+ const char *repos_relpath;
+ svn_revnum_t peg_rev;
+ svn_node_kind_t node_kind;
const svn_wc_conflict_description2_t *conflict =
APR_ARRAY_IDX(info->wc_info->conflicts, 0,
const svn_wc_conflict_description2_t *);
@@ -684,15 +688,21 @@ print_info(void *baton,
_("Conflict Details"), desc));
}
+ SVN_ERR(svn_client_conflict_get_repos_info(&repos_root_url, NULL,
+ conflict, pool, pool));
+ SVN_ERR(svn_client_conflict_get_incoming_old_repos_location(
+ &repos_relpath, &peg_rev, &node_kind, conflict,
+ pool, pool));
src_left_version =
- svn_cl__node_description(
- svn_client_conflict_get_src_left_version(conflict),
- info->repos_root_URL, pool);
+ svn_cl__node_description(repos_root_url, repos_relpath,
+ peg_rev, node_kind, info->repos_root_URL, pool);
+ SVN_ERR(svn_client_conflict_get_incoming_new_repos_location(
+ &repos_relpath, &peg_rev, &node_kind, conflict,
+ pool, pool));
src_right_version =
- svn_cl__node_description(
- svn_client_conflict_get_src_right_version(conflict),
- info->repos_root_URL, pool);
+ svn_cl__node_description(repos_root_url, repos_relpath,
+ peg_rev, node_kind, info->repos_root_URL, pool);
if (src_left_version)
SVN_ERR(svn_cmdline_printf(pool, " %s: %s\n",
Modified: subversion/trunk/subversion/svn/util.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/util.c?rev=1687415&r1=1687414&r2=1687415&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/util.c (original)
+++ subversion/trunk/subversion/svn/util.c Thu Jun 25 07:32:25 2015
@@ -907,14 +907,17 @@ svn_cl__time_cstring_to_human_cstring(co
}
const char *
-svn_cl__node_description(const svn_wc_conflict_version_t *node,
+svn_cl__node_description(const char *repos_root_url,
+ const char *repos_relpath,
+ svn_revnum_t peg_rev,
+ svn_node_kind_t node_kind,
const char *wc_repos_root_URL,
apr_pool_t *pool)
{
const char *root_str = "^";
const char *path_str = "...";
- if (!node)
+ if (!repos_root_url || !repos_relpath || !SVN_IS_VALID_REVNUM(peg_rev))
/* Printing "(none)" the harder way to ensure conformity (mostly with
* translations). */
return apr_psprintf(pool, "(%s)",
@@ -923,18 +926,18 @@ svn_cl__node_description(const svn_wc_co
/* Construct a "caret notation" ^/URL if NODE matches WC_REPOS_ROOT_URL.
* Otherwise show the complete URL, and if we can't, show dots. */
- if (node->repos_url &&
+ if (repos_root_url &&
(wc_repos_root_URL == NULL ||
- strcmp(node->repos_url, wc_repos_root_URL) != 0))
- root_str = node->repos_url;
+ strcmp(repos_root_url, wc_repos_root_URL) != 0))
+ root_str = repos_root_url;
- if (node->path_in_repos)
- path_str = node->path_in_repos;
+ if (repos_relpath)
+ path_str = repos_relpath;
return apr_psprintf(pool, "(%s) %s@%ld",
- svn_cl__node_kind_str_human_readable(node->node_kind),
+ svn_cl__node_kind_str_human_readable(node_kind),
svn_path_url_add_component2(root_str, path_str, pool),
- node->peg_rev);
+ peg_rev);
}
svn_error_t *