[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r950127 - in /subversion/trunk/subversion/libsvn_wc: adm_ops.c adm_ops.h update_editor.c

From: Greg Stein <gstein_at_gmail.com>
Date: Fri, 4 Jun 2010 17:00:27 -0400

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

This is an archived mail posted to the Subversion Dev mailing list.