"Schmidt, Michael" <michael.schm...@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*