Bert Huijben wrote:
> This might make us add svn:mergeinfo on nodes that didn't have this property
> before eliding, while the old code tried to avoid that by checking to see if
> the value was inherited from an ancestor.
Hi Bert. I can't quite parse your sentence unambiguously, but I believe this change has no functional effect.
In the case where this node (at target_abspath) has no explicit mergeinfo, this code said before my change:
set 'target_mergeinfo' to <inherited mergeinfo, if any found, else null>
set 'inherited' to <true, if inherited mergeinfo found, else false>
if (inherited || target_mergeinfo == NULL) return
Therefore it would always return at this point.
Now, in the same case, after my change, the code says:
set 'target_mergeinfo' to <null>
if (target_mergeinfo == NULL) return
So, again, it will always return at this point.
The only way this 'target_mergeinfo' value can propagate past that 'if' statement is if it is explicit mergeinfo. That's the case both before and after my change.
- Julian
>URL: http://svn.apache.org/r1591301
>Log:
>* subversion/libsvn_client/mergeinfo.c
> (svn_client__elide_mergeinfo): A tiny simplification: when we want only
> explicit mergeinfo, ask for only explicit mergeinfo.
>
>Modified:
> subversion/trunk/subversion/libsvn_client/mergeinfo.c
>
>Modified: subversion/trunk/subversion/libsvn_client/mergeinfo.c
>==============================================================================
>--- subversion/trunk/subversion/libsvn_client/mergeinfo.c (original)
>+++ subversion/trunk/subversion/libsvn_client/mergeinfo.c Wed Apr 30 14:12:08 2014
>@@ -922,13 +922,12 @@ svn_client__elide_mergeinfo(const char *
> {
> svn_mergeinfo_t target_mergeinfo;
> svn_mergeinfo_t mergeinfo = NULL;
>- svn_boolean_t inherited;
> const char *walk_path;
> svn_error_t *err;
>
> /* Get the TARGET_WCPATH's explicit mergeinfo. */
>- err = svn_client__get_wc_mergeinfo(&target_mergeinfo, &inherited,
>- svn_mergeinfo_inherited,
>+ err = svn_client__get_wc_mergeinfo(&target_mergeinfo, NULL,
>+ svn_mergeinfo_explicit,
> target_abspath,
> limit_abspath,
> &walk_path, FALSE,
>@@ -951,7 +950,7 @@ svn_client__elide_mergeinfo(const char *
>
> /* If TARGET_WCPATH has no explicit mergeinfo, there's nothing to
> elide, we're done. */
>- if (inherited || target_mergeinfo == NULL)
>+ if (target_mergeinfo == NULL)
> return SVN_NO_ERROR;
>
> /* Get TARGET_WCPATH's inherited mergeinfo from the WC. */
Received on 2014-05-01 13:22:03 CEST