"Schmidt, Michael" <Michael.Schmidt_at_mevis.fraunhofer.de> writes:
> This patch only fixes the missing notification of starting to export
> externals. It does not address the second part of issue #4527, which
> is the premature reset of the in_external flag in the case of nested
> externals, which also affects checkouts. To me it seems that the best
> option for fixing that issue would be to turn the bool flag into a
> counter which keeps track of the "stack deptch" of externals, but I am
> not totally sure about how this affects the ABI and whether there
> might be better ways of fixing this. Any comments/ideas?
The in_external flag is local to svn/notify.c so there is no ABI
problem. Making it into a counter sounds like the right way to fix the
problem.
> Index: subversion/libsvn_client/externals.c
> ===================================================================
> --- subversion/libsvn_client/externals.c (revision 1638837)
> +++ subversion/libsvn_client/externals.c (working copy)
> @@ -1188,6 +1188,17 @@ svn_client__export_externals(apr_hash_t *externals
> sub_iterpool),
> sub_iterpool));
>
> + /* First notify that we're about to handle an external. */
> + if (ctx->notify_func2)
> + {
> + (*ctx->notify_func2)(
> + ctx->notify_baton2,
> + svn_wc_create_notify(item_abspath,
> + svn_wc_notify_update_external,
> + sub_iterpool),
> + sub_iterpool);
> + }
> +
> SVN_ERR(wrap_external_error(
> ctx, item_abspath,
> svn_client_export5(NULL, new_url, item_abspath,
The indentation is wrong, it should be more like:
+ /* First notify that we're about to handle an external. */
+ if (ctx->notify_func2)
+ {
+ (*ctx->notify_func2)(
+ ctx->notify_baton2,
+ svn_wc_create_notify(item_abspath,
+ svn_wc_notify_update_external,
+ sub_iterpool),
+ sub_iterpool);
+ }
I noticed the existing code was using a mix of styles:
(*ctx->notify_func2)(...)
(ctx->notify_func2)(...)
ctx->notify_func2(...)
I've changed them all to the last form.
--
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2014-11-13 12:24:46 CET