On Tue, Jun 1, 2010 at 11:50, <rhuijben_at_apache.org> wrote:
>...
> +++ subversion/trunk/subversion/libsvn_wc/adm_ops.c Tue Jun 1 15:50:55 2010
>...
> + if (new_repos_relpath != NULL)
> {
> - modify_flags |= SVN_WC__ENTRY_MODIFY_URL;
> - tmp_entry.url = new_url;
> + const char *new_url = svn_path_url_add_component2(new_repos_root_url,
> + new_repos_relpath,
> + scratch_pool);
> + if (new_url != NULL
> + && (! entry->url || strcmp(new_url, entry->url)))
No need for new_url != NULL :-P
>...
> @@ -373,8 +389,10 @@ svn_wc__do_update_cleanup(svn_wc__db_t *
> case svn_wc__db_status_obstructed_delete:
> /* There is only a parent stub. That's fine... just tweak it
> and avoid directory recursion. */
> - SVN_ERR(tweak_node(db, local_abspath, svn_node_dir, TRUE, base_url,
> - new_revision, FALSE /* allow_removal */, pool));
> + SVN_ERR(tweak_node(db, local_abspath, kind, TRUE,
> + new_repos_relpath, new_repos_root_url,
> + new_repos_uuid, new_revision,
> + FALSE /* allow_removal */, pool));
Should that be svn_wc__db_kind_dir rather than KIND?
> return SVN_NO_ERROR;
>
> /* Explicitly ignore other statii */
> @@ -385,12 +403,14 @@ svn_wc__do_update_cleanup(svn_wc__db_t *
> if (kind == svn_wc__db_kind_file || kind == svn_wc__db_kind_symlink)
> {
> /* Parent not updated so don't remove PATH entry. */
> - SVN_ERR(tweak_node(db, local_abspath, svn_node_file, FALSE, base_url,
> + SVN_ERR(tweak_node(db, local_abspath, kind, FALSE,
> + new_repos_relpath, new_repos_root_url, new_repos_uuid,
> new_revision, FALSE /* allow_removal */, pool));
Same, but db_kind_file.
>...
> @@ -1410,16 +1433,17 @@ mark_tree_copied(svn_wc__db_t *db,
> || child_status == svn_wc__db_status_excluded)
> {
> if (child_kind == svn_wc__db_kind_dir)
> - SVN_ERR(tweak_node(db, child_abspath, svn_node_dir,
> - TRUE /* parent_stub */, child_url,
> + SVN_ERR(tweak_node(db, child_abspath, child_kind,
> + TRUE /* parent_stub */, child_relpath,
> + new_repos_root_url, new_repos_uuid,
> SVN_INVALID_REVNUM, TRUE /* allow_removal */,
> iterpool));
And the constant here?
> else
> - SVN_ERR(tweak_node(db, child_abspath, svn_node_file,
> - FALSE /* parent_stub */,
> - child_url, SVN_INVALID_REVNUM,
> - TRUE /* allow_removal */,
> - iterpool));
> + SVN_ERR(tweak_node(db, child_abspath, child_kind,
> + FALSE /* parent_stub */, child_relpath,
> + new_repos_root_url, new_repos_uuid,
> + SVN_INVALID_REVNUM, TRUE /* allow_removal */,
> + iterpool));
Maybe not here to pick up kind_symlink. (tho I expect this code will
be gone before we get to symlink)
>...
> @@ -1767,7 +1787,14 @@ svn_wc_add4(svn_wc_context_t *wc_ctx,
> /* Recursively add the 'copied' existence flag as well! */
> SVN_ERR(mark_tree_copied(db, local_abspath,
> exists ? status : svn_wc__db_status_added,
> - new_url,
> + svn_relpath_join(
> + svn_path_uri_decode(
> + svn_uri_skip_ancestor(
> + parent_entry->repos,
> + parent_entry->url), pool),
> + base_name, pool),
Maybe break that out to a localvar to clarify that you are computing
parent_relpath and joining to create new_relpath?
>...
Cheers,
-g
Received on 2010-06-04 23:01:09 CEST