Paul Burba <ptbu...@gmail.com> writes: > Index: subversion/libsvn_client/copy.c > =================================================================== > --- subversion/libsvn_client/copy.c (revision 1292379) > +++ subversion/libsvn_client/copy.c (working copy) > @@ -1519,6 +1519,17 @@ > ctx->notify_baton2 = old_notify_baton2; > > SVN_ERR(err); > + > +#ifdef WIN32 > + if (!ignore_externals) > + { > + /* Issue #4123: We may still hold file handles to the databases > + for externals under TMP_ABSPATH. We need to release these > + handles before we move TMP_ABSPATH below or Windows will > + raise an ERROR_ACCESS_DENIED error. */ > + SVN_ERR(svn_wc__externals_close(tmp_abspath, ctx->wc_ctx, pool)); > + } > +#endif
I'm not sure why this would be windows specific. Yes, Linux lets us move the dir with the handle open but I think it would be an error for the Subversion client to use the handle after the move. Is this the best way to do it? It isn't what I was expecting. I was expecting the checkout code to explicitly close the handles it was responsible for opening. Then the copy code would not have to do anything special. -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com