Julian Foad <julianf...@btopenworld.com> writes: > The attached patch attempts to improve our 'sleep for timestamps' > coverage, especially in error conditions where the WC has already been > changed and so we should sleep as well as returning an error. I just > happened to notice that we currently miss several such cases. > > The are several TODO notes in the log message. Before I go any > further with this, can anybody check I'm on the right track?
Looks plausible. > svn_error_t * > svn_client_checkout3(svn_revnum_t *result_rev, > @@ -196,15 +182,21 @@ svn_client_checkout3(svn_revnum_t *resul > svn_boolean_t ignore_externals, > svn_boolean_t allow_unver_obstructions, > svn_client_ctx_t *ctx, > apr_pool_t *pool) > { > const char *local_abspath; > + svn_error_t *err; > + svn_boolean_t sleep_here = FALSE; > > SVN_ERR(svn_dirent_get_absolute(&local_abspath, path, pool)); > > - return svn_client__checkout_internal(result_rev, URL, local_abspath, > - peg_revision, revision, depth, > - ignore_externals, > - allow_unver_obstructions, NULL, > - ctx, pool); > + err = svn_client__checkout_internal(result_rev, URL, local_abspath, > + peg_revision, revision, depth, > + ignore_externals, > + allow_unver_obstructions, &sleep_here, > + ctx, pool); > + if (sleep_here) > + svn_io_sleep_for_timestamps(local_abspath, pool); Could we check use-commit-times and avoid the sleep? Either before sleeping or perhaps where we set sleep_here TRUE. -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download