Julian Foad <julianfoad_at_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
Received on 2013-03-28 21:20:20 CET