[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Sleep for timestamps in the right places

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 28 Mar 2013 20:19:34 +0000

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

This is an archived mail posted to the Subversion Dev mailing list.