On Thu, Mar 6, 2008 at 3:34 PM, Karl Fogel <kfogel_at_red-bean.com> wrote:
> pburba_at_tigris.org writes:
> > Follow-up to r29742, minor fix, actually use the new copyfrom_rev variable.
> >
> > * subversion/libsvn_client/merge.c
> > (merge_file_added, merge_dir_added): Pass along the copyfrom_rev
> > variable added in r29472 to svn_wc_add_repos_file2(), svn_wc_add(), and
> > svn_wc_add2(). There is no real functional change here, since all three
> > of these functions ignore the copyfrom_rev arg if their copyfrom_url arg is
> > NULL. I could have removed the copyfrom_rev variable altogether, as it
> > served no purpose, but the code seems clearer this way.
>
> I got a little confused by this log message.
>
> The real reason there is no functional change here, I think, is that
> the value of the 'copyfrom_rev' variable in each case is the same as
> the variable that the code been passing instead (before this change).
Hi Karl,
Looking at merge_file_added(): Yes, the value of 'copyfrom_rev' is the
same as the variable (rev2) that was passed before this change,
*unless* the merge is from a foreign repository. In that case
merge_b->same_repos is false, so copyfrom_rev is SVN_INVALID_REVNUM,
which rev2 will never be. But copyfrom_url is always NULL in this
case too, so the copyfrom_rev variable passed to
svn_wc_add_repos_file2() is ignored. That is what I meant. Does that
make any sense? I tweaked the log message a bit in an attempt to be
clearer, but if it still looks bogus to you let me know.
Paul
> It's nothing to do with the fact that copyfrom_rev is ignored if
> copyfrom_url is NULL, although that fact is also true.
>
> I agree that the new code is clearer; just the log message doesn't
> seem to quite say what really happened here.
>
> -Karl
>
>
>
> > Modified:
> > trunk/subversion/libsvn_client/merge.c
> >
> > Modified: trunk/subversion/libsvn_client/merge.c
> > URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_client/merge.c?pathrev=29746&r1=29745&r2=29746
> > ==============================================================================
> > --- trunk/subversion/libsvn_client/merge.c (original)
> > +++ trunk/subversion/libsvn_client/merge.c Thu Mar 6 11:27:36 2008
> > @@ -894,7 +894,7 @@
> > we had called 'svn cp wc wc'. */
> > SVN_ERR(svn_wc_add_repos_file2(mine, adm_access, yours, NULL,
> > new_props, NULL, copyfrom_url,
> > - rev2, subpool));
> > + copyfrom_rev, subpool));
> > }
> > if (content_state)
> > *content_state = svn_wc_notify_state_changed;
> > @@ -1105,7 +1105,7 @@
> > {
> > SVN_ERR(svn_io_make_dir_recursively(path, subpool));
> > SVN_ERR(svn_wc_add2(path, adm_access,
> > - copyfrom_url, rev,
> > + copyfrom_url, copyfrom_rev,
> > merge_b->ctx->cancel_func,
> > merge_b->ctx->cancel_baton,
> > NULL, NULL, /* don't pass notification func! */
> > @@ -1122,7 +1122,7 @@
> > {
> > if (!merge_b->dry_run)
> > SVN_ERR(svn_wc_add2(path, adm_access,
> > - copyfrom_url, rev,
> > + copyfrom_url, copyfrom_rev,
> > merge_b->ctx->cancel_func,
> > merge_b->ctx->cancel_baton,
> > NULL, NULL, /* no notification func! */
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: svn-unsubscribe_at_subversion.tigris.org
> > For additional commands, e-mail: svn-help_at_subversion.tigris.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: dev-help_at_subversion.tigris.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-03-06 23:48:43 CET