summaryrefslogtreecommitdiffstats
path: root/subversion/libsvn_client/commit.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2013-11-11 01:00:29 +0000
committerpeter <peter@FreeBSD.org>2013-11-11 01:00:29 +0000
commit68301b10e52aedbf076b5b08303439d75c192e18 (patch)
treec05673887167c7ecd55a62ed72830f5186f453c1 /subversion/libsvn_client/commit.c
parent3b9f7e96381479fb03ae2c36d490a38718f71083 (diff)
downloadFreeBSD-src-68301b10e52aedbf076b5b08303439d75c192e18.zip
FreeBSD-src-68301b10e52aedbf076b5b08303439d75c192e18.tar.gz
Import svn-1.8.4, which includes fixes for both security and merge
handling.
Diffstat (limited to 'subversion/libsvn_client/commit.c')
-rw-r--r--subversion/libsvn_client/commit.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/subversion/libsvn_client/commit.c b/subversion/libsvn_client/commit.c
index 6b30885..07fdce1 100644
--- a/subversion/libsvn_client/commit.c
+++ b/subversion/libsvn_client/commit.c
@@ -999,9 +999,22 @@ svn_client_commit6(const apr_array_header_t *targets,
}
cleanup:
- /* Sleep to ensure timestamp integrity. */
+ /* Sleep to ensure timestamp integrity. BASE_ABSPATH may have been
+ removed by the commit or it may the common ancestor of multiple
+ working copies. */
if (timestamp_sleep)
- svn_io_sleep_for_timestamps(base_abspath, pool);
+ {
+ const char *wcroot_abspath;
+ svn_error_t *err = svn_wc__get_wcroot(&wcroot_abspath, ctx->wc_ctx,
+ base_abspath, pool, pool);
+ if (err)
+ {
+ svn_error_clear(err);
+ wcroot_abspath = NULL;
+ }
+
+ svn_io_sleep_for_timestamps(wcroot_abspath, pool);
+ }
/* Abort the commit if it is still in progress. */
svn_pool_clear(iterpool); /* Close open handles before aborting */
OpenPOWER on IntegriCloud