From 768938e3bdfd989c35660e92b2a70a138ac5ee9f Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 20 Feb 2014 20:34:01 +0000 Subject: [PATCH] MFC r257129,257936,258084,258569,258602,262250,262251 svn-1.8.4, 1.8.5, 1.8.8 and self-contained private support libraries git-svn-id: svn://svn.freebsd.org/base/stable/10@262253 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- contrib/apr-util/CHANGES | 19 + contrib/apr-util/apr-util.spec | 2 +- contrib/apr-util/configure | 18 +- contrib/apr-util/crypto/apr_crypto.c | 6 +- contrib/apr-util/dbd/apr_dbd.c | 10 +- contrib/apr-util/dbd/apr_dbd_odbc.c | 27 +- contrib/apr-util/dbm/apr_dbm.c | 8 +- contrib/apr-util/include/apr_buckets.h | 16 +- contrib/apr-util/include/apr_dbd.h | 6 +- contrib/apr-util/include/apr_hooks.h | 8 +- contrib/apr-util/include/apr_optional_hooks.h | 4 +- contrib/apr-util/include/apr_queue.h | 2 +- contrib/apr-util/include/apr_reslist.h | 11 +- contrib/apr-util/include/apu.hw | 6 + contrib/apr-util/include/apu_version.h | 7 +- contrib/apr-util/libaprutil.rc | 3 - contrib/apr-util/memcache/apr_memcache.c | 16 +- contrib/apr-util/misc/apu_dso.c | 13 +- contrib/apr-util/test/abts.c | 9 +- contrib/apr-util/test/testpass.c | 1 - contrib/apr-util/test/testssl.c | 240 ----------- contrib/subversion/CHANGES | 295 ++++++++++++- contrib/subversion/INSTALL | 12 +- contrib/subversion/Makefile.in | 29 +- contrib/subversion/NOTICE | 4 +- contrib/subversion/build-outputs.mk | 150 +++---- contrib/subversion/build.conf | 14 +- contrib/subversion/configure | 104 +---- contrib/subversion/configure.ac | 7 +- .../include/private/svn_auth_private.h | 37 ++ .../include/private/svn_client_private.h | 6 + .../include/private/svn_diff_tree.h | 8 +- .../subversion/include/private/svn_mutex.h | 10 +- .../include/private/svn_subr_private.h | 13 + .../subversion/subversion/include/svn_auth.h | 7 +- .../subversion/include/svn_client.h | 14 +- .../subversion/include/svn_config.h | 13 + .../subversion/subversion/include/svn_diff.h | 11 +- .../subversion/include/svn_dirent_uri.h | 6 +- .../subversion/subversion/include/svn_io.h | 23 +- .../subversion/subversion/include/svn_repos.h | 3 +- .../subversion/subversion/include/svn_types.h | 10 + .../subversion/include/svn_version.h | 6 +- .../subversion/subversion/include/svn_wc.h | 8 +- .../subversion/libsvn_client/commit.c | 17 +- .../subversion/libsvn_client/copy.c | 20 +- .../subversion/libsvn_client/externals.c | 2 +- .../subversion/subversion/libsvn_client/log.c | 10 +- .../subversion/libsvn_client/merge.c | 29 +- .../subversion/libsvn_client/mergeinfo.c | 187 +++++--- .../subversion/libsvn_client/prop_commands.c | 41 +- .../subversion/libsvn_client/update.c | 20 +- .../subversion/libsvn_client/util.c | 7 + .../subversion/libsvn_diff/diff_file.c | 32 +- .../subversion/libsvn_fs/fs-loader.c | 4 +- .../subversion/subversion/libsvn_fs_base/fs.c | 4 +- .../subversion/subversion/libsvn_fs_fs/fs.c | 3 +- .../subversion/libsvn_fs_fs/fs_fs.c | 266 ++++++++---- .../subversion/libsvn_fs_fs/rep-cache-db.h | 2 +- .../subversion/libsvn_fs_fs/rep-cache.c | 27 +- .../subversion/libsvn_ra/ra_loader.c | 2 +- .../subversion/libsvn_ra/ra_loader.h | 2 +- .../subversion/libsvn_ra_local/ra_plugin.c | 5 +- .../subversion/libsvn_ra_local/split_url.c | 14 +- .../subversion/libsvn_ra_serf/commit.c | 29 +- .../subversion/libsvn_ra_serf/ra_serf.h | 12 - .../subversion/libsvn_ra_serf/replay.c | 37 +- .../subversion/libsvn_ra_serf/serf.c | 29 +- .../subversion/libsvn_ra_serf/util.c | 404 +++++++++++++----- .../subversion/libsvn_ra_svn/client.c | 5 +- .../subversion/libsvn_repos/commit.c | 11 + .../subversion/libsvn_repos/reporter.c | 55 +-- .../subversion/subversion/libsvn_subr/auth.c | 10 +- .../subversion/libsvn_subr/cache-membuffer.c | 8 +- .../subversion/libsvn_subr/cache_config.c | 75 ++-- .../subversion/libsvn_subr/cmdline.c | 15 +- .../subversion/libsvn_subr/config_auth.c | 6 - .../subversion/libsvn_subr/deprecated.c | 9 +- .../subversion/libsvn_subr/dirent_uri.c | 6 +- .../libsvn_subr/internal_statements.h | 2 +- .../subversion/subversion/libsvn_subr/io.c | 19 +- .../subversion/libsvn_subr/sqlite.c | 43 +- .../subversion/libsvn_subr/sqlite3wrapper.c | 1 + .../subversion/subversion/libsvn_subr/subst.c | 16 +- .../subversion/libsvn_subr/sysinfo.c | 38 +- .../subversion/subversion/libsvn_subr/utf.c | 9 +- .../subversion/libsvn_subr/version.c | 15 +- .../subversion/libsvn_subr/win32_crashrpt.c | 12 +- .../subversion/libsvn_subr/win32_crypto.c | 32 +- .../subversion/libsvn_wc/conflicts.h | 8 +- .../subversion/subversion/libsvn_wc/diff.h | 8 +- .../subversion/libsvn_wc/diff_editor.c | 12 +- .../subversion/libsvn_wc/diff_local.c | 43 +- .../subversion/subversion/libsvn_wc/info.c | 2 +- .../subversion/libsvn_wc/old-and-busted.c | 4 + .../subversion/libsvn_wc/update_editor.c | 65 ++- .../subversion/subversion/libsvn_wc/upgrade.c | 4 + .../subversion/libsvn_wc/wc-checks.h | 2 +- .../subversion/libsvn_wc/wc-metadata.h | 149 ++++--- .../subversion/libsvn_wc/wc-metadata.sql | 48 +++ .../subversion/libsvn_wc/wc-queries.h | 164 ++++--- .../subversion/libsvn_wc/wc-queries.sql | 9 +- contrib/subversion/subversion/libsvn_wc/wc.h | 2 + .../subversion/subversion/libsvn_wc/wc_db.c | 35 ++ .../subversion/subversion/libsvn_wc/wc_db.h | 19 +- .../subversion/libsvn_wc/wc_db_private.h | 3 + .../subversion/libsvn_wc/wc_db_update_move.c | 45 +- .../subversion/libsvn_wc/wc_db_util.c | 16 - contrib/subversion/subversion/svn/cl.h | 16 +- .../subversion/svn/conflict-callbacks.c | 4 +- .../subversion/subversion/svn/status-cmd.c | 24 +- contrib/subversion/subversion/svn/status.c | 88 ++-- contrib/subversion/subversion/svn/svn.c | 7 +- .../subversion/subversion/svnadmin/svnadmin.c | 154 +++---- .../subversion/svndumpfilter/svndumpfilter.c | 3 +- .../subversion/subversion/svnlook/svnlook.c | 3 +- .../subversion/subversion/svnmucc/svnmucc.c | 12 +- .../subversion/subversion/svnserve/svnserve.c | 10 +- .../subversion/subversion/svnsync/svnsync.c | 5 +- .../subversion/svnversion/svnversion.c | 3 +- usr.bin/svn/lib/libapr_util/apu_config.h | 2 +- usr.bin/svn/svn/Makefile | 9 + usr.bin/svn/svn_private_config.h | 8 +- 123 files changed, 2448 insertions(+), 1352 deletions(-) delete mode 100644 contrib/apr-util/test/testssl.c diff --git a/contrib/apr-util/CHANGES b/contrib/apr-util/CHANGES index 67eefbdd9..7626c50b5 100644 --- a/contrib/apr-util/CHANGES +++ b/contrib/apr-util/CHANGES @@ -1,4 +1,23 @@ -*- coding: utf-8 -*- +Changes with APR-util 1.5.3 + + *) Cygwin: Use correct file extension when loading APR DSOs. PR 55587. + [Carlo Bramini ] + + *) Add experimental cmake-based build system for Windows. Refer to + README.cmake for more information. [Jeff Trawick, Tom Donovan] + + *) Fix warnings in odbc driver on 64bit systems. + PR 55197 [Tom Donovan] + + *) Add support to apr_memcache for unix domain sockets. PR 54573 [Remi + Gacogne ] + + *) Add support for Berkeley DB 6.0. [Rainer Jung] + + *) Improve platform detection for bundled expat by updating + config.guess and config.sub. [Rainer Jung] + Changes with APR-util 1.5.2 *) Windows: Add command line makefiles. [Gregg Smith] diff --git a/contrib/apr-util/apr-util.spec b/contrib/apr-util/apr-util.spec index 36249ff9e..d08400dff 100644 --- a/contrib/apr-util/apr-util.spec +++ b/contrib/apr-util/apr-util.spec @@ -3,7 +3,7 @@ Summary: Apache Portable Runtime Utility library Name: apr-util -Version: 1.5.2 +Version: 1.5.3 Release: 1 License: Apache Software License Group: System Environment/Libraries diff --git a/contrib/apr-util/configure b/contrib/apr-util/configure index 6d614e919..ccfc3e603 100755 --- a/contrib/apr-util/configure +++ b/contrib/apr-util/configure @@ -1440,7 +1440,7 @@ Optional Packages: --with-ldap-lib=path path to ldap lib file --with-ldap=library ldap library to use --with-dbm=DBM choose the DBM type to use. - DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db4X,db5X} + DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db4X,db5X,db6X} for some X=0,...,9 --with-gdbm=DIR enable GDBM support --with-ndbm=PATH Find the NDBM header and library in `PATH/include' @@ -11218,8 +11218,10 @@ fi fi - test ${apu_has_ldap} != "1" && as_fn_error $? "could not find an LDAP library" "$LINENO" 5 - test ${apu_has_ldap} == "1" && + if test ${apu_has_ldap} != "1"; then + as_fn_error $? "could not find an LDAP library" "$LINENO" 5 + else + if test "x$LDADD_ldap" = "x"; then test "x$silent" != "xyes" && echo " setting LDADD_ldap to \"$LDADD_ldap_found\"" LDADD_ldap="$LDADD_ldap_found" @@ -11240,6 +11242,7 @@ fi done fi + fi as_ac_Lib=`$as_echo "ac_cv_lib_$apu_liblber_name''_ber_init" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ber_init in -l$apu_liblber_name" >&5 $as_echo_n "checking for ber_init in -l$apu_liblber_name... " >&6; } @@ -11617,6 +11620,7 @@ fi dbm_list="$dbm_list, db$db_version" db_version=`expr $db_version + 1` done + dbm_list="$dbm_list, db60" # Check whether --with-dbm was given. @@ -15708,7 +15712,7 @@ fi as_fn_error $? "Berkeley db3 not found" "$LINENO" 5 fi ;; - db[45][0-9]) + db[456][0-9]) db_major=`echo "$requested" | sed -e 's/db//' -e 's/.$//'` db_minor=`echo "$requested" | sed -e 's/db//' -e 's/.//'` @@ -16113,7 +16117,7 @@ fi as_fn_error $? "Berkeley db$db_major not found" "$LINENO" 5 fi ;; - db[45]) + db[456]) db_major=`echo "$requested" | sed -e 's/db//'` # Start version search at version x.9 db_minor=9 @@ -18561,11 +18565,11 @@ fi eval "apu_use_$requested=1" apu_default_dbm=$requested ;; - db185 | db[12345]) + db185 | db[123456]) apu_use_db=1 apu_default_dbm=$requested ;; - db[45][0-9]) + db[456][0-9]) apu_use_db=1 apu_default_dbm=`echo $requested | sed -e 's/.$//'` ;; diff --git a/contrib/apr-util/crypto/apr_crypto.c b/contrib/apr-util/crypto/apr_crypto.c index 7643b94e1..35ce3752a 100644 --- a/contrib/apr-util/crypto/apr_crypto.c +++ b/contrib/apr-util/crypto/apr_crypto.c @@ -100,7 +100,9 @@ APU_DECLARE(apr_status_t) apr_crypto_init(apr_pool_t *pool) } /* Top level pool scope, need process-scope lifetime */ - for (parent = pool; parent; parent = apr_pool_parent_get(pool)) + for (parent = apr_pool_parent_get(pool); + parent && parent != pool; + parent = apr_pool_parent_get(pool)) pool = parent; #if APU_DSO_BUILD /* deprecate in 2.0 - permit implicit initialization */ @@ -176,7 +178,7 @@ APU_DECLARE(apr_status_t) apr_crypto_get_driver( #if defined(NETWARE) apr_snprintf(modname, sizeof(modname), "crypto%s.nlm", name); -#elif defined(WIN32) +#elif defined(WIN32) || defined(__CYGWIN__) apr_snprintf(modname, sizeof(modname), "apr_crypto_%s-" APU_STRINGIFY(APU_MAJOR_VERSION) ".dll", name); #else diff --git a/contrib/apr-util/dbd/apr_dbd.c b/contrib/apr-util/dbd/apr_dbd.c index 49553f2b6..bfa97d9e3 100644 --- a/contrib/apr-util/dbd/apr_dbd.c +++ b/contrib/apr-util/dbd/apr_dbd.c @@ -102,8 +102,10 @@ APU_DECLARE(apr_status_t) apr_dbd_init(apr_pool_t *pool) } /* Top level pool scope, need process-scope lifetime */ - for (parent = pool; parent; parent = apr_pool_parent_get(pool)) - pool = parent; + for (parent = apr_pool_parent_get(pool); + parent && parent != pool; + parent = apr_pool_parent_get(pool)) + pool = parent; #if APU_DSO_BUILD /* deprecate in 2.0 - permit implicit initialization */ apu_dso_init(pool); @@ -184,7 +186,7 @@ APU_DECLARE(apr_status_t) apr_dbd_get_driver(apr_pool_t *pool, const char *name, #if defined(NETWARE) apr_snprintf(modname, sizeof(modname), "dbd%s.nlm", name); -#elif defined(WIN32) +#elif defined(WIN32) || defined(__CYGWIN__) apr_snprintf(modname, sizeof(modname), "apr_dbd_%s-" APU_STRINGIFY(APU_MAJOR_VERSION) ".dll", name); #else @@ -204,7 +206,7 @@ APU_DECLARE(apr_status_t) apr_dbd_get_driver(apr_pool_t *pool, const char *name, } apu_dso_mutex_unlock(); -#else /* not builtin and !APR_HAS_DSO => not implemented */ +#else /* not builtin and !APU_DSO_BUILD => not implemented */ rv = APR_ENOTIMPL; #endif diff --git a/contrib/apr-util/dbd/apr_dbd_odbc.c b/contrib/apr-util/dbd/apr_dbd_odbc.c index 3a97052fb..6ee8a7d57 100644 --- a/contrib/apr-util/dbd/apr_dbd_odbc.c +++ b/contrib/apr-util/dbd/apr_dbd_odbc.c @@ -114,9 +114,9 @@ struct apr_dbd_t char lastError[MAX_ERROR_STRING]; int defaultBufferSize; /* used for CLOBs in text mode, * and when fld size is indeterminate */ - int transaction_mode; - int dboptions; /* driver options re SQLGetData */ - int default_transaction_mode; + intptr_t transaction_mode; + intptr_t dboptions; /* driver options re SQLGetData */ + intptr_t default_transaction_mode; int can_commit; /* controls end_trans behavior */ }; @@ -359,7 +359,7 @@ static SQLRETURN odbc_set_result_column(int icol, apr_dbd_results_t *res, SQLHANDLE stmt) { SQLRETURN rc; - int maxsize, textsize, realsize, type, isunsigned = 1; + intptr_t maxsize, textsize, realsize, type, isunsigned = 1; /* discover the sql type */ rc = SQLColAttribute(stmt, icol + 1, SQL_DESC_UNSIGNED, NULL, 0, NULL, @@ -409,7 +409,7 @@ static SQLRETURN odbc_set_result_column(int icol, apr_dbd_results_t *res, type = SQL_C_CHAR; } - res->coltypes[icol] = type; + res->coltypes[icol] = (SQLSMALLINT)type; /* size if retrieved as text */ rc = SQLColAttribute(stmt, icol + 1, SQL_DESC_DISPLAY_SIZE, NULL, 0, @@ -441,12 +441,12 @@ static SQLRETURN odbc_set_result_column(int icol, apr_dbd_results_t *res, res->colptrs[icol] = NULL; res->colstate[icol] = COL_AVAIL; - res->colsizes[icol] = maxsize; + res->colsizes[icol] = (SQLINTEGER)maxsize; rc = SQL_SUCCESS; } else { res->colptrs[icol] = apr_pcalloc(res->pool, maxsize); - res->colsizes[icol] = maxsize; + res->colsizes[icol] = (SQLINTEGER)maxsize; if (res->apr_dbd->dboptions & SQL_GD_BOUND) { /* we are allowed to call SQLGetData if we need to */ rc = SQLBindCol(stmt, icol + 1, res->coltypes[icol], @@ -747,7 +747,7 @@ static void *odbc_get(const apr_dbd_row_t *row, const int col, SQLRETURN rc; SQLLEN indicator; int state = row->res->colstate[col]; - int options = row->res->apr_dbd->dboptions; + intptr_t options = row->res->apr_dbd->dboptions; switch (state) { case (COL_UNAVAIL): @@ -817,13 +817,13 @@ static apr_status_t odbc_parse_params(apr_pool_t *pool, const char *params, int *connect, SQLCHAR **datasource, SQLCHAR **user, SQLCHAR **password, int *defaultBufferSize, int *nattrs, - int **attrs, int **attrvals) + int **attrs, intptr_t **attrvals) { char *seps, *last, *next, *name[MAX_PARAMS], *val[MAX_PARAMS]; int nparams = 0, i, j; *attrs = apr_pcalloc(pool, MAX_PARAMS * sizeof(char *)); - *attrvals = apr_pcalloc(pool, MAX_PARAMS * sizeof(int)); + *attrvals = apr_pcalloc(pool, MAX_PARAMS * sizeof(intptr_t)); *nattrs = 0; seps = DEFAULTSEPS; name[nparams] = apr_strtok(apr_pstrdup(pool, params), seps, &last); @@ -1062,7 +1062,8 @@ static apr_dbd_t *odbc_open(apr_pool_t *pool, const char *params, const char **e SQLHANDLE err_h = NULL; SQLCHAR *datasource = (SQLCHAR *)"", *user = (SQLCHAR *)"", *password = (SQLCHAR *)""; - int nattrs = 0, *attrs = NULL, *attrvals = NULL, connect = 0; + int nattrs = 0, *attrs = NULL, connect = 0; + intptr_t *attrvals = NULL; err_step = "SQLAllocHandle (SQL_HANDLE_DBC)"; err_htype = SQL_HANDLE_ENV; @@ -1116,10 +1117,10 @@ static apr_dbd_t *odbc_open(apr_pool_t *pool, const char *params, const char **e handle->default_transaction_mode = 0; handle->can_commit = APR_DBD_TRANSACTION_IGNORE_ERRORS; SQLGetInfo(hdbc, SQL_DEFAULT_TXN_ISOLATION, - &(handle->default_transaction_mode), sizeof(int), NULL); + &(handle->default_transaction_mode), sizeof(intptr_t), NULL); handle->transaction_mode = handle->default_transaction_mode; SQLGetInfo(hdbc, SQL_GETDATA_EXTENSIONS ,&(handle->dboptions), - sizeof(int), NULL); + sizeof(intptr_t), NULL); apr_pool_cleanup_register(pool, handle, odbc_close_cleanup, apr_pool_cleanup_null); return handle; } diff --git a/contrib/apr-util/dbm/apr_dbm.c b/contrib/apr-util/dbm/apr_dbm.c index 5c506fc88..8b58f8331 100644 --- a/contrib/apr-util/dbm/apr_dbm.c +++ b/contrib/apr-util/dbm/apr_dbm.c @@ -129,8 +129,10 @@ static apr_status_t dbm_open_type(apr_dbm_type_t const* * vtable, apr_pool_t *parent; /* Top level pool scope, need process-scope lifetime */ - for (parent = pool; parent; parent = apr_pool_parent_get(pool)) - pool = parent; + for (parent = apr_pool_parent_get(pool); + parent && parent != pool; + parent = apr_pool_parent_get(pool)) + pool = parent; /* deprecate in 2.0 - permit implicit initialization */ apu_dso_init(pool); @@ -162,7 +164,7 @@ static apr_status_t dbm_open_type(apr_dbm_type_t const* * vtable, #if defined(NETWARE) apr_snprintf(modname, sizeof(modname), "dbm%s.nlm", type); -#elif defined(WIN32) +#elif defined(WIN32) || defined (__CYGWIN__) apr_snprintf(modname, sizeof(modname), "apr_dbm_%s-" APU_STRINGIFY(APU_MAJOR_VERSION) ".dll", type); #else diff --git a/contrib/apr-util/include/apr_buckets.h b/contrib/apr-util/include/apr_buckets.h index 4838ab28d..025292b98 100644 --- a/contrib/apr-util/include/apr_buckets.h +++ b/contrib/apr-util/include/apr_buckets.h @@ -351,9 +351,9 @@ typedef apr_status_t (*apr_brigade_flush)(apr_bucket_brigade *bb, void *ctx); #define APR_BRIGADE_LAST(b) APR_RING_LAST(&(b)->list) /** - * Insert a list of buckets at the front of a brigade + * Insert a single bucket at the front of a brigade * @param b The brigade to add to - * @param e The first bucket in a list of buckets to insert + * @param e The bucket to insert */ #define APR_BRIGADE_INSERT_HEAD(b, e) do { \ apr_bucket *ap__b = (e); \ @@ -362,9 +362,9 @@ typedef apr_status_t (*apr_brigade_flush)(apr_bucket_brigade *bb, void *ctx); } while (0) /** - * Insert a list of buckets at the end of a brigade + * Insert a single bucket at the end of a brigade * @param b The brigade to add to - * @param e The first bucket in a list of buckets to insert + * @param e The bucket to insert */ #define APR_BRIGADE_INSERT_TAIL(b, e) do { \ apr_bucket *ap__b = (e); \ @@ -393,9 +393,9 @@ typedef apr_status_t (*apr_brigade_flush)(apr_bucket_brigade *bb, void *ctx); } while (0) /** - * Insert a list of buckets before a specified bucket + * Insert a single bucket before a specified bucket * @param a The bucket to insert before - * @param b The buckets to insert + * @param b The bucket to insert */ #define APR_BUCKET_INSERT_BEFORE(a, b) do { \ apr_bucket *ap__a = (a), *ap__b = (b); \ @@ -404,9 +404,9 @@ typedef apr_status_t (*apr_brigade_flush)(apr_bucket_brigade *bb, void *ctx); } while (0) /** - * Insert a list of buckets after a specified bucket + * Insert a single bucket after a specified bucket * @param a The bucket to insert after - * @param b The buckets to insert + * @param b The bucket to insert */ #define APR_BUCKET_INSERT_AFTER(a, b) do { \ apr_bucket *ap__a = (a), *ap__b = (b); \ diff --git a/contrib/apr-util/include/apr_dbd.h b/contrib/apr-util/include/apr_dbd.h index f30977daf..3a334b73e 100644 --- a/contrib/apr-util/include/apr_dbd.h +++ b/contrib/apr-util/include/apr_dbd.h @@ -107,10 +107,10 @@ APU_DECLARE(apr_status_t) apr_dbd_get_driver(apr_pool_t *pool, const char *name, /** apr_dbd_open_ex: open a connection to a backend * + * @param driver - driver struct. * @param pool - working pool * @param params - arguments to driver (implementation-dependent) * @param handle - pointer to handle to return - * @param driver - driver struct. * @param error - descriptive error. * @return APR_SUCCESS for success * @return APR_EGENERAL if driver exists but connection failed @@ -147,10 +147,10 @@ APU_DECLARE(apr_status_t) apr_dbd_open_ex(const apr_dbd_driver_t *driver, /** apr_dbd_open: open a connection to a backend * + * @param driver - driver struct. * @param pool - working pool * @param params - arguments to driver (implementation-dependent) * @param handle - pointer to handle to return - * @param driver - driver struct. * @return APR_SUCCESS for success * @return APR_EGENERAL if driver exists but connection failed * @see apr_dbd_open_ex @@ -161,8 +161,8 @@ APU_DECLARE(apr_status_t) apr_dbd_open(const apr_dbd_driver_t *driver, /** apr_dbd_close: close a connection to a backend * - * @param handle - handle to close * @param driver - driver struct. + * @param handle - handle to close * @return APR_SUCCESS for success or error status */ APU_DECLARE(apr_status_t) apr_dbd_close(const apr_dbd_driver_t *driver, diff --git a/contrib/apr-util/include/apr_hooks.h b/contrib/apr-util/include/apr_hooks.h index b675711e7..eee16e3c6 100644 --- a/contrib/apr-util/include/apr_hooks.h +++ b/contrib/apr-util/include/apr_hooks.h @@ -313,24 +313,24 @@ APU_DECLARE_DATA extern apr_pool_t *apr_hook_global_pool; /** * A global variable to determine if debugging information about the - * hooks functions should be printed + * hooks functions should be printed. */ APU_DECLARE_DATA extern int apr_hook_debug_enabled; /** - * The name of the module that is currently registering a function + * The name of the module that is currently registering a function. */ APU_DECLARE_DATA extern const char *apr_hook_debug_current; /** - * Register a hook function to be sorted + * Register a hook function to be sorted. * @param szHookName The name of the Hook the function is registered for * @param aHooks The array which stores all of the functions for this hook */ APU_DECLARE(void) apr_hook_sort_register(const char *szHookName, apr_array_header_t **aHooks); /** - * Sort all of the registerd functions for a given hook + * Sort all of the registered functions for a given hook. */ APU_DECLARE(void) apr_hook_sort_all(void); diff --git a/contrib/apr-util/include/apr_optional_hooks.h b/contrib/apr-util/include/apr_optional_hooks.h index 54bf65eff..8265f03f3 100644 --- a/contrib/apr-util/include/apr_optional_hooks.h +++ b/contrib/apr-util/include/apr_optional_hooks.h @@ -33,11 +33,11 @@ extern "C" { * @{ */ /** - * Function to implemnt the APR_OPTIONAL_HOOK Macro + * Function to implement the APR_OPTIONAL_HOOK Macro * @internal * @see APR_OPTIONAL_HOOK * - * @param name The name of the hook + * @param szName The name of the hook * @param pfn A pointer to a function that will be called * @param aszPre a NULL-terminated array of strings that name modules whose hooks should precede this one * @param aszSucc a NULL-terminated array of strings that name modules whose hooks should succeed this one diff --git a/contrib/apr-util/include/apr_queue.h b/contrib/apr-util/include/apr_queue.h index 20c425db3..a3a417048 100644 --- a/contrib/apr-util/include/apr_queue.h +++ b/contrib/apr-util/include/apr_queue.h @@ -22,7 +22,7 @@ * @brief Thread Safe FIFO bounded queue * @note Since most implementations of the queue are backed by a condition * variable implementation, it isn't available on systems without threads. - * Although condition variables are some times available without threads. + * Although condition variables are sometimes available without threads. */ #include "apu.h" diff --git a/contrib/apr-util/include/apr_reslist.h b/contrib/apr-util/include/apr_reslist.h index 1e30a5382..02a8192b9 100644 --- a/contrib/apr-util/include/apr_reslist.h +++ b/contrib/apr-util/include/apr_reslist.h @@ -44,7 +44,7 @@ typedef struct apr_reslist_t apr_reslist_t; /* Generic constructor called by resource list when it needs to create a * resource. * @param resource opaque resource - * @param param flags + * @param params flags * @param pool Pool */ typedef apr_status_t (*apr_reslist_constructor)(void **resource, void *params, @@ -53,7 +53,7 @@ typedef apr_status_t (*apr_reslist_constructor)(void **resource, void *params, /* Generic destructor called by resource list when it needs to destroy a * resource. * @param resource opaque resource - * @param param flags + * @param params flags * @param pool Pool */ typedef apr_status_t (*apr_reslist_destructor)(void *resource, void *params, @@ -111,12 +111,17 @@ APU_DECLARE(apr_status_t) apr_reslist_destroy(apr_reslist_t *reslist); * Retrieve a resource from the list, creating a new one if necessary. * If we have met our maximum number of resources, we will block * until one becomes available. + * @param reslist The resource list. + * @param resource An address where the pointer to the resource + * will be stored. */ APU_DECLARE(apr_status_t) apr_reslist_acquire(apr_reslist_t *reslist, void **resource); /** * Return a resource back to the list of available resources. + * @param reslist The resource list. + * @param resource The resource to return to the list. */ APU_DECLARE(apr_status_t) apr_reslist_release(apr_reslist_t *reslist, void *resource); @@ -140,6 +145,8 @@ APU_DECLARE(apr_uint32_t) apr_reslist_acquired_count(apr_reslist_t *reslist); * Invalidate a resource in the pool - e.g. a database connection * that returns a "lost connection" error and can't be restored. * Use this instead of apr_reslist_release if the resource is bad. + * @param reslist The resource list. + * @param resource The resource to invalidate. */ APU_DECLARE(apr_status_t) apr_reslist_invalidate(apr_reslist_t *reslist, void *resource); diff --git a/contrib/apr-util/include/apu.hw b/contrib/apr-util/include/apu.hw index 5be70de60..a6cde01a3 100644 --- a/contrib/apr-util/include/apu.hw +++ b/contrib/apr-util/include/apu.hw @@ -42,6 +42,12 @@ * conventions at compile time. */ +/* Make sure we have our platform identifier macro defined we ask for later. + */ +#if defined(_WIN32) && !defined(WIN32) +#define WIN32 1 +#endif + #if defined(DOXYGEN) || !defined(WIN32) /** * The public APR-UTIL functions are declared with APU_DECLARE(), so they may diff --git a/contrib/apr-util/include/apu_version.h b/contrib/apr-util/include/apu_version.h index 7435084f3..a7a587876 100644 --- a/contrib/apr-util/include/apu_version.h +++ b/contrib/apr-util/include/apu_version.h @@ -38,6 +38,9 @@ */ +#define APU_COPYRIGHT "Copyright (c) 2013 The Apache Software " \ + "Foundation or its licensors, as applicable." + /* The numeric compile-time version constants. These constants are the * authoritative version numbers for APU. */ @@ -59,7 +62,7 @@ * The Patch Level never includes API changes, simply bug fixes. * Reset to 0 when upgrading APR_MINOR_VERSION */ -#define APU_PATCH_VERSION 2 +#define APU_PATCH_VERSION 3 /** * The symbol APU_IS_DEV_VERSION is only defined for internal, @@ -71,7 +74,9 @@ #if defined(APU_IS_DEV_VERSION) || defined(DOXYGEN) /** Internal: string form of the "is dev" flag */ +#ifndef APU_IS_DEV_STRING #define APU_IS_DEV_STRING "-dev" +#endif #else #define APU_IS_DEV_STRING "" #endif diff --git a/contrib/apr-util/libaprutil.rc b/contrib/apr-util/libaprutil.rc index 2beceeb44..a1ffddbd5 100644 --- a/contrib/apr-util/libaprutil.rc +++ b/contrib/apr-util/libaprutil.rc @@ -1,8 +1,5 @@ #include "apu_version.h" -#define APU_COPYRIGHT "Copyright (c) 2011 The Apache Software " \ - "Foundation or its licensors, as applicable." - #define APU_LICENSE \ "Licensed to the Apache Software Foundation (ASF) under one or more " \ "contributor license agreements. See the NOTICE file distributed with " \ diff --git a/contrib/apr-util/memcache/apr_memcache.c b/contrib/apr-util/memcache/apr_memcache.c index f6b911d99..b9922fb76 100644 --- a/contrib/apr-util/memcache/apr_memcache.c +++ b/contrib/apr-util/memcache/apr_memcache.c @@ -181,7 +181,7 @@ apr_memcache_find_server_hash_default(void *baton, apr_memcache_t *mc, #if APR_HAS_THREADS apr_thread_mutex_lock(ms->lock); #endif - /* Try the the dead server, every 5 seconds */ + /* Try the dead server, every 5 seconds */ if (curtime - ms->btime > apr_time_from_sec(5)) { ms->btime = curtime; if (mc_version_ping(ms) == APR_SUCCESS) { @@ -289,8 +289,13 @@ static apr_status_t conn_connect(apr_memcache_conn_t *conn) { apr_status_t rv = APR_SUCCESS; apr_sockaddr_t *sa; +#if APR_HAVE_SOCKADDR_UN + apr_int32_t family = conn->ms->host[0] != '/' ? APR_INET : APR_UNIX; +#else + apr_int32_t family = APR_INET; +#endif - rv = apr_sockaddr_info_get(&sa, conn->ms->host, APR_INET, conn->ms->port, 0, conn->p); + rv = apr_sockaddr_info_get(&sa, conn->ms->host, family, conn->ms->port, 0, conn->p); if (rv != APR_SUCCESS) { return rv; } @@ -322,6 +327,11 @@ mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) apr_pool_t *np; apr_pool_t *tp; apr_memcache_server_t *ms = params; +#if APR_HAVE_SOCKADDR_UN + apr_int32_t family = ms->host[0] != '/' ? APR_INET : APR_UNIX; +#else + apr_int32_t family = APR_INET; +#endif rv = apr_pool_create(&np, pool); if (rv != APR_SUCCESS) { @@ -339,7 +349,7 @@ mc_conn_construct(void **conn_, void *params, apr_pool_t *pool) conn->p = np; conn->tp = tp; - rv = apr_socket_create(&conn->sock, APR_INET, SOCK_STREAM, 0, np); + rv = apr_socket_create(&conn->sock, family, SOCK_STREAM, 0, np); if (rv != APR_SUCCESS) { apr_pool_destroy(np); diff --git a/contrib/apr-util/misc/apu_dso.c b/contrib/apr-util/misc/apu_dso.c index 639875dc7..9d7f20659 100644 --- a/contrib/apr-util/misc/apu_dso.c +++ b/contrib/apr-util/misc/apu_dso.c @@ -75,7 +75,6 @@ static apr_status_t apu_dso_term(void *ptr) apr_status_t apu_dso_init(apr_pool_t *pool) { apr_status_t ret = APR_SUCCESS; - apr_pool_t *global; apr_pool_t *parent; if (apr_atomic_inc32(&initialised)) { @@ -88,17 +87,19 @@ apr_status_t apu_dso_init(apr_pool_t *pool) } /* Top level pool scope, need process-scope lifetime */ - for (parent = global = pool; parent; parent = apr_pool_parent_get(global)) - global = parent; + for (parent = apr_pool_parent_get(pool); + parent && parent != pool; + parent = apr_pool_parent_get(pool)) + pool = parent; - dsos = apr_hash_make(global); + dsos = apr_hash_make(pool); #if APR_HAS_THREADS - ret = apr_thread_mutex_create(&mutex, APR_THREAD_MUTEX_DEFAULT, global); + ret = apr_thread_mutex_create(&mutex, APR_THREAD_MUTEX_DEFAULT, pool); /* This already registers a pool cleanup */ #endif - apr_pool_cleanup_register(global, NULL, apu_dso_term, + apr_pool_cleanup_register(pool, NULL, apu_dso_term, apr_pool_cleanup_null); apr_atomic_dec32(&in_init); diff --git a/contrib/apr-util/test/abts.c b/contrib/apr-util/test/abts.c index b2c650871..da0097d05 100644 --- a/contrib/apr-util/test/abts.c +++ b/contrib/apr-util/test/abts.c @@ -106,6 +106,9 @@ abts_suite *abts_add_suite(abts_suite *suite, const char *suite_name_full) /* suite_name_full may be an absolute path depending on __FILE__ * expansion */ suite_name = strrchr(suite_name_full, '/'); + if (!suite_name) { + suite_name = strrchr(suite_name_full, '\\'); + } if (suite_name) { suite_name++; } else { @@ -247,7 +250,8 @@ void abts_int_nequal(abts_case *tc, const int expected, const int actual, int li tc->failed = TRUE; if (verbose) { - fprintf(stderr, "Line %d: expected <%d>, but saw <%d>\n", lineno, expected, actual); + fprintf(stderr, "Line %d: expected something other than <%d>, but saw <%d>\n", + lineno, expected, actual); fflush(stderr); } } @@ -279,7 +283,8 @@ void abts_str_nequal(abts_case *tc, const char *expected, const char *actual, tc->failed = TRUE; if (verbose) { - fprintf(stderr, "Line %d: expected <%s>, but saw <%s>\n", lineno, expected, actual); + fprintf(stderr, "Line %d: expected something other than <%s>, but saw <%s>\n", + lineno, expected, actual); fflush(stderr); } } diff --git a/contrib/apr-util/test/testpass.c b/contrib/apr-util/test/testpass.c index 0b0ebccff..2a27a8fbd 100644 --- a/contrib/apr-util/test/testpass.c +++ b/contrib/apr-util/test/testpass.c @@ -14,7 +14,6 @@ * limitations under the License. */ -#include #include #include diff --git a/contrib/apr-util/test/testssl.c b/contrib/apr-util/test/testssl.c deleted file mode 100644 index e7f090e1b..000000000 --- a/contrib/apr-util/test/testssl.c +++ /dev/null @@ -1,240 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* - * testssl: Simple APR SSL sockets test. - */ - -#include "apr.h" -#include "apr_general.h" -#include "apr_pools.h" -#include "apr_errno.h" -#include "apr_getopt.h" -#include "apr_time.h" -#define APR_WANT_STRFUNC -#include "apr_want.h" - -#include "apr_ssl.h" -#include "apr_network_io.h" - -#if APR_HAVE_STDIO_H -#include -#endif -#if APR_HAVE_UNISTD_H -#include -#endif -#include /* for atexit(), malloc() */ -#include - -struct sslTestCase { - char *host; - int port; - const char *request; - int result; -} tests[] = { - { "svn.apache.org", 443, "GET / HTTP/1.0\n\n", 1 }, - { NULL } -}; - -static apr_ssl_socket_t *createSocket(apr_ssl_factory_t *asf, - apr_pollset_t *pollset, - apr_pool_t *pool, int blocking) -{ - apr_ssl_socket_t *sock; - apr_status_t rv; - printf("::Creating SSL socket\n"); - rv = apr_ssl_socket_create(&sock, AF_INET, SOCK_STREAM, 0, asf, NULL); - if (rv != APR_SUCCESS) { - printf("\tFailed to create socket\n"); - return NULL; - } - rv = apr_pollset_add_ssl_socket(pollset, sock); - if (rv != APR_SUCCESS) { - printf("\tFailed to add to pollset\n"); - return NULL; - } - printf("\tOK\n"); - return sock; -} - -static apr_status_t connectSocket(apr_ssl_socket_t *sock, - const char *host, int port, - apr_pool_t *pool) -{ - apr_status_t rv; - apr_sockaddr_t *remoteSA; - - printf("::Connecting socket\n"); - rv = apr_sockaddr_info_get(&remoteSA, host, APR_UNSPEC, port, 0, pool); - if (rv != APR_SUCCESS) { - printf("\tFailed to get address for '%s', port %d\n", host, port); - return rv; - } - rv = apr_ssl_socket_connect(sock, remoteSA); - if (rv != APR_SUCCESS) { - printf("\tFailed to connect to '%s' port %d\n", host, port); - return rv; - } - printf("\tOK\n"); - return rv; -} - -static apr_status_t socketRead(apr_ssl_socket_t *sock, - apr_pollset_t *pollset, - char *buf, apr_size_t *len) -{ - int lrv; - const apr_pollfd_t *descs = NULL; - apr_status_t rv; - - printf("::Reading from socket\n"); - rv = apr_ssl_socket_set_poll_events(sock, APR_POLLIN); - if (rv != APR_SUCCESS) { - printf("\tUnable to change socket poll events!\n"); - return rv; - } - - rv = apr_pollset_poll(pollset, 30 * APR_USEC_PER_SEC, &lrv, &descs); - if (APR_STATUS_IS_TIMEUP(rv)) { - printf("\tTime up!\n"); - return rv; - } - - if (lrv != 1) { - printf("\tIncorrect return count, %d\n", lrv); - return rv; - } - if (descs[0].client_data != sock) { - printf("\tWrong socket returned?!\n"); - return rv; - } - if ((descs[0].rtnevents & APR_POLLIN) == 0) { - printf("\tSocket wasn't ready? huh? req [%08x] vs rtn [%08x]\n", - descs[0].reqevents, descs[0].rtnevents); - return rv; - } - rv = apr_ssl_socket_recv(sock, buf, len); - if (rv == APR_SUCCESS) - printf("\tOK, read %d bytes\n", *len); - else - printf("\tFailed\n"); - return rv; -} - -static apr_status_t socketWrite(apr_ssl_socket_t *sock, - apr_pollset_t *pollset, - const char *buf, apr_size_t *len) -{ - int lrv; - const apr_pollfd_t *descs = NULL; - apr_status_t rv; - - printf("::Writing to socket\n"); - rv = apr_ssl_socket_set_poll_events(sock, APR_POLLOUT); - if (rv != APR_SUCCESS) { - printf("\tUnable to change socket poll events!\n"); - return rv; - } - - rv = apr_pollset_poll(pollset, 30 * APR_USEC_PER_SEC, &lrv, &descs); - if (APR_STATUS_IS_TIMEUP(rv)) { - printf("\tTime up!\n"); - return rv; - } - if (lrv != 1) { - printf("\tIncorrect return count, %d\n", lrv); - return rv; - } - if (descs[0].client_data != sock) { - printf("\tWrong socket returned?!\n"); - return rv; - } - if ((descs[0].rtnevents & APR_POLLOUT) == 0) { - printf("\tSocket wasn't ready? huh?\n"); - return rv; - } - rv = apr_ssl_socket_send(sock, buf, len); - if (rv == APR_SUCCESS) - printf("\tOK, wrote %d bytes\n", *len); - else - printf("\tFailed\n"); - return rv; -} - -apr_status_t socketClose(apr_ssl_socket_t *sock, apr_pollset_t *pollset) -{ - apr_status_t rv; - printf("::Closing socket\n"); - rv = apr_pollset_remove_ssl_socket(sock); - if (rv != APR_SUCCESS) - printf("\tUnable to remove socket from pollset?\n"); - rv = apr_ssl_socket_close(sock); - if (rv != APR_SUCCESS) - printf("\tFailed to close SSL socket\n"); - else - printf("\tOK\n"); - return rv; -} - - -int main(int argc, const char * const * argv) -{ - apr_pool_t *pool; - apr_ssl_factory_t *asf = NULL; - apr_status_t rv; - apr_pollset_t *pollset; - - (void) apr_initialize(); - apr_pool_create(&pool, NULL); - atexit(apr_terminate); - - printf("SSL Library: %s\n", apr_ssl_library_name()); - - if (apr_pollset_create(&pollset, 1, pool, 0) != APR_SUCCESS) { - printf("Failed to create pollset!\n"); - exit(1); - } - - if (apr_ssl_factory_create(&asf, NULL, NULL, NULL, - APR_SSL_FACTORY_CLIENT, pool) != APR_SUCCESS) { - fprintf(stderr, "Unable to create client factory\n"); - } else { - int i; - for(i = 0; tests[i].host; i++) { - apr_ssl_socket_t *sslSock = createSocket(asf, pollset, pool, 0); - if (!sslSock) - continue; - - rv = connectSocket(sslSock, tests[i].host, tests[i].port, pool); - if (rv == APR_SUCCESS) { - apr_size_t len = strlen(tests[i].request); - rv = socketWrite(sslSock, pollset, tests[i].request, &len); - if (rv == APR_SUCCESS) { - char buffer[4096]; - len = 4096; - rv = socketRead(sslSock, pollset, buffer, &len); - } - } - socketClose(sslSock, pollset); - } - } - - apr_pollset_destroy(pollset); - apr_pool_destroy(pool); - - return 0; -} - - diff --git a/contrib/subversion/CHANGES b/contrib/subversion/CHANGES index 55b1b4d9e..b78eadd79 100644 --- a/contrib/subversion/CHANGES +++ b/contrib/subversion/CHANGES @@ -1,3 +1,195 @@ +Version 1.8.8 +(19 Feb 2014, from /branches/1.8.x) +http://svn.apache.org/repos/asf/subversion/tags/1.8.8 + + User-visible changes: + - Client-side bugfixes: + * use CryptoAPI to validate intermediary certificates on Windows (r1564623) + * fix automatic relocate for wcs not at repository root (r1541638 et al) + * diff: fix when target is a drive root on Windows (r1541635) + * wc: improve performance when used with SQLite 3.8 (r1542765) + * copy: fix some scenarios that broke the working copy (r1560690) + * move: fix errors when moving files between an external and the parent + working copy (r1551524, r1551579) + * log: resolve performance regression in certain scenarios (r1553101 et al) + * merge: decrease work to detect differences between 3 files (r1548486) + * checkout: don't require flush support for symlinks on Windows (r1547774) + * commit: don't change file permissions inappropriately (issue #4440) + * commit: fix assertion due to invalid pool lifetime (r1553376 et al) + * version: don't cut off the distribution version on Linux (r1544878 et al) + * flush stdout before exiting to avoid information being lost (r1499470) + * status: fix missing sentinel value on warning codes (r1543145) + * update/switch: improve some WC db queries that may return incorrect + results depending on how SQLite is built (r1567109) + + - Server-side bugfixes: + * reduce memory usage during checkout and export (r1564215) + * fsfs: create rep-cache.db with proper permissions (issue #3437) + * mod_dav_svn: prevent crashes with SVNListParentPath on (CVE-2014-0032) + * mod_dav_svn: fix SVNAllowBulkUpdates directive merging (r1548105) + * mod_dav_svn: include requested property changes in reports (r1557522) + * svnserve: correct default cache size in help text (r1563110) + * svnadmin dump: reduce size of dump files with '--deltas' (r1554978) + * resolve integer underflow that resulted in infinite loops (r1567985) + + Developer-visible changes: + - General: + * fix ocassional failure of check_tests.py 12 (r1496127 et al) + * fix failure with SQLite 3.8.1-3.8.3 when built with + SQLITE_ENABLE_STAT3/4 due to bug in SQLite (r1567286, r1567392) + * specify SQLite defaults that can be changed when SQLite is built + to avoid unexpected behavior with Subversion (r1567064) + + - API changes: + * numerous documentation fixes + * svn_client_commit_item3_dup() fix pool lifetime issues (r1550803) + * ra_serf: properly ask multiple certificate validation providers for + acceptance of certificate failures (r1535532) + * release internal fs objects when closing commit editor (r1555499) + * svn_client_proplist4() don't call the callback multiple times for + the same path in order to deliver inherited properties (r1549858 et al) + + - Bindings: + * javahl: make test suite run without installing on OS X (r1535115) + * swig: fix building out of tarball on OS X (r1555654) + * swig-pl: fix with --enable-sqlite-compatibility-version (r1559009) + * swig: fix building bindings on OS X when APR has the -no-cpp-precomp + flag in the apr-config --cppflags output. (r1535610) + * swig: fix building from tarball with an out-of-tree build (r1543187) + + +Version 1.8.7 +(Not released, see changes for 1.8.8.) + +Version 1.8.6 +(Not released, see changes for 1.8.8.) + + +Version 1.8.5 +(25 November 2013, from /branches/1.8.x) +http://svn.apache.org/repos/asf/subversion/tags/1.8.5 + + User-visible changes: + - Client-side bugfixes: + * fix externals that point at redirected locations (issues #4428, #4429) + * diff: fix assertion with move inside a copy (issue #4444) + + - Server-side bugfixes: + * mod_dav_svn: Prevent crashes with some 3rd party modules (r1537360 et al) + * mod_dav_svn: canonicalize paths properly (r1542071) + * mod_authz_svn: fix crash of mod_authz_svn with invalid config (r1541432) + * hotcopy: fix hotcopy losing revprop files in packed repos (issue #4448) + + - Other tool improvements and bugfixes: + * mod_dontdothat: Fix the uri parser (r1542069 et al) + + Developer-visible changes: + - General: + * fix compilation with '--enable-optimize' with clang (r1534860) + * fix compilation with debug build of BDB on Windows (r1501656, r1501702) + * fix '--with-openssl' option when building on Windows (r1535139) + * add test to fail when built against broken ZLib (r1537193 et al) + + - Bindings: + * swig-rb: fix tests to run without installing on OS X (r1535161) + * ctypes-python: build with compiler selected via configure (r1536537) + + +Version 1.8.4 +(29 October 2013, from /branches/1.8.x) +http://svn.apache.org/repos/asf/subversion/tags/1.8.4 + + User-visible changes: + - Client- and server-side bugfixes: + * fix assertion on urls of the form 'file://./' (r1516806) + * stop linking against psapi.dll on Windows (r1534102) + * translation updates for Swedish + + - Client-side bugfixes: + * revert: fix problems reverting moves (issue #4436) + * update: fix assertion when file external access is denied (issue #4422) + * merge: reduce network connections for automatic merge (r1468980 et al) + * merge: fix path corruption during reintegration (r1523666) + * mergeinfo: fix crash (r1519955) + * ra_serf: verify the result of xml parsing (r1501199 et al) + * ra_serf: improve error messages during commit (r1526439) + * ra_local: fix error with repository in Windows drive root (r1518184) + * fix crash on windows when piped command is interrupted (r1522892) + * fix crash in the crash handler on windows (r1532023) + * fix assertion when upgrading old working copies (r1520529) + + - Server-side bugfixes: + * hotcopy: cleanup unpacked revprops with '--incremental' (r1512300 et al) + * fix OOM on concurrent requests at threaded server start (r1527103 et al) + * fsfs: improve error message when unsupported fsfs format found (r1534158) + * fix memory problem in 3rd party FS module loader (r1519615 et al) + + Developer-visible changes: + - General: + * allow compiling against serf 1.3 and later on Windows (r1517123) + + - Bindings: + * javahl: canonicalize path for streamFileContent method (r1524869) + + +Version 1.8.3 +(29 August 2013, from /branches/1.8.x) +http://svn.apache.org/repos/asf/subversion/tags/1.8.3 + + User-visible changes: + - Client- and server-side bugfixes: + * translation updates for Swedish + * enforce strict version equality between tools and libraries (r1502267) + * consistently output revisions as "r%ld" in error messags (r1499044 et al) + + - Client-side bugfixes: + * status: always use absolute paths in XML output (issue #4398) + * ra_serf: 'svn log -v' fails with a 1.2.x server (issue #4044) + * ra_serf: fix crash when committing cp with deep deletion (issue #4400) + * diff: issue an error for files that can't fit in memory (r1513119 et al) + * svnmucc: generate proper error for mismatched URLs (r1511353) + * update: fix a crash when a temp file doesn't exist (r1513156) + * commit & update: improve sleep for timestamps performance (r1508438) + * diff: continue on missing or obstructing files (issue #4396) + * ra_serf: use runtime serf version for User-Agent (r1514315, r1514628) + * ra_serf: ignore case when checking certificate common names (r1514763) + * ra_serf: format distinguished names properly (r1514804) + * ra_serf: do not retry HTTP requests if we started to parse them (r1503318) + * ra_serf: output ssl cert verification failure reason (r1514785 et al) + * ra_serf: allow session reuse after SVN_ERR_CEASE_INVOCATION (r1502901) + * ra_serf: include library version in '--version' output (r1514295 et al) + * info: fix spurious error on wc root with child in conflict (r1515366) + + - Server-side bugfixes: + * svnserve: fix creation of pid files (r1516556) + * svnadmin: fix output encoding in non-UTF8 environments (r1506966) + * svnsync: fix high memory usage when running over ra_serf (r1515249 et al) + * mod_dav_svn: do not map requests to filesystem (r1512432 et al) + * svnauthz: improve help strings (r1511272) + * fsfs: fixed manifest file growth with revprop changes (r1513874) + * fsfs: fix packed revprops causing loss of revprops (r1513879 et al) + + - Other tool improvements and bugfixes: + * svnwcsub/irkerbridge: fix symlink attack via pid file (r175 from upstream) + + Developer-visible changes: + - General: + * describe APR unimplemented errors as coming from APR (r1503010 et al) + * mod_dav_svn: update INSTALL to reflect configure defaults (r1515141) + * davautocheck: use the correct apxs binary by default (r1507889, r1507891) + + - API changes: + * svn_config_walk_auth_data() config_dir arg: permit NULL (r1507382 et al) + + - Bindings: + * swig-pl: fix SVN::Client not honoring config file settings (r150744) + * swig-pl & swig-py: disable unusable svn_fs_set_warning_func (r1515119) + + +Version 1.8.2 +(Not released, see changes for 1.8.3.) + + Version 1.8.1 (23 July 2013, from /branches/1.8.x) http://svn.apache.org/repos/asf/subversion/tags/1.8.1 @@ -54,6 +246,8 @@ http://svn.apache.org/repos/asf/subversion/tags/1.8.1 * svnadmin create: deny '--fs-type=fsfs --compatible-version=1.0' (r1494223) * svnadmin upgrade: fix data loss when cancelling in last stage (r1494298) * mod_dav_svn: fix incorrect path canonicalization (r1503528) + See CVE-2013-4131, and descriptive advisory at + http://subversion.apache.org/security/CVE-2013-4131-advisory.txt - Other tool improvements and bugfixes: * fsfs-stats (tool): resolve segfault when passing invalid path (r1492164) @@ -178,7 +372,7 @@ http://svn.apache.org/repos/asf/subversion/tags/1.8.0 * decreased default http timeout for ra_serf (issue #3968) * prevent ra_serf from corrupting the working copy (issue #3993) * ra_serf transmits property changes inline to reduce requests (r1378927) - * allow client to avoid SSL certificate prompts (issue #2410) + * by default avoid SSL certificate prompts in client (issue #2410) * improve interactive resolution of property conflicts (r1387678 et al) * make ra_serf raise an error upon delta-base mismatch (issue #4235) * tune ra_svn transmit buffer handling (r1391788) @@ -361,7 +555,7 @@ http://svn.apache.org/repos/asf/subversion/tags/1.8.0 * support for Serf 2 (r1147538) * introduction of editor v2 (via private APIs only) (r1166332 et al) * improve SQLite setup for compatibility with OS X 10.7. (r1181666) - * rework switch statement to accomodate OWC compiler limitations (r1204407) + * rework switch statement to accommodate OWC compiler limitations (r1204407) * new --enable-sqlite-compatibility-version configure option (r1201421) * make test suite LD_LIBRARY_PATH include just-built auth plugins (r1200474) * packages/ directory removed, contents were outdated and unused (r1442167) @@ -388,7 +582,7 @@ http://svn.apache.org/repos/asf/subversion/tags/1.8.0 * configure now script auto-detects GNOME keyring (r1387230) * allow configure to detect BDB on Debian-based Linux distros (r1390633) * auto-detect serf via pkg-config (r1391662) - * improve queries for compatability with SQLite 3.7.16 (r1455239) + * improve queries for compatibility with SQLite 3.7.16 (r1455239) * remove support for in-tree apr, apr-util and apr-memcache (r1456924) * FSFS caching supports prefixes now (r1462436) * maintainer mode now prints symbolic error codes (r1465157) @@ -426,6 +620,84 @@ http://svn.apache.org/repos/asf/subversion/tags/1.8.0 * fix some reference counting bugs in swig-py bindings (r1464899, r1466524) +Version 1.7.15 +(12 Feb 2014, from /branches/1.7.x) +http://svn.apache.org/repos/asf/subversion/tags/1.7.15 + + User-visible changes: + - Client-side bugfixes: + * copy: fix some scenarios that broke the working copy (r1560690) + * diff: fix regressions due to fixes in 1.7.14 (issue #4460) + + - Server-side bugfixes: + * mod_dav_svn: prevent crashes with SVNListParentPath on (CVE-2014-0032) + * reduce memory usage during checkout and export (r1564215) + + Developer-visible changes: + - General: + * fix failure in checkout_tests.py + * support compiling against Cyrus sasl 2.1.25 (r1404912, r1413402) + + +Version 1.7.14 +(25 Nov 2013, from /branches/1.7.x) +http://svn.apache.org/repos/asf/subversion/tags/1.7.14 + + User-visible changes: + - Client- and server-side bugfixes: + * fix assertion on urls of the form 'file://./' (r1516806) + + - Client-side bugfixes: + * upgrade: fix an assertion when used with pre-1.3 wcs (r1530849) + * ra_local: fix error with repository in Windows drive root (r1518184) + * fix crash on windows when piped command is interrupted (r1522892) + * fix externals that point at redirected locations (issues #4428, #4429) + * diff: fix incorrect calculation of changes in some cases (issue #4283) + * diff: fix errors with added/deleted targets (issues #4153, #4421) + + - Server-side bugfixes: + * mod_dav_svn: Prevent crashes with some 3rd party modules (r1537360 et al) + * fix OOM on concurrent requests at threaded server start (r1527103 et al) + * fsfs: limit commit time of files with deep change histories (r1536790) + * mod_dav_svn: canonicalize paths properly (r1542071) + + - Other tool improvements and bugfixes: + * mod_dontdothat: Fix the uri parser (r1542069 et al) + + Developer-visible changes: + - Bindings: + * javahl: canonicalize path for streamFileContent method (r1524869) + + +Version 1.7.13 +(29 Aug 2013, from /branches/1.7.x) +http://svn.apache.org/repos/asf/subversion/tags/1.7.13 + + User-visible changes: + - General + * merge: fix bogus mergeinfo with conflicting file merges (issue #4306) + * diff: fix duplicated path component in '--summarize' output (issue #4408) + * ra_serf: ignore case when checking certificate common names (r1514763) + + - Server-side bugfixes: + * svnserve: fix creation of pid files (r1516556) + * mod_dav_svn: better status codes for commit failures (r1490684) + * mod_dav_svn: do not map requests to filesystem (r1512432 et al) + + Developer-visible changes: + - General: + * support linking against gssapi on Solaris 10 (r1515068) + * don't use uninitialized variable to produce an error code (r1482282) + + - Bindings: + * swig-pl: fix SVN::Client not honoring config file settings (r150744) + * swig-pl & swig-py: disable unusable svn_fs_set_warning_func (r1515119) + + +Version 1.7.12 +(Not released, see changes for 1.7.13.) + + Version 1.7.11 (23 Jul 2013, from /branches/1.7.x) http://svn.apache.org/repos/asf/subversion/tags/1.7.11 @@ -436,9 +708,13 @@ http://svn.apache.org/repos/asf/subversion/tags/1.7.11 - Server-side bugfixes: * mod_dav_svn: fix incorrect path canonicalization (r1503528) + See CVE-2013-4131, and descriptive advisory at + http://subversion.apache.org/security/CVE-2013-4131-advisory.txt - Other tool improvements and bugfixes: * fix argument processing in contrib hook scripts (r1485350) + See CVE-2013-2088, and descriptive advisory at + http://subversion.apache.org/security/CVE-2013-2088-advisory.txt Developer-visible changes: - Bindings: @@ -464,7 +740,11 @@ http://svn.apache.org/repos/asf/subversion/tags/1.7.10 - Server-side bugfixes: * fix FSFS repository corruption due to newline in filename (issue #4340) + See CVE-2013-1968, and descriptive advisory at + http://subversion.apache.org/security/CVE-2013-1968-advisory.txt * fix svnserve exiting when a client connection is aborted (r1482759) + See CVE-2013-2112, and descriptive advisory at + http://subversion.apache.org/security/CVE-2013-2112-advisory.txt * fix svnserve memory use after clear (issue #4365) * fix repository corruption on power/disk failure on Windows (r1483781) @@ -490,6 +770,9 @@ http://svn.apache.org/repos/asf/subversion/tags/1.7.9 * fix segfault when using kwallet (r1421103) - Server-side bugfixes: + See CVE-2013-1845, CVE-2013-1846, CVE-2013-1847, CVE-2013-1849, + and CVE-2013-1884, and descriptive advisories at + http://subversion.apache.org/security/ * svnserve will log the replayed rev not the low-water rev. (r1461278) * mod_dav_svn will omit some property values for activity urls (r1453780) * fix an assertion in mod_dav_svn when acting as a proxy on / (issue #4272) @@ -1027,6 +1310,8 @@ http://svn.apache.org/repos/asf/subversion/tags/1.6.23 - Server-side bugfixes: * fix FSFS repository corruption due to newline in filename (issue #4340) * fix svnserve exiting when a client connection is aborted (r1482759) + See CVE-2013-2112, and descriptive advisory at + http://subversion.apache.org/security/CVE-2013-2112-advisory.txt - Other tool improvements and bugfixes: * fix argument processing in contrib hook scripts (r1485350) @@ -1127,7 +1412,7 @@ http://svn.apache.org/repos/asf/subversion/tags/1.6.17 http://subversion.apache.org/security/CVE-2011-1752-advisory.txt * fixed: write-through proxy could direcly commit to slave (r917523) * detect a particular corruption condition in FSFS (r1100213) - * improve error message when clients refer to unkown revisions (r939000) + * improve error message when clients refer to unknown revisions (r939000) * bugfixes and optimizations to the DAV mirroring code (r878607) * fixed: locked and deleted file causes tree conflict (issue #3525) * fixed: update touches locked file with svn:keywords property (issue #3471) @@ -1497,7 +1782,7 @@ http://svn.apache.org/repos/asf/subversion/tags/1.6.1 * improve performance of 'svn update' on large files (r36389, et. al.) * fixed: error leak and potential crash (r36860) * fixed: parent directory handling on Windows (r36049, -50, -51, -131) - * fixed: unintialized memory errors (r36252, -3) + * fixed: uninitialized memory errors (r36252, -3) * fixed: potential working copy corruption (r36714) * fixed: working copy upgrade error (r36302) * fixed: pointer dereference error (r36783) diff --git a/contrib/subversion/INSTALL b/contrib/subversion/INSTALL index 55ca34453..25f4e13ca 100644 --- a/contrib/subversion/INSTALL +++ b/contrib/subversion/INSTALL @@ -3,7 +3,7 @@ A Quick Guide ====================================== -$LastChangedDate: 2013-06-05 04:00:25 +0000 (Wed, 05 Jun 2013) $ +$LastChangedDate: 2013-09-27 06:57:44 +0000 (Fri, 27 Sep 2013) $ Contents: @@ -477,7 +477,7 @@ I. INTRODUCTION 13. SQLite (REQUIRED) - Subversion 1.7 requires SQLite version 3.6.18 or above. You can meet + Subversion 1.8 requires SQLite version 3.7.12 or above. You can meet this dependency several ways: * Use an SQLite amalgamation file. * Specify an SQLite installation to use. @@ -1263,7 +1263,8 @@ III. BUILDING A SUBVERSION SERVER After the make install, the Subversion shared libraries are in /usr/local/lib/. mod_dav_svn.so should be installed in - /usr/local/apache2/modules/. + /usr/local/libexec/ (or elsewhere, such as /usr/local/apache2/modules/, + if you passed --with-apache-libexecdir to configure). Section II.E explains how to build the server on Windows. @@ -1287,8 +1288,9 @@ III. BUILDING A SUBVERSION SERVER http://httpd.apache.org/docs-2.0/ First, your httpd.conf needs to load the mod_dav_svn module. - Subversion's 'make install' target should automatically add this - line for you. But if apache gives you an error like "Unknown + If you pass --enable-mod-activation to Subversion's configure, + 'make install' target should automatically add this line for you. + In any case, if Apache HTTPD gives you an error like "Unknown DAV provider: svn", then you may want to verify that this line exists in your httpd.conf: diff --git a/contrib/subversion/Makefile.in b/contrib/subversion/Makefile.in index 1b5d9d819..4681a7df4 100644 --- a/contrib/subversion/Makefile.in +++ b/contrib/subversion/Makefile.in @@ -108,6 +108,7 @@ PACKAGE_VERSION=@PACKAGE_VERSION@ CC = @CC@ CXX = @CXX@ +CPP = @CPP@ EXEEXT = @EXEEXT@ SHELL = @SHELL@ @@ -176,6 +177,7 @@ CXXMAINTAINERFLAGS = @CXXMAINTAINERFLAGS@ CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS) LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS) SWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS) +SWIG_CPPFLAGS = @SWIG_CPPFLAGS@ $(EXTRA_CPPFLAGS) COMPILE = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CMAINTAINERFLAGS) $(CFLAGS) $(INCLUDES) COMPILE_CXX = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXMAINTAINERFLAGS) $(CXXFLAGS) $(INCLUDES) @@ -198,6 +200,19 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS) COMPILE_JAVAHL_JAVAH = $(JAVAH) +# export an env variable so that the tests can run without being installed +TEST_SHLIB_VAR_JAVAHL=\ + if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ + for d in $(abs_builddir)/subversion/libsvn_*; do \ + if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ + @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ + else \ + @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ + fi; \ + done; \ + export @SVN_APR_SHLIB_PATH_VAR@; \ + fi; + # special compilation for files destined for cxxhl COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(CXXHL_INCLUDES) -o $@ -c @@ -331,7 +346,7 @@ INSTALL_EXTRA_SWIG_RB=\ # export an env variable so that the tests can run without being installed TEST_SHLIB_VAR_SWIG_RB=\ if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ - for d in $(SWIG_PY_DIR)/libsvn_swig_rb $(SWIG_PY_DIR)/../../../libsvn_*; do \ + for d in $(SWIG_RB_DIR)/libsvn_swig_ruby $(SWIG_RB_DIR)/../../../libsvn_*; do \ if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ else \ @@ -340,8 +355,8 @@ TEST_SHLIB_VAR_SWIG_RB=\ done; \ export @SVN_APR_SHLIB_PATH_VAR@; \ fi; - -APXS = @APXS@ + +APXS = @APXS@ PYTHON = @PYTHON@ PERL = @PERL@ @@ -464,11 +479,13 @@ clean-javahl: check-tigris-javahl: javahl-compat @FIX_JAVAHL_LIB@ - $(JAVA) "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" -Djava.library.path=@JAVAHL_OBJDIR@:$(libdir) -classpath $(javahl_compat_tests_PATH):$(javahl_tests_CLASSPATH) "-Dtest.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests + $(TEST_SHLIB_VAR_JAVAHL) \ + $(JAVA) "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_compat_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests check-apache-javahl: javahl @FIX_JAVAHL_LIB@ - $(JAVA) "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" -Djava.library.path=@JAVAHL_OBJDIR@:$(libdir) -classpath $(javahl_tests_PATH):$(javahl_tests_CLASSPATH) "-Dtest.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests + $(TEST_SHLIB_VAR_JAVAHL) \ + $(JAVA) "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests check-javahl: check-apache-javahl @@ -871,7 +888,7 @@ install-swig-rb-doc: # ctypes-python make targets ctypes-python: local-all - $(SHELL) $(abs_srcdir)/build/run_ctypesgen.sh "$(LT_EXECUTE)" "$(CPPFLAGS)" "$(EXTRA_CTYPES_LDFLAGS)" "$(PYTHON)" "$(CTYPESGEN)" "$(abs_srcdir)" "$(abs_builddir)" "$(libdir)" "$(SVN_APR_CONFIG)" "$(SVN_APRUTIL_CONFIG)" + $(SHELL) $(abs_srcdir)/build/run_ctypesgen.sh "$(LT_EXECUTE)" "$(CPPFLAGS)" "$(EXTRA_CTYPES_LDFLAGS)" "$(PYTHON)" "$(CTYPESGEN)" "$(abs_srcdir)" "$(abs_builddir)" "$(libdir)" "$(SVN_APR_CONFIG)" "$(SVN_APRUTIL_CONFIG)" "$(CPP)" install-ctypes-python: ctypes-python cd $(CTYPES_PYTHON_SRC_DIR); \ diff --git a/contrib/subversion/NOTICE b/contrib/subversion/NOTICE index 4450bc3fc..fdcea3c80 100644 --- a/contrib/subversion/NOTICE +++ b/contrib/subversion/NOTICE @@ -1,5 +1,5 @@ -Subversion -Copyright 2010 The Apache Software Foundation +Apache Subversion +Copyright 2013 The Apache Software Foundation This product includes software developed by many people, and distributed under Contributor License Agreements to The Apache Software Foundation diff --git a/contrib/subversion/build-outputs.mk b/contrib/subversion/build-outputs.mk index 55bac4fb2..5845a86c2 100644 --- a/contrib/subversion/build-outputs.mk +++ b/contrib/subversion/build-outputs.mk @@ -115,7 +115,7 @@ checksum_test_PATH = subversion/tests/libsvn_subr checksum_test_DEPS = subversion/tests/libsvn_subr/checksum-test.lo subversion/tests/libsvn_test-1.la subversion/libsvn_subr/libsvn_subr-1.la checksum_test_OBJECTS = checksum-test.lo subversion/tests/libsvn_subr/checksum-test$(EXEEXT): $(checksum_test_DEPS) - cd subversion/tests/libsvn_subr && $(LINK) $(checksum_test_LDFLAGS) -o checksum-test$(EXEEXT) $(checksum_test_OBJECTS) ../../../subversion/tests/libsvn_test-1.la ../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APR_LIBS) $(LIBS) + cd subversion/tests/libsvn_subr && $(LINK) $(checksum_test_LDFLAGS) -o checksum-test$(EXEEXT) $(checksum_test_OBJECTS) ../../../subversion/tests/libsvn_test-1.la ../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APR_LIBS) $(SVN_ZLIB_LIBS) $(LIBS) client_test_PATH = subversion/tests/libsvn_client client_test_DEPS = subversion/tests/libsvn_client/client-test.lo subversion/tests/libsvn_test-1.la subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subversion/libsvn_repos/libsvn_repos-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_fs/libsvn_fs-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la @@ -1870,82 +1870,82 @@ subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.lo: subversion/bindin $(COMPILE_SWIG_PL) $(canonicalized_srcdir)subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c subversion/bindings/swig/perl/native/core.lo: subversion/bindings/swig/perl/native/core.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_delta.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PL_WRAPPER) subversion/bindings/swig/perl/native/core.c + $(COMPILE_PL_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/perl/native/core.c subversion/bindings/swig/perl/native/svn_client.lo: subversion/bindings/swig/perl/native/svn_client.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/svn_private_config.h - $(COMPILE_PL_WRAPPER) subversion/bindings/swig/perl/native/svn_client.c + $(COMPILE_PL_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/perl/native/svn_client.c subversion/bindings/swig/perl/native/svn_delta.lo: subversion/bindings/swig/perl/native/svn_delta.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PL_WRAPPER) subversion/bindings/swig/perl/native/svn_delta.c + $(COMPILE_PL_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/perl/native/svn_delta.c subversion/bindings/swig/perl/native/svn_diff.lo: subversion/bindings/swig/perl/native/svn_diff.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_delta.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PL_WRAPPER) subversion/bindings/swig/perl/native/svn_diff.c + $(COMPILE_PL_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/perl/native/svn_diff.c subversion/bindings/swig/perl/native/svn_fs.lo: subversion/bindings/swig/perl/native/svn_fs.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PL_WRAPPER) subversion/bindings/swig/perl/native/svn_fs.c + $(COMPILE_PL_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/perl/native/svn_fs.c subversion/bindings/swig/perl/native/svn_ra.lo: subversion/bindings/swig/perl/native/svn_ra.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PL_WRAPPER) subversion/bindings/swig/perl/native/svn_ra.c + $(COMPILE_PL_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/perl/native/svn_ra.c subversion/bindings/swig/perl/native/svn_repos.lo: subversion/bindings/swig/perl/native/svn_repos.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_ra.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PL_WRAPPER) subversion/bindings/swig/perl/native/svn_repos.c + $(COMPILE_PL_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/perl/native/svn_repos.c subversion/bindings/swig/perl/native/svn_wc.lo: subversion/bindings/swig/perl/native/svn_wc.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/svn_private_config.h - $(COMPILE_PL_WRAPPER) subversion/bindings/swig/perl/native/svn_wc.c + $(COMPILE_PL_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/perl/native/svn_wc.c subversion/bindings/swig/python/core.lo: subversion/bindings/swig/python/core.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_delta.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PY_WRAPPER) subversion/bindings/swig/python/core.c + $(COMPILE_PY_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/python/core.c subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.lo: subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c subversion/bindings/swig/proxy/swig_python_external_runtime.swg subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn_private_config.h $(COMPILE_SWIG_PY) $(canonicalized_srcdir)subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c subversion/bindings/swig/python/svn_client.lo: subversion/bindings/swig/python/svn_client.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/svn_private_config.h - $(COMPILE_PY_WRAPPER) subversion/bindings/swig/python/svn_client.c + $(COMPILE_PY_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/python/svn_client.c subversion/bindings/swig/python/svn_delta.lo: subversion/bindings/swig/python/svn_delta.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PY_WRAPPER) subversion/bindings/swig/python/svn_delta.c + $(COMPILE_PY_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/python/svn_delta.c subversion/bindings/swig/python/svn_diff.lo: subversion/bindings/swig/python/svn_diff.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_delta.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PY_WRAPPER) subversion/bindings/swig/python/svn_diff.c + $(COMPILE_PY_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/python/svn_diff.c subversion/bindings/swig/python/svn_fs.lo: subversion/bindings/swig/python/svn_fs.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PY_WRAPPER) subversion/bindings/swig/python/svn_fs.c + $(COMPILE_PY_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/python/svn_fs.c subversion/bindings/swig/python/svn_ra.lo: subversion/bindings/swig/python/svn_ra.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PY_WRAPPER) subversion/bindings/swig/python/svn_ra.c + $(COMPILE_PY_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/python/svn_ra.c subversion/bindings/swig/python/svn_repos.lo: subversion/bindings/swig/python/svn_repos.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_ra.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_PY_WRAPPER) subversion/bindings/swig/python/svn_repos.c + $(COMPILE_PY_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/python/svn_repos.c subversion/bindings/swig/python/svn_wc.lo: subversion/bindings/swig/python/svn_wc.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/svn_private_config.h - $(COMPILE_PY_WRAPPER) subversion/bindings/swig/python/svn_wc.c + $(COMPILE_PY_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/python/svn_wc.c subversion/bindings/swig/ruby/core.lo: subversion/bindings/swig/ruby/core.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_delta.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_RB_WRAPPER) subversion/bindings/swig/ruby/core.c + $(COMPILE_RB_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/ruby/core.c subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.lo: subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_nls.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/svn_private_config.h $(COMPILE_SWIG_RB) $(canonicalized_srcdir)subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c subversion/bindings/swig/ruby/svn_client.lo: subversion/bindings/swig/ruby/svn_client.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/svn_private_config.h - $(COMPILE_RB_WRAPPER) subversion/bindings/swig/ruby/svn_client.c + $(COMPILE_RB_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/ruby/svn_client.c subversion/bindings/swig/ruby/svn_delta.lo: subversion/bindings/swig/ruby/svn_delta.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_RB_WRAPPER) subversion/bindings/swig/ruby/svn_delta.c + $(COMPILE_RB_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/ruby/svn_delta.c subversion/bindings/swig/ruby/svn_diff.lo: subversion/bindings/swig/ruby/svn_diff.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_delta.h subversion/include/svn_fs.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_RB_WRAPPER) subversion/bindings/swig/ruby/svn_diff.c + $(COMPILE_RB_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/ruby/svn_diff.c subversion/bindings/swig/ruby/svn_fs.lo: subversion/bindings/swig/ruby/svn_fs.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_RB_WRAPPER) subversion/bindings/swig/ruby/svn_fs.c + $(COMPILE_RB_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/ruby/svn_fs.c subversion/bindings/swig/ruby/svn_ra.lo: subversion/bindings/swig/ruby/svn_ra.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_RB_WRAPPER) subversion/bindings/swig/ruby/svn_ra.c + $(COMPILE_RB_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/ruby/svn_ra.c subversion/bindings/swig/ruby/svn_repos.lo: subversion/bindings/swig/ruby/svn_repos.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_ra.h subversion/include/svn_wc.h subversion/svn_private_config.h - $(COMPILE_RB_WRAPPER) subversion/bindings/swig/ruby/svn_repos.c + $(COMPILE_RB_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/ruby/svn_repos.c subversion/bindings/swig/ruby/svn_wc.lo: subversion/bindings/swig/ruby/svn_wc.c subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h subversion/include/svn_client.h subversion/include/svn_fs.h subversion/include/svn_repos.h subversion/svn_private_config.h - $(COMPILE_RB_WRAPPER) subversion/bindings/swig/ruby/svn_wc.c + $(COMPILE_RB_WRAPPER) $(canonicalized_srcdir)subversion/bindings/swig/ruby/svn_wc.c subversion/libsvn_auth_gnome_keyring/gnome_keyring.lo: subversion/libsvn_auth_gnome_keyring/gnome_keyring.c subversion/include/private/svn_auth_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h @@ -1977,7 +1977,7 @@ subversion/libsvn_client/compat_providers.lo: subversion/libsvn_client/compat_pr subversion/libsvn_client/copy.lo: subversion/libsvn_client/copy.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h -subversion/libsvn_client/copy_foreign.lo: subversion/libsvn_client/copy_foreign.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h +subversion/libsvn_client/copy_foreign.lo: subversion/libsvn_client/copy_foreign.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h subversion/libsvn_client/ctx.lo: subversion/libsvn_client/ctx.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h @@ -1985,17 +1985,17 @@ subversion/libsvn_client/delete.lo: subversion/libsvn_client/delete.c subversion subversion/libsvn_client/deprecated.lo: subversion/libsvn_client/deprecated.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h -subversion/libsvn_client/diff.lo: subversion/libsvn_client/diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_io_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h +subversion/libsvn_client/diff.lo: subversion/libsvn_client/diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_io_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h subversion/libsvn_client/diff_local.lo: subversion/libsvn_client/diff_local.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h subversion/libsvn_client/diff_summarize.lo: subversion/libsvn_client/diff_summarize.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h -subversion/libsvn_client/export.lo: subversion/libsvn_client/export.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h +subversion/libsvn_client/export.lo: subversion/libsvn_client/export.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h subversion/libsvn_client/externals.lo: subversion/libsvn_client/externals.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h -subversion/libsvn_client/import.lo: subversion/libsvn_client/import.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h +subversion/libsvn_client/import.lo: subversion/libsvn_client/import.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h subversion/libsvn_client/info.lo: subversion/libsvn_client/info.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h @@ -2007,11 +2007,11 @@ subversion/libsvn_client/locking_commands.lo: subversion/libsvn_client/locking_c subversion/libsvn_client/log.lo: subversion/libsvn_client/log.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h -subversion/libsvn_client/merge.lo: subversion/libsvn_client/merge.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h +subversion/libsvn_client/merge.lo: subversion/libsvn_client/merge.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h subversion/libsvn_client/mergeinfo.lo: subversion/libsvn_client/mergeinfo.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_magic.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/libsvn_client/mergeinfo.h subversion/svn_private_config.h -subversion/libsvn_client/patch.lo: subversion/libsvn_client/patch.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h +subversion/libsvn_client/patch.lo: subversion/libsvn_client/patch.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_magic.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h subversion/libsvn_client/prop_commands.lo: subversion/libsvn_client/prop_commands.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h @@ -2019,7 +2019,7 @@ subversion/libsvn_client/ra.lo: subversion/libsvn_client/ra.c subversion/include subversion/libsvn_client/relocate.lo: subversion/libsvn_client/relocate.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h -subversion/libsvn_client/repos_diff.lo: subversion/libsvn_client/repos_diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h +subversion/libsvn_client/repos_diff.lo: subversion/libsvn_client/repos_diff.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h subversion/libsvn_client/resolved.lo: subversion/libsvn_client/resolved.c subversion/include/private/svn_client_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_magic.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_client/client.h subversion/svn_private_config.h @@ -2133,13 +2133,13 @@ subversion/libsvn_fs_base/dag.lo: subversion/libsvn_fs_base/dag.c subversion/inc subversion/libsvn_fs_base/err.lo: subversion/libsvn_fs_base/err.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/id.h subversion/svn_private_config.h -subversion/libsvn_fs_base/fs.lo: subversion/libsvn_fs_base/fs.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb-err.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/checksum-reps-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/bdb/miscellaneous-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/reps-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/strings-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h +subversion/libsvn_fs_base/fs.lo: subversion/libsvn_fs_base/fs.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb-err.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/checksum-reps-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/bdb/miscellaneous-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/reps-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/strings-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h subversion/libsvn_fs_base/id.lo: subversion/libsvn_fs_base/id.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/key-gen.lo: subversion/libsvn_fs_base/key-gen.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs_base/key-gen.h -subversion/libsvn_fs_base/lock.lo: subversion/libsvn_fs_base/lock.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h +subversion/libsvn_fs_base/lock.lo: subversion/libsvn_fs_base/lock.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/lock-tokens-table.h subversion/libsvn_fs_base/bdb/locks-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h subversion/libsvn_fs_base/node-rev.lo: subversion/libsvn_fs_base/node-rev.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/node-rev.h subversion/libsvn_fs_base/reps-strings.h subversion/libsvn_fs_base/trail.h subversion/svn_private_config.h @@ -2151,15 +2151,15 @@ subversion/libsvn_fs_base/trail.lo: subversion/libsvn_fs_base/trail.c subversion subversion/libsvn_fs_base/tree.lo: subversion/libsvn_fs_base/tree.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/changes-table.h subversion/libsvn_fs_base/bdb/copies-table.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/miscellaneous-table.h subversion/libsvn_fs_base/bdb/node-origins-table.h subversion/libsvn_fs_base/bdb/nodes-table.h subversion/libsvn_fs_base/bdb/rev-table.h subversion/libsvn_fs_base/bdb/txn-table.h subversion/libsvn_fs_base/dag.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/key-gen.h subversion/libsvn_fs_base/lock.h subversion/libsvn_fs_base/node-rev.h subversion/libsvn_fs_base/revs-txns.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/tree.h subversion/svn_private_config.h -subversion/libsvn_fs_base/util/fs_skels.lo: subversion/libsvn_fs_base/util/fs_skels.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h +subversion/libsvn_fs_base/util/fs_skels.lo: subversion/libsvn_fs_base/util/fs_skels.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/id.h subversion/libsvn_fs_base/util/fs_skels.h subversion/svn_private_config.h subversion/libsvn_fs_base/uuid.lo: subversion/libsvn_fs_base/uuid.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_base/bdb/bdb_compat.h subversion/libsvn_fs_base/bdb/env.h subversion/libsvn_fs_base/bdb/uuids-table.h subversion/libsvn_fs_base/err.h subversion/libsvn_fs_base/fs.h subversion/libsvn_fs_base/trail.h subversion/libsvn_fs_base/uuid.h subversion/svn_private_config.h -subversion/libsvn_fs_fs/caching.lo: subversion/libsvn_fs_fs/caching.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h +subversion/libsvn_fs_fs/caching.lo: subversion/libsvn_fs_fs/caching.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h subversion/libsvn_fs_fs/dag.lo: subversion/libsvn_fs_fs/dag.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/temp_serializer.h subversion/svn_private_config.h -subversion/libsvn_fs_fs/fs.lo: subversion/libsvn_fs_fs/fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h +subversion/libsvn_fs_fs/fs.lo: subversion/libsvn_fs_fs/fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h subversion/libsvn_fs_fs/fs_fs.lo: subversion/libsvn_fs_fs/fs_fs.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/rep-cache.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h @@ -2171,9 +2171,9 @@ subversion/libsvn_fs_fs/lock.lo: subversion/libsvn_fs_fs/lock.c subversion/inclu subversion/libsvn_fs_fs/rep-cache.lo: subversion/libsvn_fs_fs/rep-cache.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/rep-cache-db.h subversion/libsvn_fs_fs/rep-cache.h subversion/svn_private_config.h -subversion/libsvn_fs_fs/temp_serializer.lo: subversion/libsvn_fs_fs/temp_serializer.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h +subversion/libsvn_fs_fs/temp_serializer.lo: subversion/libsvn_fs_fs/temp_serializer.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_temp_serializer.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/temp_serializer.h -subversion/libsvn_fs_fs/tree.lo: subversion/libsvn_fs_fs/tree.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h +subversion/libsvn_fs_fs/tree.lo: subversion/libsvn_fs_fs/tree.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_mutex.h subversion/include/private/svn_named_atomic.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_fs/fs-loader.h subversion/libsvn_fs_fs/dag.h subversion/libsvn_fs_fs/fs.h subversion/libsvn_fs_fs/fs_fs.h subversion/libsvn_fs_fs/id.h subversion/libsvn_fs_fs/key-gen.h subversion/libsvn_fs_fs/lock.h subversion/libsvn_fs_fs/temp_serializer.h subversion/libsvn_fs_fs/tree.h subversion/svn_private_config.h subversion/libsvn_fs_util/fs-util.lo: subversion/libsvn_fs_util/fs-util.c subversion/include/private/svn_debug.h subversion/include/private/svn_fs_util.h subversion/include/private/svn_fspath.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_fs/fs-loader.h subversion/svn_private_config.h @@ -2189,7 +2189,7 @@ subversion/libsvn_ra/ra_loader.lo: subversion/libsvn_ra/ra_loader.c subversion/i subversion/libsvn_ra/util.lo: subversion/libsvn_ra/util.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h -subversion/libsvn_ra_local/ra_plugin.lo: subversion/libsvn_ra_local/ra_plugin.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h +subversion/libsvn_ra_local/ra_plugin.lo: subversion/libsvn_ra_local/ra_plugin.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h subversion/libsvn_ra_local/split_url.lo: subversion/libsvn_ra_local/split_url.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_ra_local/ra_local.h subversion/svn_private_config.h @@ -2231,13 +2231,13 @@ subversion/libsvn_ra_serf/serf.lo: subversion/libsvn_ra_serf/serf.c subversion/i subversion/libsvn_ra_serf/update.lo: subversion/libsvn_ra_serf/update.c subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra_serf/blncache.h subversion/libsvn_ra_serf/ra_serf.h subversion/svn_private_config.h -subversion/libsvn_ra_serf/util.lo: subversion/libsvn_ra_serf/util.c subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra_serf/blncache.h subversion/libsvn_ra_serf/ra_serf.h subversion/svn_private_config.h +subversion/libsvn_ra_serf/util.lo: subversion/libsvn_ra_serf/util.c subversion/include/private/svn_auth_private.h subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra_serf/blncache.h subversion/libsvn_ra_serf/ra_serf.h subversion/svn_private_config.h subversion/libsvn_ra_serf/util_error.lo: subversion/libsvn_ra_serf/util_error.c subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_error_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_ra_serf/blncache.h subversion/libsvn_ra_serf/ra_serf.h subversion/libsvn_ra_serf/xml.lo: subversion/libsvn_ra_serf/xml.c subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra_serf/blncache.h subversion/libsvn_ra_serf/ra_serf.h subversion/svn_private_config.h -subversion/libsvn_ra_svn/client.lo: subversion/libsvn_ra_svn/client.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversion/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h +subversion/libsvn_ra_svn/client.lo: subversion/libsvn_ra_svn/client.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_ra/ra_loader.h subversion/libsvn_ra/wrapper_template.h subversion/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h subversion/libsvn_ra_svn/cram.lo: subversion/libsvn_ra_svn/cram.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_ra_svn/ra_svn.h subversion/svn_private_config.h @@ -2273,7 +2273,7 @@ subversion/libsvn_repos/load-fs-vtable.lo: subversion/libsvn_repos/load-fs-vtabl subversion/libsvn_repos/load.lo: subversion/libsvn_repos/load.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_mergeinfo_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h -subversion/libsvn_repos/log.lo: subversion/libsvn_repos/log.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h +subversion/libsvn_repos/log.lo: subversion/libsvn_repos/log.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h subversion/libsvn_repos/node_tree.lo: subversion/libsvn_repos/node_tree.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h @@ -2281,7 +2281,7 @@ subversion/libsvn_repos/notify.lo: subversion/libsvn_repos/notify.c subversion/i subversion/libsvn_repos/replay.lo: subversion/libsvn_repos/replay.c subversion/include/private/svn_debug.h subversion/include/private/svn_delta_private.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_repos_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h -subversion/libsvn_repos/reporter.lo: subversion/libsvn_repos/reporter.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h +subversion/libsvn_repos/reporter.lo: subversion/libsvn_repos/reporter.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h subversion/libsvn_repos/repos.lo: subversion/libsvn_repos/repos.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_repos_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/libsvn_repos/repos.h subversion/svn_private_config.h @@ -2291,9 +2291,9 @@ subversion/libsvn_subr/adler32.lo: subversion/libsvn_subr/adler32.c subversion/i subversion/libsvn_subr/atomic.lo: subversion/libsvn_subr/atomic.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h -subversion/libsvn_subr/auth.lo: subversion/libsvn_subr/auth.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/auth.h subversion/svn_private_config.h +subversion/libsvn_subr/auth.lo: subversion/libsvn_subr/auth.c subversion/include/private/svn_auth_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/auth.h subversion/svn_private_config.h -subversion/libsvn_subr/base64.lo: subversion/libsvn_subr/base64.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h +subversion/libsvn_subr/base64.lo: subversion/libsvn_subr/base64.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/cache-inprocess.lo: subversion/libsvn_subr/cache-inprocess.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_mutex.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/cache.h subversion/svn_private_config.h @@ -2303,9 +2303,9 @@ subversion/libsvn_subr/cache-memcache.lo: subversion/libsvn_subr/cache-memcache. subversion/libsvn_subr/cache.lo: subversion/libsvn_subr/cache.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/cache.h -subversion/libsvn_subr/cache_config.lo: subversion/libsvn_subr/cache_config.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h +subversion/libsvn_subr/cache_config.lo: subversion/libsvn_subr/cache_config.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h -subversion/libsvn_subr/checksum.lo: subversion/libsvn_subr/checksum.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/md5.h subversion/libsvn_subr/sha1.h subversion/svn_private_config.h +subversion/libsvn_subr/checksum.lo: subversion/libsvn_subr/checksum.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/md5.h subversion/libsvn_subr/sha1.h subversion/svn_private_config.h subversion/libsvn_subr/cmdline.lo: subversion/libsvn_subr/cmdline.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/private/svn_utf_private.h subversion/include/svn_auth.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_nls.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_xml.h subversion/libsvn_subr/win32_crashrpt.h subversion/svn_private_config.h @@ -2327,7 +2327,7 @@ subversion/libsvn_subr/date.lo: subversion/libsvn_subr/date.c subversion/include subversion/libsvn_subr/debug.lo: subversion/libsvn_subr/debug.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h -subversion/libsvn_subr/deprecated.lo: subversion/libsvn_subr/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_subr/opt.h subversion/svn_private_config.h +subversion/libsvn_subr/deprecated.lo: subversion/libsvn_subr/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_dirent_uri.h subversion/include/svn_dso.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/libsvn_subr/opt.h subversion/svn_private_config.h subversion/libsvn_subr/dirent_uri.lo: subversion/libsvn_subr/dirent_uri.c subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/dirent_uri.h subversion/svn_private_config.h @@ -2339,7 +2339,7 @@ subversion/libsvn_subr/error.lo: subversion/libsvn_subr/error.c subversion/inclu subversion/libsvn_subr/gpg_agent.lo: subversion/libsvn_subr/gpg_agent.c subversion/include/private/svn_auth_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h -subversion/libsvn_subr/hash.lo: subversion/libsvn_subr/hash.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h +subversion/libsvn_subr/hash.lo: subversion/libsvn_subr/hash.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/libsvn_subr/io.lo: subversion/libsvn_subr/io.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_io_private.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h @@ -2355,7 +2355,7 @@ subversion/libsvn_subr/magic.lo: subversion/libsvn_subr/magic.c subversion/inclu subversion/libsvn_subr/md5.lo: subversion/libsvn_subr/md5.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_md5.h subversion/include/svn_types.h subversion/libsvn_subr/md5.h -subversion/libsvn_subr/mergeinfo.lo: subversion/libsvn_subr/mergeinfo.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h +subversion/libsvn_subr/mergeinfo.lo: subversion/libsvn_subr/mergeinfo.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/libsvn_subr/mutex.lo: subversion/libsvn_subr/mutex.c subversion/include/private/svn_debug.h subversion/include/private/svn_mutex.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h subversion/svn_private_config.h @@ -2371,7 +2371,7 @@ subversion/libsvn_subr/pool.lo: subversion/libsvn_subr/pool.c subversion/include subversion/libsvn_subr/prompt.lo: subversion/libsvn_subr/prompt.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h -subversion/libsvn_subr/properties.lo: subversion/libsvn_subr/properties.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h +subversion/libsvn_subr/properties.lo: subversion/libsvn_subr/properties.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_props.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/pseudo_md5.lo: subversion/libsvn_subr/pseudo_md5.c subversion/include/private/svn_pseudo_md5.h @@ -2385,7 +2385,7 @@ subversion/libsvn_subr/skel.lo: subversion/libsvn_subr/skel.c subversion/include subversion/libsvn_subr/sorts.lo: subversion/libsvn_subr/sorts.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h -subversion/libsvn_subr/spillbuf.lo: subversion/libsvn_subr/spillbuf.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h +subversion/libsvn_subr/spillbuf.lo: subversion/libsvn_subr/spillbuf.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/libsvn_subr/sqlite.lo: subversion/libsvn_subr/sqlite.c subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_subr/internal_statements.h subversion/svn_private_config.h @@ -2397,7 +2397,7 @@ subversion/libsvn_subr/ssl_client_cert_pw_providers.lo: subversion/libsvn_subr/s subversion/libsvn_subr/ssl_server_trust_providers.lo: subversion/libsvn_subr/ssl_server_trust_providers.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h -subversion/libsvn_subr/stream.lo: subversion/libsvn_subr/stream.c subversion/include/private/svn_debug.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_error_private.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h +subversion/libsvn_subr/stream.lo: subversion/libsvn_subr/stream.c subversion/include/private/svn_debug.h subversion/include/private/svn_eol_private.h subversion/include/private/svn_error_private.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/libsvn_subr/string.lo: subversion/libsvn_subr/string.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/svn_ctype.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h @@ -2441,7 +2441,7 @@ subversion/libsvn_wc/adm_crawler.lo: subversion/libsvn_wc/adm_crawler.c subversi subversion/libsvn_wc/adm_files.lo: subversion/libsvn_wc/adm_files.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h -subversion/libsvn_wc/adm_ops.lo: subversion/libsvn_wc/adm_ops.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h +subversion/libsvn_wc/adm_ops.lo: subversion/libsvn_wc/adm_ops.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h subversion/libsvn_wc/ambient_depth_filter_editor.lo: subversion/libsvn_wc/ambient_depth_filter_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h @@ -2457,15 +2457,15 @@ subversion/libsvn_wc/crop.lo: subversion/libsvn_wc/crop.c subversion/include/pri subversion/libsvn_wc/delete.lo: subversion/libsvn_wc/delete.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h -subversion/libsvn_wc/deprecated.lo: subversion/libsvn_wc/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h +subversion/libsvn_wc/deprecated.lo: subversion/libsvn_wc/deprecated.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h -subversion/libsvn_wc/diff_editor.lo: subversion/libsvn_wc/diff_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h +subversion/libsvn_wc/diff_editor.lo: subversion/libsvn_wc/diff_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h subversion/libsvn_wc/diff_local.lo: subversion/libsvn_wc/diff_local.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/diff.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h subversion/libsvn_wc/entries.lo: subversion/libsvn_wc/entries.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc-queries.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h -subversion/libsvn_wc/externals.lo: subversion/libsvn_wc/externals.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h +subversion/libsvn_wc/externals.lo: subversion/libsvn_wc/externals.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h subversion/libsvn_wc/info.lo: subversion/libsvn_wc/info.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h @@ -2477,7 +2477,7 @@ subversion/libsvn_wc/node.lo: subversion/libsvn_wc/node.c subversion/include/pri subversion/libsvn_wc/old-and-busted.lo: subversion/libsvn_wc/old-and-busted.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/include/svn_xml.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/lock.h subversion/libsvn_wc/props.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h -subversion/libsvn_wc/props.lo: subversion/libsvn_wc/props.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h +subversion/libsvn_wc/props.lo: subversion/libsvn_wc/props.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h subversion/libsvn_wc/questions.lo: subversion/libsvn_wc/questions.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h @@ -2493,7 +2493,7 @@ subversion/libsvn_wc/translate.lo: subversion/libsvn_wc/translate.c subversion/i subversion/libsvn_wc/tree_conflicts.lo: subversion/libsvn_wc/tree_conflicts.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/svn_private_config.h -subversion/libsvn_wc/update_editor.lo: subversion/libsvn_wc/update_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h +subversion/libsvn_wc/update_editor.lo: subversion/libsvn_wc/update_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_editor.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_subr_private.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/props.h subversion/libsvn_wc/translate.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h subversion/libsvn_wc/upgrade.lo: subversion/libsvn_wc/upgrade.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_skel.h subversion/include/private/svn_sqlite.h subversion/include/private/svn_token.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/libsvn_wc/adm_files.h subversion/libsvn_wc/conflicts.h subversion/libsvn_wc/entries.h subversion/libsvn_wc/props.h subversion/libsvn_wc/tree_conflicts.h subversion/libsvn_wc/wc-queries.h subversion/libsvn_wc/wc.h subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/workqueue.h subversion/svn_private_config.h @@ -2659,7 +2659,7 @@ subversion/svn/mkdir-cmd.lo: subversion/svn/mkdir-cmd.c subversion/include/priva subversion/svn/move-cmd.lo: subversion/svn/move-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h -subversion/svn/notify.lo: subversion/svn/notify.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h +subversion/svn/notify.lo: subversion/svn/notify.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h subversion/svn/patch-cmd.lo: subversion/svn/patch-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h @@ -2687,7 +2687,7 @@ subversion/svn/status-cmd.lo: subversion/svn/status-cmd.c subversion/include/pri subversion/svn/status.lo: subversion/svn/status.c subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/include/svn_xml.h subversion/svn/cl-conflicts.h subversion/svn/cl.h subversion/svn_private_config.h -subversion/svn/svn.lo: subversion/svn/svn.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h +subversion/svn/svn.lo: subversion/svn/svn.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h subversion/svn/switch-cmd.lo: subversion/svn/switch-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_wc.h subversion/svn/cl.h subversion/svn_private_config.h @@ -2701,13 +2701,13 @@ subversion/svn/util.lo: subversion/svn/util.c subversion/include/private/svn_cli subversion/svnadmin/svnadmin.lo: subversion/svnadmin/svnadmin.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_user.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h -subversion/svndumpfilter/svndumpfilter.lo: subversion/svndumpfilter/svndumpfilter.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h +subversion/svndumpfilter/svndumpfilter.lo: subversion/svndumpfilter/svndumpfilter.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h -subversion/svnlook/svnlook.lo: subversion/svnlook/svnlook.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_io_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h +subversion/svnlook/svnlook.lo: subversion/svnlook/svnlook.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_private.h subversion/include/private/svn_fspath.h subversion/include/private/svn_io_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/svn_private_config.h -subversion/svnmucc/svnmucc.lo: subversion/svnmucc/svnmucc.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h +subversion/svnmucc/svnmucc.lo: subversion/svnmucc/svnmucc.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h -subversion/svnrdump/dump_editor.lo: subversion/svnrdump/dump_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/svnrdump/svnrdump.h +subversion/svnrdump/dump_editor.lo: subversion/svnrdump/dump_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_editor.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/svnrdump/svnrdump.h subversion/svnrdump/load_editor.lo: subversion/svnrdump/load_editor.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_repos_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/svn_private_config.h subversion/svnrdump/svnrdump.h @@ -2721,15 +2721,15 @@ subversion/svnserve/log-escape.lo: subversion/svnserve/log-escape.c subversion/i subversion/svnserve/serve.lo: subversion/svnserve/serve.c subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_log.h subversion/include/private/svn_mergeinfo_private.h subversion/include/private/svn_ra_svn_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_compat.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_user.h subversion/svn_private_config.h subversion/svnserve/server.h -subversion/svnserve/svnserve.lo: subversion/svnserve/svnserve.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/svnserve/server.h subversion/svnserve/winservice.h +subversion/svnserve/svnserve.lo: subversion/svnserve/svnserve.c subversion/include/private/svn_atomic.h subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra_svn.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/svnserve/server.h subversion/svnserve/winservice.h subversion/svnserve/winservice.lo: subversion/svnserve/winservice.c subversion/include/private/svn_debug.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_types.h subversion/svn_private_config.h subversion/svnserve/winservice.h -subversion/svnsync/svnsync.lo: subversion/svnsync/svnsync.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/svnsync/sync.h +subversion/svnsync/svnsync.lo: subversion/svnsync/svnsync.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_ra_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/svn_private_config.h subversion/svnsync/sync.h subversion/svnsync/sync.lo: subversion/svnsync/sync.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h subversion/svnsync/sync.h -subversion/svnversion/svnversion.lo: subversion/svnversion/svnversion.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h +subversion/svnversion/svnversion.lo: subversion/svnversion/svnversion.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_opt_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h subversion/tests/cmdline/atomic-ra-revprop-change.lo: subversion/tests/cmdline/atomic-ra-revprop-change.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h @@ -2743,7 +2743,7 @@ subversion/tests/libsvn_delta/svndiff-test.lo: subversion/tests/libsvn_delta/svn subversion/tests/libsvn_delta/vdelta-test.lo: subversion/tests/libsvn_delta/vdelta-test.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/libsvn_delta/delta.h subversion/tests/libsvn_delta/delta-window-test.h subversion/tests/svn_test.h -subversion/tests/libsvn_delta/window-test.lo: subversion/tests/libsvn_delta/window-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h +subversion/tests/libsvn_delta/window-test.lo: subversion/tests/libsvn_delta/window-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/tests/svn_test.h subversion/tests/libsvn_diff/diff-diff3-test.lo: subversion/tests/libsvn_diff/diff-diff3-test.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/tests/svn_test.h @@ -2805,7 +2805,7 @@ subversion/tests/libsvn_subr/revision-test.lo: subversion/tests/libsvn_subr/revi subversion/tests/libsvn_subr/skel-test.lo: subversion/tests/libsvn_subr/skel-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_skel.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h -subversion/tests/libsvn_subr/spillbuf-test.lo: subversion/tests/libsvn_subr/spillbuf-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/tests/svn_test.h +subversion/tests/libsvn_subr/spillbuf-test.lo: subversion/tests/libsvn_subr/spillbuf-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/tests/svn_test.h subversion/tests/libsvn_subr/stream-test.lo: subversion/tests/libsvn_subr/stream-test.c subversion/include/private/svn_debug.h subversion/include/private/svn_io_private.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_types.h subversion/tests/svn_test.h @@ -2851,7 +2851,7 @@ subversion/tests/libsvn_wc/wc-test.lo: subversion/tests/libsvn_wc/wc-test.c subv subversion/tests/svn_test_fs.lo: subversion/tests/svn_test_fs.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/tests/svn_test.h subversion/tests/svn_test_fs.h -subversion/tests/svn_test_main.lo: subversion/tests/svn_test_main.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/svn_private_config.h subversion/tests/svn_test.h +subversion/tests/svn_test_main.lo: subversion/tests/svn_test_main.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/svn_private_config.h subversion/tests/svn_test.h tools/client-side/svn-bench/help-cmd.lo: tools/client-side/svn-bench/help-cmd.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h tools/client-side/svn-bench/cl.h @@ -2869,7 +2869,7 @@ tools/client-side/svn-bench/util.lo: tools/client-side/svn-bench/util.c subversi tools/dev/fsfs-access-map.lo: tools/dev/fsfs-access-map.c subversion/include/private/svn_debug.h subversion/include/private/svn_string_private.h subversion/include/svn_checksum.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h -tools/dev/fsfs-reorg.lo: tools/dev/fsfs-reorg.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h +tools/dev/fsfs-reorg.lo: tools/dev/fsfs-reorg.c subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_checksum.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h tools/dev/svnraisetreeconflict/svnraisetreeconflict.lo: tools/dev/svnraisetreeconflict/svnraisetreeconflict.c subversion/include/private/svn_cmdline_private.h subversion/include/private/svn_debug.h subversion/include/private/svn_diff_tree.h subversion/include/private/svn_wc_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h @@ -2879,9 +2879,9 @@ tools/diff/diff3.lo: tools/diff/diff3.c subversion/include/private/svn_debug.h s tools/diff/diff4.lo: tools/diff/diff4.c subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_pools.h subversion/include/svn_string.h subversion/include/svn_types.h -tools/server-side/fsfs-stats.lo: tools/server-side/fsfs-stats.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h +tools/server-side/fsfs-stats.lo: tools/server-side/fsfs-stats.c subversion/include/private/svn_cache.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/private/svn_string_private.h subversion/include/private/svn_subr_private.h subversion/include/svn_cache_config.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_pools.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h subversion/include/svn_version.h -tools/server-side/mod_dontdothat/mod_dontdothat.lo: tools/server-side/mod_dontdothat/mod_dontdothat.c subversion/include/mod_dav_svn.h subversion/include/private/svn_debug.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_string.h subversion/include/svn_types.h +tools/server-side/mod_dontdothat/mod_dontdothat.lo: tools/server-side/mod_dontdothat/mod_dontdothat.c subversion/include/mod_dav_svn.h subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_string.h subversion/include/svn_types.h if $(INSTALL_APACHE_MODS) ; then $(COMPILE_APACHE_MOD) $(canonicalized_srcdir)tools/server-side/mod_dontdothat/mod_dontdothat.c ; else echo "fake" > tools/server-side/mod_dontdothat/mod_dontdothat.lo ; fi tools/server-side/svn-populate-node-origins-index.lo: tools/server-side/svn-populate-node-origins-index.c subversion/include/private/svn_debug.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_cmdline.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_utf.h diff --git a/contrib/subversion/build.conf b/contrib/subversion/build.conf index fd620146f..74defd02b 100644 --- a/contrib/subversion/build.conf +++ b/contrib/subversion/build.conf @@ -71,9 +71,9 @@ test-scripts = bdb-test-scripts = -swig-python-opts = $(CPPFLAGS) -python -classic -swig-perl-opts = $(CPPFLAGS) -perl -nopm -noproxy -swig-ruby-opts = $(CPPFLAGS) -ruby +swig-python-opts = $(SWIG_CPPFLAGS) -python -classic +swig-perl-opts = $(SWIG_CPPFLAGS) -perl -nopm -noproxy +swig-ruby-opts = $(SWIG_CPPFLAGS) -ruby swig-languages = python perl ruby swig-dirs = subversion/bindings/swig/python @@ -325,7 +325,7 @@ install = fsmod-lib path = subversion/libsvn_subr libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib - crypt32.lib version.lib psapi.lib + crypt32.lib version.lib msvc-export = svn_auth.h svn_base64.h svn_cache_config.h svn_checksum.h svn_cmdline.h svn_compat.h svn_config.h svn_ctype.h svn_dirent_uri.h svn_dso.h @@ -766,7 +766,7 @@ type = exe path = subversion/tests/libsvn_subr sources = checksum-test.c install = test -libs = libsvn_test libsvn_subr apr +libs = libsvn_test libsvn_subr apr zlib [compat-test] description = Test compatibility functions @@ -1263,13 +1263,13 @@ lang = python [__SWIG_PERL__] type = swig_project path = build/win32 -libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core +libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core lang = perl [__SWIG_RUBY__] type = swig_project path = build/win32 -libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core +libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core lang = ruby [__JAVAHL__] diff --git a/contrib/subversion/configure b/contrib/subversion/configure index fd905fb3a..17799235b 100755 --- a/contrib/subversion/configure +++ b/contrib/subversion/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for subversion 1.8.1. +# Generated by GNU Autoconf 2.69 for subversion 1.8.8. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='subversion' PACKAGE_TARNAME='subversion' -PACKAGE_VERSION='1.8.1' -PACKAGE_STRING='subversion 1.8.1' +PACKAGE_VERSION='1.8.8' +PACKAGE_STRING='subversion 1.8.8' PACKAGE_BUGREPORT='http://subversion.apache.org/' PACKAGE_URL='' @@ -635,6 +635,7 @@ ac_includes_default="\ ac_subst_vars='LTLIBOBJS SVN_CONFIG_SCRIPT_FILES INCLUDE_OUTPUTS +SWIG_CPPFLAGS JAVAHL_COMPAT_TESTS_TARGET JAVAHL_TESTS_TARGET JAVA_CLASSPATH @@ -1456,7 +1457,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures subversion 1.8.1 to adapt to many kinds of systems. +\`configure' configures subversion 1.8.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1522,7 +1523,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of subversion 1.8.1:";; + short | recursive ) echo "Configuration of subversion 1.8.8:";; esac cat <<\_ACEOF @@ -1736,7 +1737,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -subversion configure 1.8.1 +subversion configure 1.8.8 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2280,7 +2281,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by subversion $as_me 1.8.1, which was +It was created by subversion $as_me 1.8.8, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2660,8 +2661,8 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.8.1" >&5 -$as_echo "$as_me: Configuring Subversion 1.8.1" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.8.8" >&5 +$as_echo "$as_me: Configuring Subversion 1.8.8" >&6;} abs_srcdir="`cd $srcdir && pwd`" @@ -21158,43 +21159,6 @@ if ac_fn_c_try_compile "$LINENO"; then : $as_echo "yes" >&6; } -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - CFLAGS="$_svn_xxflags__save" - - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - _svn_xxflags__save="$CFLAGS" - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -fwhole-program" >&5 -$as_echo_n "checking if $CC accepts -fwhole-program... " >&6; } - CFLAGS="-fwhole-program $CFLAGS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 @@ -21501,43 +21465,6 @@ if ac_fn_cxx_try_compile "$LINENO"; then : $as_echo "yes" >&6; } -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - CXXFLAGS="$_svn_xxflags__save" - - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - _svn_xxflags__save="$CXXFLAGS" - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CXX accepts -fwhole-program" >&5 -$as_echo_n "checking if $CXX accepts -fwhole-program... " >&6; } - CXXFLAGS="-fwhole-program $CXXFLAGS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 @@ -25147,6 +25074,13 @@ if test "$CC" = "clang"; then fi +# Need to strip '-no-cpp-precomp' from CPPFLAGS for SWIG as well. +SWIG_CPPFLAGS="$CPPFLAGS" + + SWIG_CPPFLAGS=`echo "$SWIG_CPPFLAGS" | $SED -e 's/-no-cpp-precomp //'` + + + cat >>confdefs.h <<_ACEOF #define SVN_PATH_LOCAL_SEPARATOR '/' @@ -25736,7 +25670,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by subversion $as_me 1.8.1, which was +This file was extended by subversion $as_me 1.8.8, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25802,7 +25736,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -subversion config.status 1.8.1 +subversion config.status 1.8.8 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/contrib/subversion/configure.ac b/contrib/subversion/configure.ac index 169b34bc0..e93d7a35f 100644 --- a/contrib/subversion/configure.ac +++ b/contrib/subversion/configure.ac @@ -1089,7 +1089,6 @@ if test "$enable_optimization" = "yes"; then SVN_CFLAGS_ADD_IFELSE([-O])])])]) SVN_CFLAGS_ADD_IFELSE([-Wno-clobbered]) SVN_CFLAGS_ADD_IFELSE([-flto]) - SVN_CFLAGS_ADD_IFELSE([-fwhole-program]) fi fi if test -z ["`echo $CXXUSERFLAGS' ' | $EGREP -- '-O[^ ]* '`"]; then @@ -1106,7 +1105,6 @@ if test "$enable_optimization" = "yes"; then SVN_CXXFLAGS_ADD_IFELSE([-O])])])]) SVN_CXXFLAGS_ADD_IFELSE([-Wno-clobbered]) SVN_CXXFLAGS_ADD_IFELSE([-flto]) - SVN_CXXFLAGS_ADD_IFELSE([-fwhole-program]) fi fi elif test "$enable_optimization" = "no"; then @@ -1445,6 +1443,11 @@ if test "$CC" = "clang"; then SVN_STRIP_FLAG(CPPFLAGS, [-no-cpp-precomp ]) fi +# Need to strip '-no-cpp-precomp' from CPPFLAGS for SWIG as well. +SWIG_CPPFLAGS="$CPPFLAGS" +SVN_STRIP_FLAG(SWIG_CPPFLAGS, [-no-cpp-precomp ]) +AC_SUBST([SWIG_CPPFLAGS]) + dnl Since this is used only on Unix-y systems, define the path separator as '/' AC_DEFINE_UNQUOTED(SVN_PATH_LOCAL_SEPARATOR, '/', [Defined to be the path separator used on your local filesystem]) diff --git a/contrib/subversion/subversion/include/private/svn_auth_private.h b/contrib/subversion/subversion/include/private/svn_auth_private.h index 7a1c7167b..6c32688a3 100644 --- a/contrib/subversion/subversion/include/private/svn_auth_private.h +++ b/contrib/subversion/subversion/include/private/svn_auth_private.h @@ -37,6 +37,24 @@ extern "C" { #endif /* __cplusplus */ +/** SSL server authority verification credential type. + * + * The followin auth parameters are available to the providers: + * + * - @c SVN_AUTH_PARAM_SSL_SERVER_FAILURES (@c apr_uint32_t*) + * - @c SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO + * (@c svn_auth_ssl_server_cert_info_t*) + * + * The following optional auth parameters are relevant to the providers: + * + * - @c SVN_AUTH_PARAM_NO_AUTH_CACHE (@c void*) + * + * @since New in 1.9. + */ +#define SVN_AUTH_CRED_SSL_SERVER_AUTHORITY "svn.ssl.server.authority" + + + /* If you add a password type for a provider which stores * passwords on disk in encrypted form, remember to update * svn_auth__simple_save_creds_helper. Otherwise it will be @@ -213,6 +231,25 @@ svn_auth__ssl_client_cert_pw_set(svn_boolean_t *done, svn_boolean_t non_interactive, apr_pool_t *pool); +#if (defined(WIN32) && !defined(__MINGW32__)) || defined(DOXYGEN) +/** + * Set @a *provider to an authentication provider that implements + * ssl authority verification via the Windows CryptoApi. + * + * This provider automatically validates authority certificates with + * the CryptoApi, like Internet Explorer and the Windows network API do. + * This allows the rollout of root certificates via Windows Domain + * policies, instead of Subversion specific configuration. + * + * @note This function is only available on Windows. + */ +void +svn_auth__get_windows_ssl_server_authority_provider( + svn_auth_provider_object_t **provider, + apr_pool_t *pool); +#endif + + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/contrib/subversion/subversion/include/private/svn_client_private.h b/contrib/subversion/subversion/include/private/svn_client_private.h index 3e6efb56d..91ea6476b 100644 --- a/contrib/subversion/subversion/include/private/svn_client_private.h +++ b/contrib/subversion/subversion/include/private/svn_client_private.h @@ -306,6 +306,11 @@ svn_client__copy_foreign(const char *url, * The keys for the subtree mergeinfo are the repository root-relative * paths of TARGET_PATH_OR_URL and/or its subtrees, regardless of whether * TARGET_PATH_OR_URL is a URL or WC path. + * + * If RA_SESSION is not NULL, use it to obtain merge information instead of + * opening a new session. The session might be reparented after usage, so + * callers should reparent the session back to their original location if + * needed. */ svn_error_t * svn_client__mergeinfo_log(svn_boolean_t finding_merged, @@ -322,6 +327,7 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, svn_depth_t depth, const apr_array_header_t *revprops, svn_client_ctx_t *ctx, + svn_ra_session_t *ra_session, apr_pool_t *result_pool, apr_pool_t *scratch_pool); diff --git a/contrib/subversion/subversion/include/private/svn_diff_tree.h b/contrib/subversion/subversion/include/private/svn_diff_tree.h index 597a59be8..8cd4c0e71 100644 --- a/contrib/subversion/subversion/include/private/svn_diff_tree.h +++ b/contrib/subversion/subversion/include/private/svn_diff_tree.h @@ -20,13 +20,13 @@ * ==================================================================== * @endcopyright * - * @file svn_wc.h + * @file svn_diff_tree.h * @brief Generic diff handler. Replacing the old svn_wc_diff_callbacks4_t * infrastructure */ -#ifndef SVN_DIFF_PROCESSOR_H -#define SVN_DIFF_PROCESSOR_H +#ifndef SVN_DIFF_TREE_H +#define SVN_DIFF_TREE_H #include "svn_types.h" @@ -353,5 +353,5 @@ svn_diff__source_create(svn_revnum_t revision, } #endif /* __cplusplus */ -#endif /* SVN_DIFF_PROCESSOR_H */ +#endif /* SVN_DIFF_TREE_H */ diff --git a/contrib/subversion/subversion/include/private/svn_mutex.h b/contrib/subversion/subversion/include/private/svn_mutex.h index 85583d32f..c64769717 100644 --- a/contrib/subversion/subversion/include/private/svn_mutex.h +++ b/contrib/subversion/subversion/include/private/svn_mutex.h @@ -21,7 +21,7 @@ * @endcopyright * * @file svn_mutex.h - * @brief Strutures and functions for mutual exclusion + * @brief Structures and functions for mutual exclusion */ #ifndef SVN_MUTEX_H @@ -72,7 +72,7 @@ svn_mutex__init(svn_mutex__t **mutex, * thread to release the mutex again. Recursive locking are not supported. * * @note You should use #SVN_MUTEX__WITH_LOCK instead of explicit lock - * aquisition and release. + * acquisition and release. */ svn_error_t * svn_mutex__lock(svn_mutex__t *mutex); @@ -88,19 +88,19 @@ svn_mutex__lock(svn_mutex__t *mutex); * reported in the return value. * * @note You should use #SVN_MUTEX__WITH_LOCK instead of explicit lock - * aquisition and release. + * acquisition and release. */ svn_error_t * svn_mutex__unlock(svn_mutex__t *mutex, svn_error_t *err); -/** Aquires the @a mutex, executes the expression @a expr and finally +/** Acquires the @a mutex, executes the expression @a expr and finally * releases the @a mutex. If any of these steps fail, the function using * this macro will return an #svn_error_t. This macro guarantees that * the @a mutex will always be unlocked again if it got locked successfully * by the first step. * - * @note Prefer using this macro instead of explicit lock aquisition and + * @note Prefer using this macro instead of explicit lock acquisition and * release. */ #define SVN_MUTEX__WITH_LOCK(mutex, expr) \ diff --git a/contrib/subversion/subversion/include/private/svn_subr_private.h b/contrib/subversion/subversion/include/private/svn_subr_private.h index a45e6644a..30fbbf264 100644 --- a/contrib/subversion/subversion/include/private/svn_subr_private.h +++ b/contrib/subversion/subversion/include/private/svn_subr_private.h @@ -26,6 +26,7 @@ #include "svn_types.h" #include "svn_io.h" +#include "svn_version.h" #ifdef __cplusplus @@ -331,6 +332,18 @@ svn_version__at_least(svn_version_t *version, int minor, int patch); +/** Like svn_ver_check_list(), but with a @a comparator parameter. + * Private backport of svn_ver_check_list2() from trunk. + */ +svn_error_t * +svn_ver__check_list2(const svn_version_t *my_version, + const svn_version_checklist_t *checklist, + svn_boolean_t (*comparator)(const svn_version_t *, + const svn_version_t *)); + +/** To minimize merge churn in callers, alias the trunk name privately. */ +#define svn_ver_check_list2 svn_ver__check_list2 + /** @} */ #ifdef __cplusplus diff --git a/contrib/subversion/subversion/include/svn_auth.h b/contrib/subversion/subversion/include/svn_auth.h index dadc1cf6c..3e9f45e5c 100644 --- a/contrib/subversion/subversion/include/svn_auth.h +++ b/contrib/subversion/subversion/include/svn_auth.h @@ -966,7 +966,10 @@ svn_auth_get_keychain_ssl_client_cert_pw_provider( apr_pool_t *pool); #endif /* DARWIN || DOXYGEN */ -#if (!defined(DARWIN) && !defined(WIN32)) || defined(DOXYGEN) +/* Note that the gnome keyring unlock prompt related items below must be + * declared for all platforms in order to allow SWIG interfaces to be + * used regardless of the platform. */ + /** A type of callback function for obtaining the GNOME Keyring password. * * In this callback, the client should ask the user for default keyring @@ -996,7 +999,7 @@ typedef svn_error_t *(*svn_auth_gnome_keyring_unlock_prompt_func_t)( * @c *SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC. */ #define SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON "gnome-keyring-unlock-prompt-baton" - +#if (!defined(DARWIN) && !defined(WIN32)) || defined(DOXYGEN) /** * Get libsvn_auth_gnome_keyring version information. * diff --git a/contrib/subversion/subversion/include/svn_client.h b/contrib/subversion/subversion/include/svn_client.h index d8eacdf26..5db3e1689 100644 --- a/contrib/subversion/subversion/include/svn_client.h +++ b/contrib/subversion/subversion/include/svn_client.h @@ -439,9 +439,17 @@ typedef struct svn_client_commit_info_t #define SVN_CLIENT_COMMIT_ITEM_TEXT_MODS 0x04 #define SVN_CLIENT_COMMIT_ITEM_PROP_MODS 0x08 #define SVN_CLIENT_COMMIT_ITEM_IS_COPY 0x10 -/** @since New in 1.2. */ +/** One of the flags for a commit item. The node has a lock token that + * should be released after a successful commit and, if the node is also + * modified, transferred to the server as part of the commit process. + * + * @since New in 1.2. */ #define SVN_CLIENT_COMMIT_ITEM_LOCK_TOKEN 0x20 -/** @since New in 1.8. */ +/** One of the flags for a commit item. The node is the 'moved here' + * side of a local move. This is used to check and enforce that the + * other side of the move is also included in the commit. + * + * @since New in 1.8. */ #define SVN_CLIENT_COMMIT_ITEM_MOVED_HERE 0x40 /** @} */ @@ -6449,7 +6457,7 @@ svn_client_open_ra_session2(svn_ra_session_t **session, apr_pool_t *result_pool, apr_pool_t *scratch_pool); -/** Similar to svn_client_open_ra_session(), but with @ wri_abspath +/** Similar to svn_client_open_ra_session2(), but with @ wri_abspath * always passed as NULL, and with the same pool used as both @a * result_pool and @a scratch_pool. * diff --git a/contrib/subversion/subversion/include/svn_config.h b/contrib/subversion/subversion/include/svn_config.h index c5d697627..a3fa9df93 100644 --- a/contrib/subversion/subversion/include/svn_config.h +++ b/contrib/subversion/subversion/include/svn_config.h @@ -98,8 +98,11 @@ typedef struct svn_config_t svn_config_t; #define SVN_CONFIG_CATEGORY_CONFIG "config" #define SVN_CONFIG_SECTION_AUTH "auth" +/** @since New in 1.6. */ #define SVN_CONFIG_OPTION_PASSWORD_STORES "password-stores" +/** @since New in 1.6. */ #define SVN_CONFIG_OPTION_KWALLET_WALLET "kwallet-wallet" +/** @since New in 1.6. */ #define SVN_CONFIG_OPTION_KWALLET_SVN_APPLICATION_NAME_WITH_PID "kwallet-svn-application-name-with-pid" /** @since New in 1.8. */ #define SVN_CONFIG_OPTION_SSL_CLIENT_CERT_FILE_PROMPT "ssl-client-cert-file-prompt" @@ -123,7 +126,9 @@ typedef struct svn_config_t svn_config_t; #define SVN_CONFIG_OPTION_NO_UNLOCK "no-unlock" #define SVN_CONFIG_OPTION_MIMETYPES_FILE "mime-types-file" #define SVN_CONFIG_OPTION_PRESERVED_CF_EXTS "preserved-conflict-file-exts" +/** @since New in 1.7. */ #define SVN_CONFIG_OPTION_INTERACTIVE_CONFLICTS "interactive-conflicts" +/** @since New in 1.7. */ #define SVN_CONFIG_OPTION_MEMORY_CACHE_SIZE "memory-cache-size" #define SVN_CONFIG_SECTION_TUNNELS "tunnels" #define SVN_CONFIG_SECTION_AUTO_PROPS "auto-props" @@ -168,10 +173,12 @@ typedef struct svn_config_t svn_config_t; /* We want this to be printed on two lines in the generated config file, * but we don't want the # character to end up in the variable. */ +#ifndef DOXYGEN_SHOULD_SKIP_THIS #define SVN_CONFIG__DEFAULT_GLOBAL_IGNORES_LINE_1 \ "*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__" #define SVN_CONFIG__DEFAULT_GLOBAL_IGNORES_LINE_2 \ "*.rej *~ #*# .#* .*.swp .DS_Store" +#endif #define SVN_CONFIG_DEFAULT_GLOBAL_IGNORES \ SVN_CONFIG__DEFAULT_GLOBAL_IGNORES_LINE_1 " " \ @@ -732,6 +739,12 @@ typedef svn_error_t * * under @a config_dir. If the callback sets its delete_cred return * flag, delete the associated credential. * + * If @a config_dir is not NULL, it must point to an alternative + * config directory location. If it is NULL, the default location + * is used. + * + * @note @a config_dir may only be NULL in 1.8.2 and later. + * * @note Removing credentials from the config-based disk store will * not purge them from any open svn_auth_baton_t instance. Consider * using svn_auth_forget_credentials() -- from the @a cleanup_func, diff --git a/contrib/subversion/subversion/include/svn_diff.h b/contrib/subversion/subversion/include/svn_diff.h index 23b8970fb..ac9f8fcb4 100644 --- a/contrib/subversion/subversion/include/svn_diff.h +++ b/contrib/subversion/subversion/include/svn_diff.h @@ -911,8 +911,8 @@ typedef struct svn_diff_hunk_t svn_diff_hunk_t; /** * Allocate @a *stringbuf in @a result_pool, and read into it one line - * of the diff text of @a hunk. The first line returned is the hunk header. - * Any subsequent lines are unidiff data (starting with '+', '-', or ' '). + * of the diff text of @a hunk. The hunk header is not returned only the + * unidiff data lines (starting with '+', '-', or ' ') are returned. * If the @a hunk is being interpreted in reverse (i.e. the reverse * parameter of svn_diff_parse_next_patch() was @c TRUE), the diff * text will be returned in reversed form. @@ -922,6 +922,13 @@ typedef struct svn_diff_hunk_t svn_diff_hunk_t; * hunk does not end with a newline character and @a eol is not NULL. * Temporary allocations will be performed in @a scratch_pool. * + * @note The hunk header information can be retrievied with the following + * functions: + * @see svn_diff_hunk_get_original_start() + * @see svn_diff_hunk_get_original_length() + * @see svn_diff_hunk_get_modified_start() + * @see svn_diff_hunk_get_modified_length() + * * @since New in 1.7. */ svn_error_t * diff --git a/contrib/subversion/subversion/include/svn_dirent_uri.h b/contrib/subversion/subversion/include/svn_dirent_uri.h index 8fb449ded..c4374d7a3 100644 --- a/contrib/subversion/subversion/include/svn_dirent_uri.h +++ b/contrib/subversion/subversion/include/svn_dirent_uri.h @@ -646,8 +646,8 @@ svn_dirent_skip_ancestor(const char *parent_dirent, /** Return the relative path part of @a child_relpath that is below * @a parent_relpath, or just "" if @a parent_relpath is equal to - * @a child_relpath. If @a child_relpath is not below or equal to - * @a parent_relpath, return NULL. + * @a child_relpath. If @a child_relpath is not below @a parent_relpath, + * return NULL. * * @since New in 1.7. */ @@ -657,7 +657,7 @@ svn_relpath_skip_ancestor(const char *parent_relpath, /** Return the URI-decoded relative path of @a child_uri that is below * @a parent_uri, or just "" if @a parent_uri is equal to @a child_uri. If - * @a child_uri is not below or equal to @a parent_uri, return NULL. + * @a child_uri is not below @a parent_uri, return NULL. * * Allocate the result in @a result_pool. * diff --git a/contrib/subversion/subversion/include/svn_io.h b/contrib/subversion/subversion/include/svn_io.h index 92874e1c1..76274dd37 100644 --- a/contrib/subversion/subversion/include/svn_io.h +++ b/contrib/subversion/subversion/include/svn_io.h @@ -182,9 +182,10 @@ svn_io_check_resolved_path(const char *path, * may be @c NULL. If @a file is @c NULL, the file will be created but not * open. * - * If @a delete_when is #svn_io_file_del_on_close, then the @c APR_DELONCLOSE - * flag will be used when opening the file. The @c APR_BUFFERED flag will - * always be used. + * The file will be deleted according to @a delete_when. If that is + * #svn_io_file_del_on_pool_cleanup, it refers to @a result_pool. + * + * The @c APR_BUFFERED flag will always be used when opening the file. * * The first attempt will just append @a suffix. If the result is not * a unique name, then subsequent attempts will append a dot, @@ -248,8 +249,9 @@ svn_io_open_uniquely_named(apr_file_t **file, * be possible to atomically rename the resulting file due to cross-device * issues.) * - * The file will be deleted according to @a delete_when. If @a delete_when - * is @c svn_io_file_del_on_close and @a file is @c NULL, the file will be + * The file will be deleted according to @a delete_when. If that is + * #svn_io_file_del_on_pool_cleanup, it refers to @a result_pool. If it + * is #svn_io_file_del_on_close and @a file is @c NULL, the file will be * deleted before this function returns. * * When passing @c svn_io_file_del_none please don't forget to eventually @@ -917,7 +919,7 @@ svn_stream_empty(apr_pool_t *pool); /** Return a stream allocated in @a pool which forwards all requests * to @a stream. Destruction is explicitly excluded from forwarding. * - * @see notes/destruction-of-stacked-resources + * @see http://subversion.apache.org/docs/community-guide/conventions.html#destruction-of-stacked-resources * * @since New in 1.4. */ @@ -972,7 +974,8 @@ svn_stream_open_writable(svn_stream_t **stream, * be possible to atomically rename the resulting file due to cross-device * issues.) * - * The file will be deleted according to @a delete_when. + * The file will be deleted according to @a delete_when. If that is + * #svn_io_file_del_on_pool_cleanup, it refers to @a result_pool. * * Temporary allocations will be performed in @a scratch_pool. * @@ -1589,8 +1592,8 @@ svn_io_stat_dirent2(const svn_io_dirent2_t **dirent_p, apr_pool_t *scratch_pool); -/** Similar to svn_io_stat_dirent2, but always passes FALSE for - * verify_truename. +/** Similar to svn_io_stat_dirent2(), but always passes FALSE for + * @a verify_truename. * * @since New in 1.7. * @deprecated Provided for backwards compatibility with the 1.7 API. @@ -1681,7 +1684,7 @@ svn_io_dir_walk(const char *dirname, * * @note An APR bug affects Windows: passing a NULL @a env does not * guarantee the invoked program to run with an empty environment when - * @a inherits is FALSE, the program may inherit its parent's environment. + * @a inherit is FALSE, the program may inherit its parent's environment. * Explicitly pass an empty @a env to get an empty environment. * * @since New in 1.8. diff --git a/contrib/subversion/subversion/include/svn_repos.h b/contrib/subversion/subversion/include/svn_repos.h index 2cec6dd02..6ffa84257 100644 --- a/contrib/subversion/subversion/include/svn_repos.h +++ b/contrib/subversion/subversion/include/svn_repos.h @@ -298,8 +298,7 @@ typedef struct svn_repos_notify_t * the revision which just completed. */ svn_revnum_t revision; - /** For #svn_repos_notify_warning, the warning object. Must be cleared - by the consumer of the notification. */ + /** For #svn_repos_notify_warning, the warning object. */ const char *warning_str; svn_repos_notify_warning_t warning; diff --git a/contrib/subversion/subversion/include/svn_types.h b/contrib/subversion/subversion/include/svn_types.h index 6b3a08741..1ad21942e 100644 --- a/contrib/subversion/subversion/include/svn_types.h +++ b/contrib/subversion/subversion/include/svn_types.h @@ -219,6 +219,16 @@ svn__apr_hash_index_val(const apr_hash_index_t *hi); || ((s) == APR_OS_START_SYSERR + ERROR_INVALID_NAME)) #endif +/** On Windows, APR_STATUS_IS_EPIPE does not include ERROR_NO_DATA error. + * So we include it.*/ +/* ### These fixes should go into APR. */ +#ifndef WIN32 +#define SVN__APR_STATUS_IS_EPIPE(s) APR_STATUS_IS_EPIPE(s) +#else +#define SVN__APR_STATUS_IS_EPIPE(s) (APR_STATUS_IS_EPIPE(s) \ + || ((s) == APR_OS_START_SYSERR + ERROR_NO_DATA)) +#endif + /** @} */ diff --git a/contrib/subversion/subversion/include/svn_version.h b/contrib/subversion/subversion/include/svn_version.h index d466d84e9..646c0286a 100644 --- a/contrib/subversion/subversion/include/svn_version.h +++ b/contrib/subversion/subversion/include/svn_version.h @@ -72,7 +72,7 @@ extern "C" { * * @since New in 1.1. */ -#define SVN_VER_PATCH 1 +#define SVN_VER_PATCH 8 /** @deprecated Provided for backward compatibility with the 1.0 API. */ @@ -95,7 +95,7 @@ extern "C" { * * Always change this at the same time as SVN_VER_NUMTAG. */ -#define SVN_VER_TAG " (r1503906)" +#define SVN_VER_TAG " (r1568071)" /** Number tag: a string describing the version. @@ -121,7 +121,7 @@ extern "C" { * When rolling a tarball, we automatically replace it with what we * guess to be the correct revision number. */ -#define SVN_VER_REVISION 1503906 +#define SVN_VER_REVISION 1568071 /* Version strings composed from the above definitions. */ diff --git a/contrib/subversion/subversion/include/svn_wc.h b/contrib/subversion/subversion/include/svn_wc.h index 2a9741d33..37210ff05 100644 --- a/contrib/subversion/subversion/include/svn_wc.h +++ b/contrib/subversion/subversion/include/svn_wc.h @@ -2109,9 +2109,8 @@ typedef struct svn_wc_conflict_result_t * Allocate an #svn_wc_conflict_result_t structure in @a pool, * initialize and return it. * - * Set the @c choice field of the structure to @a choice, and @c - * merged_file to @a merged_file. Set all other fields to their @c - * _unknown, @c NULL or invalid value, respectively. Make only a shallow + * Set the @c choice field of the structure to @a choice, @c merged_file + * to @a merged_file, and @c save_merged to false. Make only a shallow * copy of the pointer argument @a merged_file. * * @since New in 1.5. @@ -4078,6 +4077,9 @@ typedef void (*svn_wc_status_func_t)(void *baton, * @a ignore_patterns is an array of file patterns matching * unversioned files to ignore for the purposes of status reporting, * or @c NULL if the default set of ignorable file patterns should be used. + * Patterns from #SVN_PROP_IGNORE (and, as of 1.8, + * #SVN_PROP_INHERITABLE_IGNORES) properties are always used, even if not + * specified in @a ignore_patterns. * * If @a cancel_func is non-NULL, call it with @a cancel_baton while walking * to determine if the client has canceled the operation. diff --git a/contrib/subversion/subversion/libsvn_client/commit.c b/contrib/subversion/subversion/libsvn_client/commit.c index 6b3088558..07fdce19c 100644 --- a/contrib/subversion/subversion/libsvn_client/commit.c +++ b/contrib/subversion/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 */ diff --git a/contrib/subversion/subversion/libsvn_client/copy.c b/contrib/subversion/subversion/libsvn_client/copy.c index 000ae0c2f..f204bbcf2 100644 --- a/contrib/subversion/subversion/libsvn_client/copy.c +++ b/contrib/subversion/subversion/libsvn_client/copy.c @@ -314,6 +314,8 @@ do_wc_to_wc_moves(svn_boolean_t *timestamp_sleep, { const char *src_parent_abspath; svn_boolean_t lock_src, lock_dst; + const char *src_wcroot_abspath; + const char *dst_wcroot_abspath; svn_client__copy_pair_t *pair = APR_ARRAY_IDX(copy_pairs, i, svn_client__copy_pair_t *); @@ -326,6 +328,13 @@ do_wc_to_wc_moves(svn_boolean_t *timestamp_sleep, src_parent_abspath = svn_dirent_dirname(pair->src_abspath_or_url, iterpool); + SVN_ERR(svn_wc__get_wcroot(&src_wcroot_abspath, + ctx->wc_ctx, src_parent_abspath, + iterpool, iterpool)); + SVN_ERR(svn_wc__get_wcroot(&dst_wcroot_abspath, + ctx->wc_ctx, pair->dst_parent_abspath, + iterpool, iterpool)); + /* We now need to lock the right combination of batons. Four cases: 1) src_parent == dst_parent @@ -334,15 +343,18 @@ do_wc_to_wc_moves(svn_boolean_t *timestamp_sleep, 4) src_parent and dst_parent are disjoint We can handle 1) as either 2) or 3) */ if (strcmp(src_parent_abspath, pair->dst_parent_abspath) == 0 - || svn_dirent_is_child(src_parent_abspath, pair->dst_parent_abspath, - iterpool)) + || (svn_dirent_is_child(src_parent_abspath, pair->dst_parent_abspath, + NULL) + && !svn_dirent_is_child(src_parent_abspath, dst_wcroot_abspath, + NULL))) { lock_src = TRUE; lock_dst = FALSE; } else if (svn_dirent_is_child(pair->dst_parent_abspath, - src_parent_abspath, - iterpool)) + src_parent_abspath, NULL) + && !svn_dirent_is_child(pair->dst_parent_abspath, + src_wcroot_abspath, NULL)) { lock_src = FALSE; lock_dst = TRUE; diff --git a/contrib/subversion/subversion/libsvn_client/externals.c b/contrib/subversion/subversion/libsvn_client/externals.c index 30748ea6a..e572dc7b3 100644 --- a/contrib/subversion/subversion/libsvn_client/externals.c +++ b/contrib/subversion/subversion/libsvn_client/externals.c @@ -737,7 +737,7 @@ handle_external_item_change(svn_client_ctx_t *ctx, switch (ext_kind) { case svn_node_dir: - SVN_ERR(switch_dir_external(local_abspath, new_url, + SVN_ERR(switch_dir_external(local_abspath, new_loc->url, &(new_item->peg_revision), &(new_item->revision), parent_dir_abspath, diff --git a/contrib/subversion/subversion/libsvn_client/log.c b/contrib/subversion/subversion/libsvn_client/log.c index 73bd61211..5bf7e415b 100644 --- a/contrib/subversion/subversion/libsvn_client/log.c +++ b/contrib/subversion/subversion/libsvn_client/log.c @@ -861,17 +861,19 @@ svn_client_log5(const apr_array_header_t *targets, actual_loc->url, pool)); /* Save us an RA layer round trip if we are on the repository root and - know the result in advance. All the revision data has already been - validated. + know the result in advance, or if we don't need multiple ranges. + All the revision data has already been validated. */ - if (strcmp(actual_loc->url, actual_loc->repos_root_url) == 0) + if (strcmp(actual_loc->url, actual_loc->repos_root_url) == 0 + || opt_rev_ranges->nelts <= 1) { svn_location_segment_t *segment = apr_pcalloc(pool, sizeof(*segment)); log_segments = apr_array_make(pool, 1, sizeof(segment)); segment->range_start = oldest_rev; segment->range_end = actual_loc->rev; - segment->path = ""; + segment->path = svn_uri_skip_ancestor(actual_loc->repos_root_url, + actual_loc->url, pool); APR_ARRAY_PUSH(log_segments, svn_location_segment_t *) = segment; } else diff --git a/contrib/subversion/subversion/libsvn_client/merge.c b/contrib/subversion/subversion/libsvn_client/merge.c index 17a5d23f5..cb07f8303 100644 --- a/contrib/subversion/subversion/libsvn_client/merge.c +++ b/contrib/subversion/subversion/libsvn_client/merge.c @@ -10716,7 +10716,7 @@ log_find_operative_revs(void *baton, suffix = svn_relpath_skip_ancestor(subtree_missing_this_rev, source_rel_path); - if (suffix) + if (suffix && suffix[0] != '\0') { missing_path = apr_pstrmemdup(pool, path, strlen(path) - strlen(suffix) - 1); @@ -12051,11 +12051,15 @@ short_circuit_mergeinfo_log(svn_mergeinfo_catalog_t *target_mergeinfo_cat, svn_log_entry_receiver_t receiver, svn_revnum_t *revision, svn_client_ctx_t *ctx, + svn_ra_session_t *ra_session, apr_pool_t *result_pool, apr_pool_t *scratch_pool) { apr_array_header_t *revprops; svn_error_t *err; + const char *session_url; + + SVN_ERR(svn_ra_get_session_url(ra_session, &session_url, scratch_pool)); revprops = apr_array_make(scratch_pool, 0, sizeof(const char *)); err = svn_client__mergeinfo_log(finding_merged, @@ -12068,8 +12072,12 @@ short_circuit_mergeinfo_log(svn_mergeinfo_catalog_t *target_mergeinfo_cat, source_end_revision, receiver, revision, TRUE, svn_depth_infinity, - revprops, ctx, result_pool, - scratch_pool); + revprops, ctx, ra_session, + result_pool, scratch_pool); + + err = svn_error_compose_create( + err, + svn_ra_reparent(ra_session, session_url, scratch_pool)); if (err) { @@ -12133,6 +12141,7 @@ find_last_merged_location(svn_client__pathrev_t **base_p, const branch_history_t *source_branch, svn_client__pathrev_t *target, svn_client_ctx_t *ctx, + svn_ra_session_t *ra_session, apr_pool_t *result_pool, apr_pool_t *scratch_pool) { @@ -12160,7 +12169,8 @@ find_last_merged_location(svn_client__pathrev_t **base_p, &source_end_rev, &source_start_rev, operative_rev_receiver, &youngest_merged_rev, - ctx, result_pool, scratch_pool)); + ctx, ra_session, + result_pool, scratch_pool)); if (!SVN_IS_VALID_REVNUM(youngest_merged_rev)) { @@ -12195,7 +12205,8 @@ find_last_merged_location(svn_client__pathrev_t **base_p, &source_start_rev, &source_end_rev, operative_rev_receiver, &oldest_eligible_rev, - ctx, scratch_pool, scratch_pool)); + ctx, ra_session, + scratch_pool, scratch_pool)); /* If there are revisions eligible for merging, use the oldest one to calculate the base. Otherwise there are no operative revisions @@ -12249,7 +12260,9 @@ find_base_on_source(svn_client__pathrev_t **base_p, s_t->yca, &s_t->source_branch, s_t->target_branch.tip, - ctx, result_pool, scratch_pool)); + ctx, + s_t->source_ra_session, + result_pool, scratch_pool)); return SVN_NO_ERROR; } @@ -12282,7 +12295,9 @@ find_base_on_target(svn_client__pathrev_t **base_p, s_t->yca, &s_t->target_branch, s_t->source, - ctx, result_pool, scratch_pool)); + ctx, + s_t->target_ra_session, + result_pool, scratch_pool)); return SVN_NO_ERROR; } diff --git a/contrib/subversion/subversion/libsvn_client/mergeinfo.c b/contrib/subversion/subversion/libsvn_client/mergeinfo.c index 6dd34343e..2d277f5f6 100644 --- a/contrib/subversion/subversion/libsvn_client/mergeinfo.c +++ b/contrib/subversion/subversion/libsvn_client/mergeinfo.c @@ -1021,6 +1021,11 @@ svn_client__elide_mergeinfo(const char *target_abspath, Set *REPOS_ROOT to the root URL of the repository associated with PATH_OR_URL. + If RA_SESSION is NOT NULL and PATH_OR_URL refers to a URL, RA_SESSION + (which must be of the repository containing PATH_OR_URL) will be used + instead of a temporary RA session. Caller is responsible for reparenting + the session if it wants to use it after the call. + Allocate *MERGEINFO_CATALOG and all its contents in RESULT_POOL. Use SCRATCH_POOL for all temporary allocations. @@ -1034,17 +1039,30 @@ get_mergeinfo(svn_mergeinfo_catalog_t *mergeinfo_catalog, svn_boolean_t include_descendants, svn_boolean_t ignore_invalid_mergeinfo, svn_client_ctx_t *ctx, + svn_ra_session_t *ra_session, apr_pool_t *result_pool, apr_pool_t *scratch_pool) { - svn_ra_session_t *ra_session; const char *local_abspath; svn_boolean_t use_url = svn_path_is_url(path_or_url); svn_client__pathrev_t *peg_loc; - SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &peg_loc, - path_or_url, NULL, peg_revision, - peg_revision, ctx, scratch_pool)); + if (ra_session && svn_path_is_url(path_or_url)) + { + SVN_ERR(svn_ra_reparent(ra_session, path_or_url, scratch_pool)); + SVN_ERR(svn_client__resolve_rev_and_url(&peg_loc, ra_session, + path_or_url, + peg_revision, + peg_revision, + ctx, scratch_pool)); + } + else + { + SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &peg_loc, + path_or_url, NULL, + peg_revision, + peg_revision, ctx, scratch_pool)); + } /* If PATH_OR_URL is as working copy path determine if we will need to contact the repository for the requested PEG_REVISION. */ @@ -1064,10 +1082,6 @@ get_mergeinfo(svn_mergeinfo_catalog_t *mergeinfo_catalog, } } - /* Check server Merge Tracking capability. */ - SVN_ERR(svn_ra__assert_mergeinfo_capable_server(ra_session, path_or_url, - scratch_pool)); - SVN_ERR(svn_ra_get_repos_root2(ra_session, repos_root, result_pool)); if (use_url) @@ -1391,17 +1405,21 @@ filter_log_entry_with_rangelist(void *baton, obviously back. If it was added or replaced it's still around possibly it was replaced one or more times, but it's back now. Regardless, LOG_ENTRY->REVISION is *not* an eligible revision! */ - if (ancestor_is_self /* Explicit mergeinfo on TARGET_PATH_AFFECTED */ + if (nearest_ancestor_mergeinfo && + ancestor_is_self /* Explicit mergeinfo on TARGET_PATH_AFFECTED */ && (change->action != 'M')) { svn_rangelist_t *rangelist = svn_hash_gets(nearest_ancestor_mergeinfo, path); - svn_merge_range_t *youngest_range = APR_ARRAY_IDX( - rangelist, rangelist->nelts - 1, svn_merge_range_t *); + if (rangelist) + { + svn_merge_range_t *youngest_range = APR_ARRAY_IDX( + rangelist, rangelist->nelts - 1, svn_merge_range_t *); - if (youngest_range - && (youngest_range->end > log_entry->revision)) - continue; + if (youngest_range + && (youngest_range->end > log_entry->revision)) + continue; + } } if (nearest_ancestor_mergeinfo) @@ -1496,33 +1514,22 @@ logs_for_mergeinfo_rangelist(const char *source_url, svn_log_entry_receiver_t log_receiver, void *log_receiver_baton, svn_client_ctx_t *ctx, + svn_ra_session_t *ra_session, apr_pool_t *scratch_pool) { - apr_array_header_t *target; svn_merge_range_t *oldest_range, *youngest_range; - apr_array_header_t *revision_ranges; - svn_opt_revision_t oldest_rev, youngest_rev; + svn_revnum_t oldest_rev, youngest_rev; struct filter_log_entry_baton_t fleb; if (! rangelist->nelts) return SVN_NO_ERROR; - /* Sort the rangelist. */ - qsort(rangelist->elts, rangelist->nelts, - rangelist->elt_size, svn_sort_compare_ranges); - - /* Build a single-member log target list using SOURCE_URL. */ - target = apr_array_make(scratch_pool, 1, sizeof(const char *)); - APR_ARRAY_PUSH(target, const char *) = source_url; - /* Calculate and construct the bounds of our log request. */ youngest_range = APR_ARRAY_IDX(rangelist, rangelist->nelts - 1, svn_merge_range_t *); - youngest_rev.kind = svn_opt_revision_number; - youngest_rev.value.number = youngest_range->end; + youngest_rev = youngest_range->end; oldest_range = APR_ARRAY_IDX(rangelist, 0, svn_merge_range_t *); - oldest_rev.kind = svn_opt_revision_number; - oldest_rev.value.number = oldest_range->start; + oldest_rev = oldest_range->start; if (! target_mergeinfo_catalog) target_mergeinfo_catalog = apr_hash_make(scratch_pool); @@ -1547,19 +1554,29 @@ logs_for_mergeinfo_rangelist(const char *source_url, fleb.log_receiver_baton = log_receiver_baton; fleb.ctx = ctx; - /* Drive the log. */ - revision_ranges = apr_array_make(scratch_pool, 1, - sizeof(svn_opt_revision_range_t *)); - if (oldest_revs_first) - APR_ARRAY_PUSH(revision_ranges, svn_opt_revision_range_t *) - = svn_opt__revision_range_create(&oldest_rev, &youngest_rev, scratch_pool); + if (!ra_session) + SVN_ERR(svn_client__open_ra_session_internal(&ra_session, NULL, source_url, + NULL, NULL, FALSE, FALSE, ctx, + scratch_pool, scratch_pool)); else - APR_ARRAY_PUSH(revision_ranges, svn_opt_revision_range_t *) - = svn_opt__revision_range_create(&youngest_rev, &oldest_rev, scratch_pool); - SVN_ERR(svn_client_log5(target, &youngest_rev, revision_ranges, - 0, discover_changed_paths, FALSE, FALSE, revprops, - filter_log_entry_with_rangelist, &fleb, ctx, - scratch_pool)); + SVN_ERR(svn_ra_reparent(ra_session, source_url, scratch_pool)); + + { + apr_array_header_t *target; + target = apr_array_make(scratch_pool, 1, sizeof(const char *)); + APR_ARRAY_PUSH(target, const char *) = ""; + + SVN_ERR(svn_ra_get_log2(ra_session, target, + oldest_revs_first ? oldest_rev : youngest_rev, + oldest_revs_first ? youngest_rev : oldest_rev, + 0 /* limit */, + discover_changed_paths, + FALSE /* strict_node_history */, + FALSE /* include_merged_revisions */, + revprops, + filter_log_entry_with_rangelist, &fleb, + scratch_pool)); + } /* Check for cancellation. */ if (ctx->cancel_func) @@ -1620,7 +1637,7 @@ svn_client_mergeinfo_get_merged(apr_hash_t **mergeinfo_p, svn_mergeinfo_t mergeinfo; SVN_ERR(get_mergeinfo(&mergeinfo_cat, &repos_root, path_or_url, - peg_revision, FALSE, FALSE, ctx, pool, pool)); + peg_revision, FALSE, FALSE, ctx, NULL, pool, pool)); if (mergeinfo_cat) { const char *repos_relpath; @@ -1666,6 +1683,7 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, svn_depth_t depth, const apr_array_header_t *revprops, svn_client_ctx_t *ctx, + svn_ra_session_t *ra_session, apr_pool_t *result_pool, apr_pool_t *scratch_pool) { @@ -1719,6 +1737,9 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, subpool = svn_pool_create(scratch_pool); + if (ra_session) + target_session = ra_session; + /* We need the union of TARGET_PATH_OR_URL@TARGET_PEG_REVISION's mergeinfo and MERGE_SOURCE_URL's history. It's not enough to do path matching, because renames in the history of MERGE_SOURCE_URL @@ -1735,11 +1756,27 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, it ourselves. We do need to get the repos_root though, because get_mergeinfo() won't do it for us. */ target_mergeinfo_cat = *target_mergeinfo_catalog; - SVN_ERR(svn_client__ra_session_from_path2(&target_session, &pathrev, - target_path_or_url, NULL, - target_peg_revision, - target_peg_revision, - ctx, subpool)); + + if (ra_session && svn_path_is_url(target_path_or_url)) + { + SVN_ERR(svn_ra_reparent(ra_session, target_path_or_url, subpool)); + SVN_ERR(svn_client__resolve_rev_and_url(&pathrev, ra_session, + target_path_or_url, + target_peg_revision, + target_peg_revision, + ctx, subpool)); + target_session = ra_session; + } + else + { + SVN_ERR(svn_client__ra_session_from_path2(&target_session, + &pathrev, + target_path_or_url, + NULL, + target_peg_revision, + target_peg_revision, + ctx, subpool)); + } SVN_ERR(svn_ra_get_repos_root2(target_session, &repos_root, scratch_pool)); } @@ -1751,7 +1788,7 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, SVN_ERR(get_mergeinfo(target_mergeinfo_catalog, &repos_root, target_path_or_url, target_peg_revision, depth == svn_depth_infinity, TRUE, - ctx, result_pool, scratch_pool)); + ctx, ra_session, result_pool, scratch_pool)); target_mergeinfo_cat = *target_mergeinfo_catalog; } } @@ -1763,7 +1800,7 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, SVN_ERR(get_mergeinfo(&target_mergeinfo_cat, &repos_root, target_path_or_url, target_peg_revision, depth == svn_depth_infinity, TRUE, - ctx, scratch_pool, scratch_pool)); + ctx, ra_session, scratch_pool, scratch_pool)); } if (!svn_path_is_url(target_path_or_url)) @@ -1833,11 +1870,28 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, scratch_pool)); } - SVN_ERR(svn_client__ra_session_from_path2(&source_session, &pathrev, - source_path_or_url, NULL, - source_peg_revision, - source_peg_revision, - ctx, subpool)); + if (target_session + && svn_path_is_url(source_path_or_url) + && repos_root + && svn_uri_skip_ancestor(repos_root, source_path_or_url, subpool)) + { + /* We can re-use the existing session */ + source_session = target_session; + SVN_ERR(svn_ra_reparent(source_session, source_path_or_url, subpool)); + SVN_ERR(svn_client__resolve_rev_and_url(&pathrev, source_session, + source_path_or_url, + source_peg_revision, + source_peg_revision, + ctx, subpool)); + } + else + { + SVN_ERR(svn_client__ra_session_from_path2(&source_session, &pathrev, + source_path_or_url, NULL, + source_peg_revision, + source_peg_revision, + ctx, subpool)); + } SVN_ERR(svn_client__get_revision_number(&start_rev, &youngest_rev, ctx->wc_ctx, source_path_or_url, source_session, @@ -1856,9 +1910,6 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, scratch_pool)); if (start_rev > end_rev) oldest_revs_first = FALSE; - - /* Close the source and target sessions. */ - svn_pool_destroy(subpool); } /* Separate the explicit or inherited mergeinfo on TARGET_PATH_OR_URL, @@ -2115,7 +2166,10 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, log_target = svn_path_url_add_component2(repos_root, log_target + 1, scratch_pool); - SVN_ERR(logs_for_mergeinfo_rangelist(log_target, merge_source_fspaths, + { + svn_error_t *err; + + err = logs_for_mergeinfo_rangelist(log_target, merge_source_fspaths, finding_merged, master_inheritable_rangelist, oldest_revs_first, @@ -2126,8 +2180,13 @@ svn_client__mergeinfo_log(svn_boolean_t finding_merged, discover_changed_paths, revprops, log_receiver, log_receiver_baton, - ctx, scratch_pool)); - return SVN_NO_ERROR; + ctx, target_session, scratch_pool); + + /* Close the source and target sessions. */ + svn_pool_destroy(subpool); /* For SVN_ERR_CEASE_INVOCATION */ + + return svn_error_trace(err); + } } svn_error_t * @@ -2146,13 +2205,15 @@ svn_client_mergeinfo_log2(svn_boolean_t finding_merged, svn_client_ctx_t *ctx, apr_pool_t *scratch_pool) { - return svn_client__mergeinfo_log(finding_merged, target_path_or_url, + return svn_error_trace( + svn_client__mergeinfo_log(finding_merged, target_path_or_url, target_peg_revision, NULL, source_path_or_url, source_peg_revision, source_start_revision, source_end_revision, log_receiver, log_receiver_baton, discover_changed_paths, depth, revprops, - ctx, scratch_pool, scratch_pool); + ctx, NULL, + scratch_pool, scratch_pool)); } svn_error_t * @@ -2190,7 +2251,7 @@ svn_client_suggest_merge_sources(apr_array_header_t **suggestions, /* ### TODO: Share ra_session batons to improve efficiency? */ SVN_ERR(get_mergeinfo(&mergeinfo_cat, &repos_root, path_or_url, - peg_revision, FALSE, FALSE, ctx, pool, pool)); + peg_revision, FALSE, FALSE, ctx, NULL, pool, pool)); if (mergeinfo_cat && apr_hash_count(mergeinfo_cat)) { diff --git a/contrib/subversion/subversion/libsvn_client/prop_commands.c b/contrib/subversion/subversion/libsvn_client/prop_commands.c index c3c1cfaa6..a3e59c866 100644 --- a/contrib/subversion/subversion/libsvn_client/prop_commands.c +++ b/contrib/subversion/subversion/libsvn_client/prop_commands.c @@ -1201,6 +1201,7 @@ struct recursive_proplist_receiver_baton svn_wc_context_t *wc_ctx; /* Working copy context. */ svn_proplist_receiver2_t wrapped_receiver; /* Proplist receiver to call. */ void *wrapped_receiver_baton; /* Baton for the proplist receiver. */ + apr_array_header_t *iprops; /* Anchor, anchor_abspath pair for converting to relative paths */ const char *anchor; @@ -1216,6 +1217,27 @@ recursive_proplist_receiver(void *baton, { struct recursive_proplist_receiver_baton *b = baton; const char *path; + apr_array_header_t *iprops = NULL; + + if (b->iprops + && ! strcmp(local_abspath, b->anchor_abspath)) + { + /* Report iprops with the properties for the anchor */ + iprops = b->iprops; + b->iprops = NULL; + } + else if (b->iprops) + { + /* No report for the root? + Report iprops anyway */ + + SVN_ERR(b->wrapped_receiver(b->wrapped_receiver_baton, + b->anchor ? b->anchor : local_abspath, + NULL /* prop_hash */, + b->iprops, + scratch_pool)); + b->iprops = NULL; + } /* Attempt to convert absolute paths to relative paths for * presentation purposes, if needed. */ @@ -1230,7 +1252,7 @@ recursive_proplist_receiver(void *baton, path = local_abspath; return svn_error_trace(b->wrapped_receiver(b->wrapped_receiver_baton, - path, props, NULL, + path, props, iprops, scratch_pool)); } @@ -1370,6 +1392,7 @@ get_local_props(const char *path_or_url, svn_node_kind_t kind; apr_hash_t *changelist_hash = NULL; const char *local_abspath; + apr_array_header_t *iprops = NULL; SVN_ERR(svn_dirent_get_absolute(&local_abspath, path_or_url, scratch_pool)); @@ -1392,7 +1415,6 @@ get_local_props(const char *path_or_url, if (get_target_inherited_props) { - apr_array_header_t *iprops; const char *repos_root_url; SVN_ERR(svn_wc__get_iprops(&iprops, ctx->wc_ctx, local_abspath, @@ -1402,8 +1424,6 @@ get_local_props(const char *path_or_url, SVN_ERR(svn_client__iprop_relpaths_to_urls(iprops, repos_root_url, scratch_pool, scratch_pool)); - SVN_ERR(call_receiver(path_or_url, NULL, iprops, receiver, - receiver_baton, scratch_pool)); } if (changelists && changelists->nelts) @@ -1418,16 +1438,16 @@ get_local_props(const char *path_or_url, rb.wc_ctx = ctx->wc_ctx; rb.wrapped_receiver = receiver; rb.wrapped_receiver_baton = receiver_baton; + rb.iprops = iprops; + rb.anchor_abspath = local_abspath; if (strcmp(path_or_url, local_abspath) != 0) { rb.anchor = path_or_url; - rb.anchor_abspath = local_abspath; } else { rb.anchor = NULL; - rb.anchor_abspath = NULL; } SVN_ERR(svn_wc__prop_list_recursive(ctx->wc_ctx, local_abspath, NULL, @@ -1435,6 +1455,13 @@ get_local_props(const char *path_or_url, recursive_proplist_receiver, &rb, ctx->cancel_func, ctx->cancel_baton, scratch_pool)); + + if (rb.iprops) + { + /* We didn't report for the root. Report iprops anyway */ + SVN_ERR(call_receiver(path_or_url, NULL /* props */, rb.iprops, + receiver, receiver_baton, scratch_pool)); + } } else if (svn_wc__changelist_match(ctx->wc_ctx, local_abspath, changelist_hash, scratch_pool)) @@ -1464,7 +1491,7 @@ get_local_props(const char *path_or_url, } } - SVN_ERR(call_receiver(path_or_url, props, NULL, + SVN_ERR(call_receiver(path_or_url, props, iprops, receiver, receiver_baton, scratch_pool)); } diff --git a/contrib/subversion/subversion/libsvn_client/update.c b/contrib/subversion/subversion/libsvn_client/update.c index 21f33ec93..0b006cc33 100644 --- a/contrib/subversion/subversion/libsvn_client/update.c +++ b/contrib/subversion/subversion/libsvn_client/update.c @@ -383,7 +383,7 @@ update_internal(svn_revnum_t *result_rev, SVN_ERR(svn_ra_get_repos_root2(ra_session, &new_repos_root_url, pool)); /* svn_client_relocate2() will check the uuid */ - SVN_ERR(svn_client_relocate2(anchor_abspath, anchor_url, + SVN_ERR(svn_client_relocate2(anchor_abspath, repos_root_url, new_repos_root_url, ignore_externals, ctx, pool)); @@ -701,7 +701,23 @@ svn_client_update4(apr_array_header_t **result_revs, cleanup: if (sleep) - svn_io_sleep_for_timestamps((paths->nelts == 1) ? path : NULL, pool); + { + const char *wcroot_abspath; + + if (paths->nelts == 1) + { + const char *abspath; + + /* PATH iteslf may have been removed by the update. */ + SVN_ERR(svn_dirent_get_absolute(&abspath, path, pool)); + SVN_ERR(svn_wc__get_wcroot(&wcroot_abspath, ctx->wc_ctx, abspath, + pool, pool)); + } + else + wcroot_abspath = NULL; + + svn_io_sleep_for_timestamps(wcroot_abspath, pool); + } return svn_error_trace(err); } diff --git a/contrib/subversion/subversion/libsvn_client/util.c b/contrib/subversion/subversion/libsvn_client/util.c index 5ac0b8ffa..06855e7e7 100644 --- a/contrib/subversion/subversion/libsvn_client/util.c +++ b/contrib/subversion/subversion/libsvn_client/util.c @@ -166,6 +166,13 @@ svn_client_commit_item3_dup(const svn_client_commit_item3_t *item, new_item->outgoing_prop_changes = svn_prop_array_dup(new_item->outgoing_prop_changes, pool); + if (new_item->session_relpath) + new_item->session_relpath = apr_pstrdup(pool, new_item->session_relpath); + + if (new_item->moved_from_abspath) + new_item->moved_from_abspath = apr_pstrdup(pool, + new_item->moved_from_abspath); + return new_item; } diff --git a/contrib/subversion/subversion/libsvn_diff/diff_file.c b/contrib/subversion/subversion/libsvn_diff/diff_file.c index e70c2f98a..830552ac4 100644 --- a/contrib/subversion/subversion/libsvn_diff/diff_file.c +++ b/contrib/subversion/subversion/libsvn_diff/diff_file.c @@ -166,26 +166,39 @@ read_chunk(apr_file_t *file, const char *path, static svn_error_t * map_or_read_file(apr_file_t **file, MMAP_T_PARAM(mm) - char **buffer, apr_off_t *size, + char **buffer, apr_size_t *size_p, const char *path, apr_pool_t *pool) { apr_finfo_t finfo; apr_status_t rv; + apr_size_t size; *buffer = NULL; SVN_ERR(svn_io_file_open(file, path, APR_READ, APR_OS_DEFAULT, pool)); SVN_ERR(svn_io_file_info_get(&finfo, APR_FINFO_SIZE, *file, pool)); + if (finfo.size > APR_SIZE_MAX) + { + return svn_error_createf(APR_ENOMEM, NULL, + _("File '%s' is too large to be read in " + "to memory"), path); + } + + size = (apr_size_t) finfo.size; #if APR_HAS_MMAP - if (finfo.size > APR_MMAP_THRESHOLD) + if (size > APR_MMAP_THRESHOLD) { - rv = apr_mmap_create(mm, *file, 0, (apr_size_t) finfo.size, - APR_MMAP_READ, pool); + rv = apr_mmap_create(mm, *file, 0, size, APR_MMAP_READ, pool); if (rv == APR_SUCCESS) { *buffer = (*mm)->mm; } + else + { + /* Clear *MM because output parameters are undefined on error. */ + *mm = NULL; + } /* On failure we just fall through and try reading the file into * memory instead. @@ -193,12 +206,11 @@ map_or_read_file(apr_file_t **file, } #endif /* APR_HAS_MMAP */ - if (*buffer == NULL && finfo.size > 0) + if (*buffer == NULL && size > 0) { - *buffer = apr_palloc(pool, (apr_size_t) finfo.size); + *buffer = apr_palloc(pool, size); - SVN_ERR(svn_io_file_read_full2(*file, *buffer, (apr_size_t) finfo.size, - NULL, NULL, pool)); + SVN_ERR(svn_io_file_read_full2(*file, *buffer, size, NULL, NULL, pool)); /* Since we have the entire contents of the file we can * close it now. @@ -208,7 +220,7 @@ map_or_read_file(apr_file_t **file, *file = NULL; } - *size = finfo.size; + *size_p = size; return SVN_NO_ERROR; } @@ -2360,7 +2372,7 @@ svn_diff_file_output_merge2(svn_stream_t *output_stream, for (idx = 0; idx < 3; idx++) { - apr_off_t size; + apr_size_t size; SVN_ERR(map_or_read_file(&file[idx], MMAP_T_ARG(mm[idx]) diff --git a/contrib/subversion/subversion/libsvn_fs/fs-loader.c b/contrib/subversion/subversion/libsvn_fs/fs-loader.c index 01d6ba1af..336b84f7b 100644 --- a/contrib/subversion/subversion/libsvn_fs/fs-loader.c +++ b/contrib/subversion/subversion/libsvn_fs/fs-loader.c @@ -81,7 +81,8 @@ static struct fs_type_defn base_defn = #else NULL, #endif - NULL + NULL /* End of static list: this needs to be reset to NULL if the + common_pool used when setting it has been cleared. */ }; static struct fs_type_defn fsfs_defn = @@ -355,6 +356,7 @@ svn_fs_initialize(apr_pool_t *pool) return SVN_NO_ERROR; common_pool = svn_pool_create(pool); + base_defn.next = NULL; SVN_ERR(svn_mutex__init(&common_pool_lock, TRUE, common_pool)); /* ### This won't work if POOL is NULL and libsvn_fs is loaded as a DSO diff --git a/contrib/subversion/subversion/libsvn_fs_base/fs.c b/contrib/subversion/subversion/libsvn_fs_base/fs.c index bee921ba6..4ad9e6f72 100644 --- a/contrib/subversion/subversion/libsvn_fs_base/fs.c +++ b/contrib/subversion/subversion/libsvn_fs_base/fs.c @@ -65,6 +65,8 @@ #include "../libsvn_fs/fs-loader.h" #include "private/svn_fs_util.h" +#include "private/svn_subr_private.h" + /* Checking for return values, and reporting errors. */ @@ -1427,7 +1429,7 @@ svn_fs_base__init(const svn_version_t *loader_version, return svn_error_createf(SVN_ERR_VERSION_MISMATCH, NULL, _("Unsupported FS loader version (%d) for bdb"), loader_version->major); - SVN_ERR(svn_ver_check_list(base_version(), checklist)); + SVN_ERR(svn_ver_check_list2(base_version(), checklist, svn_ver_equal)); SVN_ERR(check_bdb_version()); SVN_ERR(svn_fs_bdb__init(common_pool)); diff --git a/contrib/subversion/subversion/libsvn_fs_fs/fs.c b/contrib/subversion/subversion/libsvn_fs_fs/fs.c index 4f3a34024..691f416d3 100644 --- a/contrib/subversion/subversion/libsvn_fs_fs/fs.c +++ b/contrib/subversion/subversion/libsvn_fs_fs/fs.c @@ -41,6 +41,7 @@ #include "rep-cache.h" #include "svn_private_config.h" #include "private/svn_fs_util.h" +#include "private/svn_subr_private.h" #include "../libsvn_fs/fs-loader.h" @@ -449,7 +450,7 @@ svn_fs_fs__init(const svn_version_t *loader_version, return svn_error_createf(SVN_ERR_VERSION_MISMATCH, NULL, _("Unsupported FS loader version (%d) for fsfs"), loader_version->major); - SVN_ERR(svn_ver_check_list(fs_version(), checklist)); + SVN_ERR(svn_ver_check_list2(fs_version(), checklist, svn_ver_equal)); *vtable = &library_vtable; return SVN_NO_ERROR; diff --git a/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c b/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c index c6074acee..372455d2d 100644 --- a/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c +++ b/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c @@ -982,6 +982,31 @@ check_format_file_buffer_numeric(const char *buf, apr_off_t offset, return check_file_buffer_numeric(buf, offset, path, "Format", pool); } +/* Return the error SVN_ERR_FS_UNSUPPORTED_FORMAT if FS's format + number is not the same as a format number supported by this + Subversion. */ +static svn_error_t * +check_format(int format) +{ + /* Blacklist. These formats may be either younger or older than + SVN_FS_FS__FORMAT_NUMBER, but we don't support them. */ + if (format == SVN_FS_FS__PACKED_REVPROP_SQLITE_DEV_FORMAT) + return svn_error_createf(SVN_ERR_FS_UNSUPPORTED_FORMAT, NULL, + _("Found format '%d', only created by " + "unreleased dev builds; see " + "http://subversion.apache.org" + "/docs/release-notes/1.7#revprop-packing"), + format); + + /* We support all formats from 1-current simultaneously */ + if (1 <= format && format <= SVN_FS_FS__FORMAT_NUMBER) + return SVN_NO_ERROR; + + return svn_error_createf(SVN_ERR_FS_UNSUPPORTED_FORMAT, NULL, + _("Expected FS format between '1' and '%d'; found format '%d'"), + SVN_FS_FS__FORMAT_NUMBER, format); +} + /* Read the format number and maximum number of files per directory from PATH and return them in *PFORMAT and *MAX_FILES_PER_DIR respectively. @@ -1032,6 +1057,9 @@ read_format(int *pformat, int *max_files_per_dir, SVN_ERR(check_format_file_buffer_numeric(buf->data, 0, path, pool)); SVN_ERR(svn_cstring_atoi(pformat, buf->data)); + /* Check that we support this format at all */ + SVN_ERR(check_format(*pformat)); + /* Set the default values for anything that can be set via an option. */ *max_files_per_dir = 0; @@ -1117,31 +1145,6 @@ write_format(const char *path, int format, int max_files_per_dir, return svn_io_set_file_read_only(path, FALSE, pool); } -/* Return the error SVN_ERR_FS_UNSUPPORTED_FORMAT if FS's format - number is not the same as a format number supported by this - Subversion. */ -static svn_error_t * -check_format(int format) -{ - /* Blacklist. These formats may be either younger or older than - SVN_FS_FS__FORMAT_NUMBER, but we don't support them. */ - if (format == SVN_FS_FS__PACKED_REVPROP_SQLITE_DEV_FORMAT) - return svn_error_createf(SVN_ERR_FS_UNSUPPORTED_FORMAT, NULL, - _("Found format '%d', only created by " - "unreleased dev builds; see " - "http://subversion.apache.org" - "/docs/release-notes/1.7#revprop-packing"), - format); - - /* We support all formats from 1-current simultaneously */ - if (1 <= format && format <= SVN_FS_FS__FORMAT_NUMBER) - return SVN_NO_ERROR; - - return svn_error_createf(SVN_ERR_FS_UNSUPPORTED_FORMAT, NULL, - _("Expected FS format between '1' and '%d'; found format '%d'"), - SVN_FS_FS__FORMAT_NUMBER, format); -} - svn_boolean_t svn_fs_fs__fs_supports_mergeinfo(svn_fs_t *fs) { @@ -1404,7 +1407,6 @@ svn_fs_fs__open(svn_fs_t *fs, const char *path, apr_pool_t *pool) /* Read the FS format number. */ SVN_ERR(read_format(&format, &max_files_per_dir, path_format(fs, pool), pool)); - SVN_ERR(check_format(format)); /* Now we've got a format number no matter what. */ ffd->format = format; @@ -1564,7 +1566,6 @@ upgrade_body(void *baton, apr_pool_t *pool) /* Read the FS format number and max-files-per-dir setting. */ SVN_ERR(read_format(&format, &max_files_per_dir, format_path, pool)); - SVN_ERR(check_format(format)); /* If the config file does not exist, create one. */ SVN_ERR(svn_io_check_path(svn_dirent_join(fs->path, PATH_CONFIG, pool), @@ -3536,7 +3537,7 @@ typedef struct packed_revprops_t /* sum of values in SIZES */ apr_size_t total_size; - /* first revision in the pack */ + /* first revision in the pack (>= MANIFEST_START) */ svn_revnum_t start_revision; /* size of the revprops in PACKED_REVPROPS */ @@ -3550,8 +3551,12 @@ typedef struct packed_revprops_t * in the pack, i.e. the pack content without header and compression */ svn_stringbuf_t *packed_revprops; + /* First revision covered by MANIFEST. + * Will equal the shard start revision or 1, for the 1st shard. */ + svn_revnum_t manifest_start; + /* content of the manifest. - * Maps long(rev - START_REVISION) to const char* pack file name */ + * Maps long(rev - MANIFEST_START) to const char* pack file name */ apr_array_header_t *manifest; } packed_revprops_t; @@ -3655,7 +3660,10 @@ get_revprop_packname(svn_fs_t *fs, /* parse the manifest. Every line is a file name */ revprops->manifest = apr_array_make(pool, ffd->max_files_per_dir, sizeof(const char*)); - while (content->data) + + /* Read all lines. Since the last line ends with a newline, we will + end up with a valid but empty string after the last entry. */ + while (content->data && *content->data) { APR_ARRAY_PUSH(revprops->manifest, const char*) = content->data; content->data = strchr(content->data, '\n'); @@ -3667,13 +3675,15 @@ get_revprop_packname(svn_fs_t *fs, } /* Index for our revision. Rev 0 is excluded from the first shard. */ - idx = (int)(revprops->revision % ffd->max_files_per_dir); - if (revprops->revision < ffd->max_files_per_dir) - --idx; + revprops->manifest_start = revprops->revision + - (revprops->revision % ffd->max_files_per_dir); + if (revprops->manifest_start == 0) + ++revprops->manifest_start; + idx = (int)(revprops->revision - revprops->manifest_start); if (revprops->manifest->nelts <= idx) return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL, - _("Packed revprop manifest for rev %ld too " + _("Packed revprop manifest for r%ld too " "small"), revprops->revision); /* Now get the file name */ @@ -3682,6 +3692,17 @@ get_revprop_packname(svn_fs_t *fs, return SVN_NO_ERROR; } +/* Return TRUE, if revision R1 and R2 refer to the same shard in FS. + */ +static svn_boolean_t +same_shard(svn_fs_t *fs, + svn_revnum_t r1, + svn_revnum_t r2) +{ + fs_fs_data_t *ffd = fs->fsap_data; + return (r1 / ffd->max_files_per_dir) == (r2 / ffd->max_files_per_dir); +} + /* Given FS and the full packed file content in REVPROPS->PACKED_REVPROPS, * fill the START_REVISION, SIZES, OFFSETS members. Also, make * PACKED_REVPROPS point to the first serialized revprop. @@ -3714,6 +3735,26 @@ parse_packed_revprops(svn_fs_t *fs, SVN_ERR(read_number_from_stream(&first_rev, NULL, stream, iterpool)); SVN_ERR(read_number_from_stream(&count, NULL, stream, iterpool)); + /* Check revision range for validity. */ + if ( !same_shard(fs, revprops->revision, first_rev) + || !same_shard(fs, revprops->revision, first_rev + count - 1) + || count < 1) + return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL, + _("Revprop pack for revision r%ld" + " contains revprops for r%ld .. r%ld"), + revprops->revision, + (svn_revnum_t)first_rev, + (svn_revnum_t)(first_rev + count -1)); + + /* Since start & end are in the same shard, it is enough to just test + * the FIRST_REV for being actually packed. That will also cover the + * special case of rev 0 never being packed. */ + if (!is_packed_revprop(fs, first_rev)) + return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL, + _("Revprop pack for revision r%ld" + " starts at non-packed revisions r%ld"), + revprops->revision, (svn_revnum_t)first_rev); + /* make PACKED_REVPROPS point to the first char after the header. * This is where the serialized revprops are. */ header_end = strstr(uncompressed->data, "\n\n"); @@ -3846,14 +3887,14 @@ read_pack_revprop(packed_revprops_t **revprops, /* the file content should be available now */ if (!result->packed_revprops) return svn_error_createf(SVN_ERR_FS_PACKED_REVPROP_READ_FAILURE, NULL, - _("Failed to read revprop pack file for rev %ld"), rev); + _("Failed to read revprop pack file for r%ld"), rev); /* parse it. RESULT will be complete afterwards. */ err = parse_packed_revprops(fs, result, pool, iterpool); svn_pool_destroy(iterpool); if (err) return svn_error_createf(SVN_ERR_FS_CORRUPT, err, - _("Revprop pack file for rev %ld is corrupt"), rev); + _("Revprop pack file for r%ld is corrupt"), rev); *revprops = result; @@ -4117,7 +4158,8 @@ repack_revprops(svn_fs_t *fs, return SVN_NO_ERROR; } -/* Allocate a new pack file name for the revisions at index [START,END) +/* Allocate a new pack file name for revisions + * [REVPROPS->START_REVISION + START, REVPROPS->START_REVISION + END - 1] * of REVPROPS->MANIFEST. Add the name of old file to FILES_TO_DELETE, * auto-create that array if necessary. Return an open file stream to * the new file in *STREAM allocated in POOL. @@ -4136,10 +4178,13 @@ repack_stream_open(svn_stream_t **stream, svn_string_t *new_filename; int i; apr_file_t *file; + int manifest_offset + = (int)(revprops->start_revision - revprops->manifest_start); /* get the old (= current) file name and enlist it for later deletion */ - const char *old_filename - = APR_ARRAY_IDX(revprops->manifest, start, const char*); + const char *old_filename = APR_ARRAY_IDX(revprops->manifest, + start + manifest_offset, + const char*); if (*files_to_delete == NULL) *files_to_delete = apr_array_make(pool, 3, sizeof(const char*)); @@ -4161,7 +4206,8 @@ repack_stream_open(svn_stream_t **stream, /* update the manifest to point to the new file */ for (i = start; i < end; ++i) - APR_ARRAY_IDX(revprops->manifest, i, const char*) = new_filename->data; + APR_ARRAY_IDX(revprops->manifest, i + manifest_offset, const char*) + = new_filename->data; /* create a file stream for the new file */ SVN_ERR(svn_io_file_open(&file, svn_dirent_join(revprops->folder, @@ -5334,11 +5380,13 @@ svn_fs_fs__get_file_delta_stream(svn_txdelta_stream_t **stream_p, /* Read target's base rep if any. */ SVN_ERR(create_rep_state(&rep_state, &rep_args, NULL, NULL, target->data_rep, fs, pool)); - /* If that matches source, then use this delta as is. */ + + /* If that matches source, then use this delta as is. + Note that we want an actual delta here. E.g. a self-delta would + not be good enough. */ if (rep_args->is_delta - && (rep_args->is_delta_vs_empty - || (rep_args->base_revision == source->data_rep->revision - && rep_args->base_offset == source->data_rep->offset))) + && rep_args->base_revision == source->data_rep->revision + && rep_args->base_offset == source->data_rep->offset) { /* Create the delta read baton. */ struct delta_read_baton *drb = apr_pcalloc(pool, sizeof(*drb)); @@ -10883,26 +10931,23 @@ hotcopy_update_current(svn_revnum_t *dst_youngest, } -/* Remove revisions between START_REV (inclusive) and END_REV (non-inclusive) - * from DST_FS. Assume sharding as per MAX_FILES_PER_DIR. +/* Remove revision or revprop files between START_REV (inclusive) and + * END_REV (non-inclusive) from folder DST_SUBDIR in DST_FS. Assume + * sharding as per MAX_FILES_PER_DIR. * Use SCRATCH_POOL for temporary allocations. */ static svn_error_t * -hotcopy_remove_rev_files(svn_fs_t *dst_fs, - svn_revnum_t start_rev, - svn_revnum_t end_rev, - int max_files_per_dir, - apr_pool_t *scratch_pool) +hotcopy_remove_files(svn_fs_t *dst_fs, + const char *dst_subdir, + svn_revnum_t start_rev, + svn_revnum_t end_rev, + int max_files_per_dir, + apr_pool_t *scratch_pool) { - const char *dst_subdir; const char *shard; const char *dst_subdir_shard; svn_revnum_t rev; apr_pool_t *iterpool; - SVN_ERR_ASSERT(start_rev <= end_rev); - - dst_subdir = svn_dirent_join(dst_fs->path, PATH_REVS_DIR, scratch_pool); - /* Pre-compute paths for initial shard. */ shard = apr_psprintf(scratch_pool, "%ld", start_rev / max_files_per_dir); dst_subdir_shard = svn_dirent_join(dst_subdir, shard, scratch_pool); @@ -10910,8 +10955,7 @@ hotcopy_remove_rev_files(svn_fs_t *dst_fs, iterpool = svn_pool_create(scratch_pool); for (rev = start_rev; rev < end_rev; rev++) { - const char *rev_path; - + const char *path; svn_pool_clear(iterpool); /* If necessary, update paths for shard. */ @@ -10921,19 +10965,66 @@ hotcopy_remove_rev_files(svn_fs_t *dst_fs, dst_subdir_shard = svn_dirent_join(dst_subdir, shard, scratch_pool); } - rev_path = svn_dirent_join(dst_subdir_shard, - apr_psprintf(iterpool, "%ld", rev), - iterpool); + /* remove files for REV */ + path = svn_dirent_join(dst_subdir_shard, + apr_psprintf(iterpool, "%ld", rev), + iterpool); /* Make the rev file writable and remove it. */ - SVN_ERR(svn_io_set_file_read_write(rev_path, TRUE, iterpool)); - SVN_ERR(svn_io_remove_file2(rev_path, TRUE, iterpool)); + SVN_ERR(svn_io_set_file_read_write(path, TRUE, iterpool)); + SVN_ERR(svn_io_remove_file2(path, TRUE, iterpool)); } + svn_pool_destroy(iterpool); return SVN_NO_ERROR; } +/* Remove revisions between START_REV (inclusive) and END_REV (non-inclusive) + * from DST_FS. Assume sharding as per MAX_FILES_PER_DIR. + * Use SCRATCH_POOL for temporary allocations. */ +static svn_error_t * +hotcopy_remove_rev_files(svn_fs_t *dst_fs, + svn_revnum_t start_rev, + svn_revnum_t end_rev, + int max_files_per_dir, + apr_pool_t *scratch_pool) +{ + SVN_ERR_ASSERT(start_rev <= end_rev); + SVN_ERR(hotcopy_remove_files(dst_fs, + svn_dirent_join(dst_fs->path, + PATH_REVS_DIR, + scratch_pool), + start_rev, end_rev, + max_files_per_dir, scratch_pool)); + + return SVN_NO_ERROR; +} + +/* Remove revision properties between START_REV (inclusive) and END_REV + * (non-inclusive) from DST_FS. Assume sharding as per MAX_FILES_PER_DIR. + * Use SCRATCH_POOL for temporary allocations. Revision 0 revprops will + * not be deleted. */ +static svn_error_t * +hotcopy_remove_revprop_files(svn_fs_t *dst_fs, + svn_revnum_t start_rev, + svn_revnum_t end_rev, + int max_files_per_dir, + apr_pool_t *scratch_pool) +{ + SVN_ERR_ASSERT(start_rev <= end_rev); + + /* don't delete rev 0 props */ + SVN_ERR(hotcopy_remove_files(dst_fs, + svn_dirent_join(dst_fs->path, + PATH_REVPROPS_DIR, + scratch_pool), + start_rev ? start_rev : 1, end_rev, + max_files_per_dir, scratch_pool)); + + return SVN_NO_ERROR; +} + /* Verify that DST_FS is a suitable destination for an incremental * hotcopy from SRC_FS. */ static svn_error_t * @@ -10970,6 +11061,27 @@ hotcopy_incremental_check_preconditions(svn_fs_t *src_fs, return SVN_NO_ERROR; } +/* Remove folder PATH. Ignore errors due to the sub-tree not being empty. + * CANCEL_FUNC and CANCEL_BATON do the usual thing. + * Use POOL for temporary allocations. + */ +static svn_error_t * +remove_folder(const char *path, + svn_cancel_func_t cancel_func, + void *cancel_baton, + apr_pool_t *pool) +{ + svn_error_t *err = svn_io_remove_dir2(path, TRUE, + cancel_func, cancel_baton, pool); + + if (err && APR_STATUS_IS_ENOTEMPTY(err->apr_err)) + { + svn_error_clear(err); + err = SVN_NO_ERROR; + } + + return svn_error_trace(err); +} /* Baton for hotcopy_body(). */ struct hotcopy_body_baton { @@ -11160,8 +11272,6 @@ hotcopy_body(void *baton, apr_pool_t *pool) /* First, copy packed shards. */ for (rev = 0; rev < src_min_unpacked_rev; rev += max_files_per_dir) { - svn_error_t *err; - svn_pool_clear(iterpool); if (cancel_func) @@ -11181,20 +11291,24 @@ hotcopy_body(void *baton, apr_pool_t *pool) /* Remove revision files which are now packed. */ if (incremental) - SVN_ERR(hotcopy_remove_rev_files(dst_fs, rev, rev + max_files_per_dir, - max_files_per_dir, iterpool)); + { + SVN_ERR(hotcopy_remove_rev_files(dst_fs, rev, + rev + max_files_per_dir, + max_files_per_dir, iterpool)); + if (dst_ffd->format >= SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT) + SVN_ERR(hotcopy_remove_revprop_files(dst_fs, rev, + rev + max_files_per_dir, + max_files_per_dir, + iterpool)); + } /* Now that all revisions have moved into the pack, the original * rev dir can be removed. */ - err = svn_io_remove_dir2(path_rev_shard(dst_fs, rev, iterpool), - TRUE, cancel_func, cancel_baton, iterpool); - if (err) - { - if (APR_STATUS_IS_ENOTEMPTY(err->apr_err)) - svn_error_clear(err); - else - return svn_error_trace(err); - } + SVN_ERR(remove_folder(path_rev_shard(dst_fs, rev, iterpool), + cancel_func, cancel_baton, iterpool)); + if (rev > 0 && dst_ffd->format >= SVN_FS_FS__MIN_PACKED_REVPROP_FORMAT) + SVN_ERR(remove_folder(path_revprops_shard(dst_fs, rev, iterpool), + cancel_func, cancel_baton, iterpool)); } if (cancel_func) diff --git a/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h b/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h index 9f64e8234..b02b052c5 100644 --- a/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h +++ b/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h @@ -1,4 +1,4 @@ -/* This file is automatically generated from rep-cache-db.sql and .dist_sandbox/subversion-1.8.1/subversion/libsvn_fs_fs/token-map.h. +/* This file is automatically generated from rep-cache-db.sql and .dist_sandbox/subversion-1.8.8/subversion/libsvn_fs_fs/token-map.h. * Do not edit this file -- edit the source and rerun gen-make.py */ #define STMT_CREATE_SCHEMA 0 diff --git a/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.c b/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.c index 3a9469036..008226688 100644 --- a/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.c +++ b/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.c @@ -81,8 +81,33 @@ open_rep_cache(void *baton, int version; /* Open (or create) the sqlite database. It will be automatically - closed when fs->pool is destoyed. */ + closed when fs->pool is destoyed. */ db_path = path_rep_cache_db(fs->path, pool); +#ifndef WIN32 + { + /* We want to extend the permissions that apply to the repository + as a whole when creating a new rep cache and not simply default + to umask. */ + svn_boolean_t exists; + + SVN_ERR(svn_fs_fs__exists_rep_cache(&exists, fs, pool)); + if (!exists) + { + const char *current = svn_fs_fs__path_current(fs, pool); + svn_error_t *err = svn_io_file_create(db_path, "", pool); + + if (err && !APR_STATUS_IS_EEXIST(err->apr_err)) + /* A real error. */ + return svn_error_trace(err); + else if (err) + /* Some other thread/process created the file. */ + svn_error_clear(err); + else + /* We created the file. */ + SVN_ERR(svn_io_copy_perms(current, db_path, pool)); + } + } +#endif SVN_ERR(svn_sqlite__open(&sdb, db_path, svn_sqlite__mode_rwcreate, statements, 0, NULL, diff --git a/contrib/subversion/subversion/libsvn_ra/ra_loader.c b/contrib/subversion/subversion/libsvn_ra/ra_loader.c index 91c9cc14b..d9cb96b9e 100644 --- a/contrib/subversion/subversion/libsvn_ra/ra_loader.c +++ b/contrib/subversion/subversion/libsvn_ra/ra_loader.c @@ -1436,7 +1436,7 @@ svn_ra_print_modules(svn_stringbuf_t *output, built with SASL. */ line = apr_psprintf(iterpool, "* ra_%s : %s\n", defn->ra_name, - vtable->get_description()); + vtable->get_description(iterpool)); svn_stringbuf_appendcstr(output, line); for (schemes = vtable->get_schemes(iterpool); *schemes != NULL; diff --git a/contrib/subversion/subversion/libsvn_ra/ra_loader.h b/contrib/subversion/subversion/libsvn_ra/ra_loader.h index 4d86121e6..227730aec 100644 --- a/contrib/subversion/subversion/libsvn_ra/ra_loader.h +++ b/contrib/subversion/subversion/libsvn_ra/ra_loader.h @@ -45,7 +45,7 @@ typedef struct svn_ra__vtable_t { /* Return a short description of the RA implementation, as a localized * string. */ - const char *(*get_description)(void); + const char *(*get_description)(apr_pool_t *pool); /* Return a list of actual URI schemes supported by this implementation. * The returned array is NULL-terminated. */ diff --git a/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c b/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c index e7e8021d0..4ccc86ddc 100644 --- a/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c +++ b/contrib/subversion/subversion/libsvn_ra_local/ra_plugin.c @@ -41,6 +41,7 @@ #include "private/svn_repos_private.h" #include "private/svn_fspath.h" #include "private/svn_atomic.h" +#include "private/svn_subr_private.h" #define APR_WANT_STRFUNC #include @@ -502,7 +503,7 @@ apply_lock_tokens(svn_fs_t *fs, N_("Module for accessing a repository on local disk.") static const char * -svn_ra_local__get_description(void) +svn_ra_local__get_description(apr_pool_t *pool) { return _(RA_LOCAL_DESCRIPTION); } @@ -1745,7 +1746,7 @@ svn_ra_local__init(const svn_version_t *loader_version, "ra_local"), loader_version->major); - SVN_ERR(svn_ver_check_list(ra_local_version(), checklist)); + SVN_ERR(svn_ver_check_list2(ra_local_version(), checklist, svn_ver_equal)); #ifndef SVN_LIBSVN_CLIENT_LINKS_RA_LOCAL /* This assumes that POOL was the pool used to load the dso. */ diff --git a/contrib/subversion/subversion/libsvn_ra_local/split_url.c b/contrib/subversion/subversion/libsvn_ra_local/split_url.c index d08bb26aa..ec6cb68a9 100644 --- a/contrib/subversion/subversion/libsvn_ra_local/split_url.c +++ b/contrib/subversion/subversion/libsvn_ra_local/split_url.c @@ -39,6 +39,7 @@ svn_ra_local__split_URL(svn_repos_t **repos, const char *repos_dirent; const char *repos_root_dirent; svn_stringbuf_t *urlbuf; + apr_size_t root_end; SVN_ERR(svn_uri_get_dirent_from_file_url(&repos_dirent, URL, pool)); @@ -65,10 +66,17 @@ svn_ra_local__split_URL(svn_repos_t **repos, "/", svn_dirent_skip_ancestor(repos_root_dirent, repos_dirent), (const char *)NULL); */ - *fs_path = &repos_dirent[strlen(repos_root_dirent)]; - - if (**fs_path == '\0') + root_end = strlen(repos_root_dirent); + if (! repos_dirent[root_end]) *fs_path = "/"; + else if (repos_dirent[root_end] == '/') + *fs_path = &repos_dirent[root_end]; + else + { + /* On Windows "C:/" is the parent directory of "C:/dir" */ + *fs_path = &repos_dirent[root_end-1]; + SVN_ERR_ASSERT((*fs_path)[0] == '/'); + } /* Remove the path components after the root dirent from the original URL, to get a URL to the repository root. diff --git a/contrib/subversion/subversion/libsvn_ra_serf/commit.c b/contrib/subversion/subversion/libsvn_ra_serf/commit.c index 56a2bcea1..4950ac489 100644 --- a/contrib/subversion/subversion/libsvn_ra_serf/commit.c +++ b/contrib/subversion/subversion/libsvn_ra_serf/commit.c @@ -397,10 +397,18 @@ checkout_dir(dir_context_t *dir, { if (p_dir->added) { + /* Calculate the working_url by skipping the shared ancestor bewteen + * the parent->relpath and dir->relpath. This is safe since an + * add is guaranteed to have a parent that is checked out. */ + dir_context_t *parent = p_dir->parent_dir; + const char *relpath = svn_relpath_skip_ancestor(parent->relpath, + dir->relpath); + /* Implicitly checkout this dir now. */ + SVN_ERR_ASSERT(parent->working_url); dir->working_url = svn_path_url_add_component2( - dir->parent_dir->working_url, - dir->name, dir->pool); + parent->working_url, + relpath, dir->pool); return SVN_NO_ERROR; } p_dir = p_dir->parent_dir; @@ -1630,7 +1638,7 @@ add_directory(const char *path, dir->added = TRUE; dir->base_revision = SVN_INVALID_REVNUM; dir->copy_revision = copyfrom_revision; - dir->copy_path = copyfrom_path; + dir->copy_path = apr_pstrdup(dir->pool, copyfrom_path); dir->relpath = apr_pstrdup(dir->pool, path); dir->name = svn_relpath_basename(dir->relpath, NULL); dir->changed_props = apr_hash_make(dir->pool); @@ -1872,7 +1880,7 @@ add_file(const char *path, new_file->name = svn_relpath_basename(new_file->relpath, NULL); new_file->added = TRUE; new_file->base_revision = SVN_INVALID_REVNUM; - new_file->copy_path = copy_path; + new_file->copy_path = apr_pstrdup(new_file->pool, copy_path); new_file->copy_revision = copy_revision; new_file->changed_props = apr_hash_make(new_file->pool); new_file->removed_props = apr_hash_make(new_file->pool); @@ -1924,7 +1932,18 @@ add_file(const char *path, if (handler->sline.code != 404) { - return svn_error_createf(SVN_ERR_RA_DAV_ALREADY_EXISTS, NULL, + if (handler->sline.code != 200) + { + svn_error_t *err; + + err = svn_ra_serf__error_on_status(handler->sline, + handler->path, + handler->location); + + SVN_ERR(err); + } + + return svn_error_createf(SVN_ERR_FS_ALREADY_EXISTS, NULL, _("File '%s' already exists"), path); } } diff --git a/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h b/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h index f6310b351..335a9e397 100644 --- a/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h +++ b/contrib/subversion/subversion/libsvn_ra_serf/ra_serf.h @@ -57,13 +57,6 @@ extern "C" { /** Use this to silence compiler warnings about unused parameters. */ #define UNUSED_CTX(x) ((void)(x)) -/** Our User-Agent string. */ -#define USER_AGENT "SVN/" SVN_VER_NUMBER " (" SVN_BUILD_TARGET ")" \ - " serf/" \ - APR_STRINGIFY(SERF_MAJOR_VERSION) "." \ - APR_STRINGIFY(SERF_MINOR_VERSION) "." \ - APR_STRINGIFY(SERF_PATCH_VERSION) - /** Wait duration (in microseconds) used in calls to serf_context_run() */ #define SVN_RA_SERF__CONTEXT_RUN_DURATION 500000 @@ -658,11 +651,6 @@ struct svn_ra_serf__xml_parser_t { See libsvn_ra_serf/util.c */ struct svn_ra_serf__pending_t *pending; - - /* Response restart support */ - const void *headers_baton; /* Last pointer to headers */ - apr_off_t skip_size; /* Number of bytes to skip */ - apr_off_t read_size; /* Number of bytes read from response */ }; diff --git a/contrib/subversion/subversion/libsvn_ra_serf/replay.c b/contrib/subversion/subversion/libsvn_ra_serf/replay.c index 2d385f345..66e2f584d 100644 --- a/contrib/subversion/subversion/libsvn_ra_serf/replay.c +++ b/contrib/subversion/subversion/libsvn_ra_serf/replay.c @@ -90,8 +90,6 @@ typedef struct prop_info_t { typedef struct replay_context_t { apr_pool_t *src_rev_pool; apr_pool_t *dst_rev_pool; - /*file_pool is cleared after completion of each file. */ - apr_pool_t *file_pool; /* Are we done fetching this file? */ svn_boolean_t done; @@ -147,10 +145,11 @@ push_state(svn_ra_serf__xml_parser_t *parser, state == OPEN_FILE || state == ADD_FILE) { replay_info_t *info; + apr_pool_t *pool = svn_pool_create(replay_ctx->dst_rev_pool); - info = apr_palloc(replay_ctx->dst_rev_pool, sizeof(*info)); + info = apr_palloc(pool, sizeof(*info)); - info->pool = replay_ctx->dst_rev_pool; + info->pool = pool; info->parent = parser->state->private; info->baton = NULL; info->stream = NULL; @@ -160,12 +159,13 @@ push_state(svn_ra_serf__xml_parser_t *parser, else if (state == CHANGE_PROP) { prop_info_t *info; + apr_pool_t *pool = svn_pool_create(replay_ctx->dst_rev_pool); - info = apr_pcalloc(replay_ctx->dst_rev_pool, sizeof(*info)); + info = apr_pcalloc(pool, sizeof(*info)); - info->pool = replay_ctx->dst_rev_pool; + info->pool = pool; info->parent = parser->state->private; - info->prop_value = svn_stringbuf_create_empty(info->pool); + info->prop_value = svn_stringbuf_create_empty(pool); parser->state->private = info; } @@ -194,7 +194,6 @@ start_replay(svn_ra_serf__xml_parser_t *parser, /* Create a pool for the commit editor. */ ctx->dst_rev_pool = svn_pool_create(ctx->src_rev_pool); - ctx->file_pool = svn_pool_create(ctx->dst_rev_pool); SVN_ERR(svn_ra_serf__select_revprops(&ctx->props, ctx->revprop_target, @@ -334,6 +333,8 @@ start_replay(svn_ra_serf__xml_parser_t *parser, SVN_ERR(ctx->editor->close_directory(info->baton, scratch_pool)); svn_ra_serf__xml_pop_state(parser); + + svn_pool_destroy(info->pool); } else if ((state == OPEN_DIR || state == ADD_DIR) && strcmp(name.name, "open-file") == 0) @@ -341,7 +342,6 @@ start_replay(svn_ra_serf__xml_parser_t *parser, const char *file_name, *rev; replay_info_t *info; - svn_pool_clear(ctx->file_pool); file_name = svn_xml_get_attr_value("name", attrs); if (!file_name) { @@ -359,7 +359,7 @@ start_replay(svn_ra_serf__xml_parser_t *parser, SVN_ERR(ctx->editor->open_file(file_name, info->parent->baton, SVN_STR_TO_REV(rev), - ctx->file_pool, &info->baton)); + info->pool, &info->baton)); } else if ((state == OPEN_DIR || state == ADD_DIR) && strcmp(name.name, "add-file") == 0) @@ -368,7 +368,6 @@ start_replay(svn_ra_serf__xml_parser_t *parser, svn_revnum_t rev; replay_info_t *info; - svn_pool_clear(ctx->file_pool); file_name = svn_xml_get_attr_value("name", attrs); if (!file_name) { @@ -387,7 +386,7 @@ start_replay(svn_ra_serf__xml_parser_t *parser, SVN_ERR(ctx->editor->add_file(file_name, info->parent->baton, copyfrom, rev, - ctx->file_pool, &info->baton)); + info->pool, &info->baton)); } else if ((state == OPEN_FILE || state == ADD_FILE) && strcmp(name.name, "apply-textdelta") == 0) @@ -407,7 +406,7 @@ start_replay(svn_ra_serf__xml_parser_t *parser, } SVN_ERR(ctx->editor->apply_textdelta(info->baton, checksum, - ctx->file_pool, + info->pool, &textdelta, &textdelta_baton)); @@ -426,6 +425,8 @@ start_replay(svn_ra_serf__xml_parser_t *parser, SVN_ERR(ctx->editor->close_file(info->baton, checksum, scratch_pool)); svn_ra_serf__xml_pop_state(parser); + + svn_pool_destroy(info->pool); } else if (((state == OPEN_FILE || state == ADD_FILE) && strcmp(name.name, "change-file-prop") == 0) || @@ -451,14 +452,13 @@ start_replay(svn_ra_serf__xml_parser_t *parser, else info->del_prop = FALSE; + info->name = apr_pstrdup(info->pool, prop_name); if (state == OPEN_FILE || state == ADD_FILE) { - info->name = apr_pstrdup(ctx->file_pool, prop_name); info->change = ctx->editor->change_file_prop; } else { - info->name = apr_pstrdup(ctx->dst_rev_pool, prop_name); info->change = ctx->editor->change_dir_prop; } @@ -538,15 +538,14 @@ end_replay(svn_ra_serf__xml_parser_t *parser, info->prop_value = NULL; /* morph killed the stringbuf. */ #endif - if (strcmp(name.name, "change-file-prop") == 0) - prop_val = svn_base64_decode_string(morph, ctx->file_pool); - else - prop_val = svn_base64_decode_string(morph, ctx->dst_rev_pool); + prop_val = svn_base64_decode_string(morph, info->pool); } SVN_ERR(info->change(info->parent->baton, info->name, prop_val, info->parent->pool)); svn_ra_serf__xml_pop_state(parser); + + svn_pool_destroy(info->pool); } return SVN_NO_ERROR; diff --git a/contrib/subversion/subversion/libsvn_ra_serf/serf.c b/contrib/subversion/subversion/libsvn_ra_serf/serf.c index b0b6346c5..66f996250 100644 --- a/contrib/subversion/subversion/libsvn_ra_serf/serf.c +++ b/contrib/subversion/subversion/libsvn_ra_serf/serf.c @@ -61,11 +61,18 @@ ra_serf_version(void) #define RA_SERF_DESCRIPTION \ N_("Module for accessing a repository via WebDAV protocol using serf.") +#define RA_SERF_DESCRIPTION_VER \ + N_("Module for accessing a repository via WebDAV protocol using serf.\n" \ + " - using serf %d.%d.%d") + /* Implements svn_ra__vtable_t.get_description(). */ static const char * -ra_serf_get_description(void) +ra_serf_get_description(apr_pool_t *pool) { - return _(RA_SERF_DESCRIPTION); + int major, minor, patch; + + serf_lib_version(&major, &minor, &patch); + return apr_psprintf(pool, _(RA_SERF_DESCRIPTION_VER), major, minor, patch); } /* Implements svn_ra__vtable_t.get_schemes(). */ @@ -413,6 +420,18 @@ svn_ra_serf__progress(void *progress_baton, apr_off_t read, apr_off_t written) } } +/** Our User-Agent string. */ +static const char * +get_user_agent_string(apr_pool_t *pool) +{ + int major, minor, patch; + serf_lib_version(&major, &minor, &patch); + + return apr_psprintf(pool, "SVN/%s (%s) serf/%d.%d.%d", + SVN_VER_NUMBER, SVN_BUILD_TARGET, + major, minor, patch); +} + /* Implements svn_ra__vtable_t.open_session(). */ static svn_error_t * svn_ra_serf__open(svn_ra_session_t *session, @@ -495,10 +514,10 @@ svn_ra_serf__open(svn_ra_session_t *session, SVN_ERR(callbacks->get_client_string(callback_baton, &client_string, pool)); if (client_string) - serf_sess->useragent = apr_pstrcat(pool, USER_AGENT, " ", + serf_sess->useragent = apr_pstrcat(pool, get_user_agent_string(pool), " ", client_string, (char *)NULL); else - serf_sess->useragent = USER_AGENT; + serf_sess->useragent = get_user_agent_string(pool); /* go ahead and tell serf about the connection. */ status = @@ -1260,7 +1279,7 @@ svn_ra_serf__init(const svn_version_t *loader_version, int serf_minor; int serf_patch; - SVN_ERR(svn_ver_check_list(ra_serf_version(), checklist)); + SVN_ERR(svn_ver_check_list2(ra_serf_version(), checklist, svn_ver_equal)); /* Simplified version check to make sure we can safely use the VTABLE parameter. The RA loader does a more exhaustive check. */ diff --git a/contrib/subversion/subversion/libsvn_ra_serf/util.c b/contrib/subversion/subversion/libsvn_ra_serf/util.c index ce1e31a94..60fa3c44a 100644 --- a/contrib/subversion/subversion/libsvn_ra_serf/util.c +++ b/contrib/subversion/subversion/libsvn_ra_serf/util.c @@ -48,6 +48,7 @@ #include "private/svn_dep_compat.h" #include "private/svn_fspath.h" #include "private/svn_subr_private.h" +#include "private/svn_auth_private.h" #include "ra_serf.h" @@ -191,13 +192,65 @@ construct_realm(svn_ra_serf__session_t *session, static char * convert_organisation_to_str(apr_hash_t *org, apr_pool_t *pool) { - return apr_psprintf(pool, "%s, %s, %s, %s, %s (%s)", - (char*)svn_hash_gets(org, "OU"), - (char*)svn_hash_gets(org, "O"), - (char*)svn_hash_gets(org, "L"), - (char*)svn_hash_gets(org, "ST"), - (char*)svn_hash_gets(org, "C"), - (char*)svn_hash_gets(org, "E")); + const char *org_unit = svn_hash_gets(org, "OU"); + const char *org_name = svn_hash_gets(org, "O"); + const char *locality = svn_hash_gets(org, "L"); + const char *state = svn_hash_gets(org, "ST"); + const char *country = svn_hash_gets(org, "C"); + const char *email = svn_hash_gets(org, "E"); + svn_stringbuf_t *buf = svn_stringbuf_create_empty(pool); + + if (org_unit) + { + svn_stringbuf_appendcstr(buf, org_unit); + svn_stringbuf_appendcstr(buf, ", "); + } + + if (org_name) + { + svn_stringbuf_appendcstr(buf, org_name); + svn_stringbuf_appendcstr(buf, ", "); + } + + if (locality) + { + svn_stringbuf_appendcstr(buf, locality); + svn_stringbuf_appendcstr(buf, ", "); + } + + if (state) + { + svn_stringbuf_appendcstr(buf, state); + svn_stringbuf_appendcstr(buf, ", "); + } + + if (country) + { + svn_stringbuf_appendcstr(buf, country); + svn_stringbuf_appendcstr(buf, ", "); + } + + /* Chop ', ' if any. */ + svn_stringbuf_chop(buf, 2); + + if (email) + { + svn_stringbuf_appendcstr(buf, "("); + svn_stringbuf_appendcstr(buf, email); + svn_stringbuf_appendcstr(buf, ")"); + } + + return buf->data; +} + +static void append_reason(svn_stringbuf_t *errmsg, const char *reason, int *reasons) +{ + if (*reasons < 1) + svn_stringbuf_appendcstr(errmsg, _(": ")); + else + svn_stringbuf_appendcstr(errmsg, _(", ")); + svn_stringbuf_appendcstr(errmsg, reason); + (*reasons)++; } /* This function is called on receiving a ssl certificate of a server when @@ -217,26 +270,70 @@ ssl_server_cert(void *baton, int failures, svn_auth_iterstate_t *state; const char *realmstring; apr_uint32_t svn_failures; - apr_hash_t *issuer, *subject, *serf_cert; - apr_array_header_t *san; + apr_hash_t *issuer; + apr_hash_t *subject = NULL; + apr_hash_t *serf_cert = NULL; void *creds; int found_matching_hostname = 0; - /* Implicitly approve any non-server certs. */ - if (serf_ssl_cert_depth(cert) > 0) - { - if (failures) - conn->server_cert_failures |= ssl_convert_serf_failures(failures); - return APR_SUCCESS; + svn_failures = (ssl_convert_serf_failures(failures) + | conn->server_cert_failures); + + if (serf_ssl_cert_depth(cert) == 0) + { + /* If the depth is 0, the hostname must match the certificate. + + ### This should really be handled by serf, which should pass an error + for this case, but that has backwards compatibility issues. */ + apr_array_header_t *san; + + serf_cert = serf_ssl_cert_certificate(cert, scratch_pool); + + san = svn_hash_gets(serf_cert, "subjectAltName"); + /* Try to find matching server name via subjectAltName first... */ + if (san) { + int i; + for (i = 0; i < san->nelts; i++) { + const char *s = APR_ARRAY_IDX(san, i, const char*); + if (apr_fnmatch(s, conn->session->session_url.hostname, + APR_FNM_PERIOD | APR_FNM_CASE_BLIND) == APR_SUCCESS) + { + found_matching_hostname = 1; + break; + } + } + } + + /* Match server certificate CN with the hostname of the server */ + if (!found_matching_hostname) + { + const char *hostname = NULL; + + subject = serf_ssl_cert_subject(cert, scratch_pool); + + if (subject) + hostname = svn_hash_gets(subject, "CN"); + + if (!hostname + || apr_fnmatch(hostname, conn->session->session_url.hostname, + APR_FNM_PERIOD | APR_FNM_CASE_BLIND) != APR_SUCCESS) + { + svn_failures |= SVN_AUTH_SSL_CNMISMATCH; + } + } } + if (!svn_failures) + return SVN_NO_ERROR; + /* Extract the info from the certificate */ - subject = serf_ssl_cert_subject(cert, scratch_pool); + if (! subject) + subject = serf_ssl_cert_subject(cert, scratch_pool); issuer = serf_ssl_cert_issuer(cert, scratch_pool); - serf_cert = serf_ssl_cert_certificate(cert, scratch_pool); + if (! serf_cert) + serf_cert = serf_ssl_cert_certificate(cert, scratch_pool); cert_info.hostname = svn_hash_gets(subject, "CN"); - san = svn_hash_gets(serf_cert, "subjectAltName"); cert_info.fingerprint = svn_hash_gets(serf_cert, "sha1"); if (! cert_info.fingerprint) cert_info.fingerprint = apr_pstrdup(scratch_pool, ""); @@ -249,31 +346,56 @@ ssl_server_cert(void *baton, int failures, cert_info.issuer_dname = convert_organisation_to_str(issuer, scratch_pool); cert_info.ascii_cert = serf_ssl_cert_export(cert, scratch_pool); - svn_failures = (ssl_convert_serf_failures(failures) - | conn->server_cert_failures); + /* Handle any non-server certs. */ + if (serf_ssl_cert_depth(cert) > 0) + { + svn_error_t *err; - /* Try to find matching server name via subjectAltName first... */ - if (san) { - int i; - for (i = 0; i < san->nelts; i++) { - char *s = APR_ARRAY_IDX(san, i, char*); - if (apr_fnmatch(s, conn->session->session_url.hostname, - APR_FNM_PERIOD) == APR_SUCCESS) { - found_matching_hostname = 1; - cert_info.hostname = s; - break; - } - } - } + svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton, + SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO, + &cert_info); - /* Match server certificate CN with the hostname of the server */ - if (!found_matching_hostname && cert_info.hostname) - { - if (apr_fnmatch(cert_info.hostname, conn->session->session_url.hostname, - APR_FNM_PERIOD) == APR_FNM_NOMATCH) + svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton, + SVN_AUTH_PARAM_SSL_SERVER_FAILURES, + &svn_failures); + + realmstring = apr_psprintf(scratch_pool, "AUTHORITY:%s", + cert_info.fingerprint); + + err = svn_auth_first_credentials(&creds, &state, + SVN_AUTH_CRED_SSL_SERVER_AUTHORITY, + realmstring, + conn->session->wc_callbacks->auth_baton, + scratch_pool); + + svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton, + SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO, NULL); + + svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton, + SVN_AUTH_PARAM_SSL_SERVER_FAILURES, NULL); + + if (err) + { + if (err->apr_err != SVN_ERR_AUTHN_NO_PROVIDER) + return svn_error_trace(err); + + /* No provider registered that handles server authorities */ + svn_error_clear(err); + creds = NULL; + } + + if (creds) { - svn_failures |= SVN_AUTH_SSL_CNMISMATCH; + server_creds = creds; + SVN_ERR(svn_auth_save_credentials(state, scratch_pool)); + + svn_failures &= ~server_creds->accepted_failures; } + + if (svn_failures) + conn->server_cert_failures |= svn_failures; + + return APR_SUCCESS; } svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton, @@ -294,14 +416,56 @@ ssl_server_cert(void *baton, int failures, if (creds) { server_creds = creds; + svn_failures &= ~server_creds->accepted_failures; SVN_ERR(svn_auth_save_credentials(state, scratch_pool)); } + while (svn_failures && creds) + { + SVN_ERR(svn_auth_next_credentials(&creds, state, scratch_pool)); + + if (creds) + { + server_creds = creds; + svn_failures &= ~server_creds->accepted_failures; + SVN_ERR(svn_auth_save_credentials(state, scratch_pool)); + } + } + svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton, SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO, NULL); - if (!server_creds) - return svn_error_create(SVN_ERR_RA_SERF_SSL_CERT_UNTRUSTED, NULL, NULL); + /* Are there non accepted failures left? */ + if (svn_failures) + { + svn_stringbuf_t *errmsg; + int reasons = 0; + + errmsg = svn_stringbuf_create( + _("Server SSL certificate verification failed"), + scratch_pool); + + + if (svn_failures & SVN_AUTH_SSL_NOTYETVALID) + append_reason(errmsg, _("certificate is not yet valid"), &reasons); + + if (svn_failures & SVN_AUTH_SSL_EXPIRED) + append_reason(errmsg, _("certificate has expired"), &reasons); + + if (svn_failures & SVN_AUTH_SSL_CNMISMATCH) + append_reason(errmsg, + _("certificate issued for a different hostname"), + &reasons); + + if (svn_failures & SVN_AUTH_SSL_UNKNOWNCA) + append_reason(errmsg, _("issuer is not trusted"), &reasons); + + if (svn_failures & SVN_AUTH_SSL_OTHER) + append_reason(errmsg, _("and other reason(s)"), &reasons); + + return svn_error_create(SVN_ERR_RA_SERF_SSL_CERT_UNTRUSTED, NULL, + errmsg->data); + } return SVN_NO_ERROR; } @@ -746,8 +910,6 @@ svn_ra_serf__context_run_wait(svn_boolean_t *done, the connection timed out. */ if (APR_STATUS_IS_TIMEUP(status)) { - svn_error_clear(err); - err = SVN_NO_ERROR; status = 0; if (sess->timeout) @@ -758,8 +920,11 @@ svn_ra_serf__context_run_wait(svn_boolean_t *done, } else { - return svn_error_create(SVN_ERR_RA_DAV_CONN_TIMEOUT, NULL, - _("Connection timed out")); + return + svn_error_compose_create( + err, + svn_error_create(SVN_ERR_RA_DAV_CONN_TIMEOUT, NULL, + _("Connection timed out"))); } } } @@ -805,6 +970,23 @@ svn_ra_serf__context_run_one(svn_ra_serf__handler_t *handler, /* Wait until the response logic marks its DONE status. */ err = svn_ra_serf__context_run_wait(&handler->done, handler->session, scratch_pool); + + /* A callback invocation has been canceled. In this simple case of + context_run_one, we can keep the ra-session operational by resetting + the connection. + + If we don't do this, the next context run will notice that the connection + is still in the error state and will just return SVN_ERR_CEASE_INVOCATION + (=the last error for the connection) again */ + if (err && err->apr_err == SVN_ERR_CEASE_INVOCATION) + { + apr_status_t status = serf_connection_reset(handler->conn->conn); + + if (status) + err = svn_error_compose_create(err, + svn_ra_serf__wrap_err(status, NULL)); + } + if (handler->server_error) { err = svn_error_compose_create(err, handler->server_error->error); @@ -1388,19 +1570,22 @@ inject_to_parser(svn_ra_serf__xml_parser_t *ctx, int xml_status; xml_status = XML_Parse(ctx->xmlp, data, (int) len, 0); - if (xml_status == XML_STATUS_ERROR && !ctx->ignore_errors) + + if (! ctx->ignore_errors) { - if (sl == NULL) - return svn_error_createf(SVN_ERR_RA_DAV_MALFORMED_DATA, NULL, - _("XML parsing failed")); + SVN_ERR(ctx->error); - return svn_error_createf(SVN_ERR_RA_DAV_MALFORMED_DATA, NULL, - _("XML parsing failed: (%d %s)"), - sl->code, sl->reason); - } + if (xml_status != XML_STATUS_OK) + { + if (sl == NULL) + return svn_error_createf(SVN_ERR_RA_DAV_MALFORMED_DATA, NULL, + _("XML parsing failed")); - if (ctx->error && !ctx->ignore_errors) - return svn_error_trace(ctx->error); + return svn_error_createf(SVN_ERR_RA_DAV_MALFORMED_DATA, NULL, + _("XML parsing failed: (%d %s)"), + sl->code, sl->reason); + } + } return SVN_NO_ERROR; } @@ -1481,14 +1666,26 @@ svn_ra_serf__process_pending(svn_ra_serf__xml_parser_t *parser, if (pending_empty && parser->pending->network_eof) { + int xml_status; SVN_ERR_ASSERT(parser->xmlp != NULL); - /* Tell the parser that no more content will be parsed. Ignore the - return status. We just don't care. */ - (void) XML_Parse(parser->xmlp, NULL, 0, 1); + /* Tell the parser that no more content will be parsed. */ + xml_status = XML_Parse(parser->xmlp, NULL, 0, 1); apr_pool_cleanup_run(parser->pool, &parser->xmlp, xml_parser_cleanup); parser->xmlp = NULL; + + if (! parser->ignore_errors) + { + SVN_ERR(parser->error); + + if (xml_status != XML_STATUS_OK) + { + return svn_error_createf(SVN_ERR_RA_DAV_MALFORMED_DATA, NULL, + _("XML parsing failed")); + } + } + add_done_item(parser); } @@ -1588,22 +1785,6 @@ svn_ra_serf__handle_xml_parser(serf_request_t *request, return svn_error_trace(err); } - if (ctx->headers_baton == NULL) - ctx->headers_baton = serf_bucket_response_get_headers(response); - else if (ctx->headers_baton != serf_bucket_response_get_headers(response)) - { - /* We got a new response to an existing parser... - This tells us the connection has restarted and we should continue - where we stopped last time. - */ - - /* Is this a second attempt?? */ - if (!ctx->skip_size) - ctx->skip_size = ctx->read_size; - - ctx->read_size = 0; /* New request, nothing read */ - } - if (!ctx->xmlp) { ctx->xmlp = XML_ParserCreate(NULL); @@ -1623,41 +1804,11 @@ svn_ra_serf__handle_xml_parser(serf_request_t *request, apr_size_t len; status = serf_bucket_read(response, PARSE_CHUNK_SIZE, &data, &len); - if (SERF_BUCKET_READ_ERROR(status)) { return svn_ra_serf__wrap_err(status, NULL); } - ctx->read_size += len; - - if (ctx->skip_size) - { - /* Handle restarted requests correctly: Skip what we already read */ - apr_size_t skip; - - if (ctx->skip_size >= ctx->read_size) - { - /* Eek. What did the file shrink or something? */ - if (APR_STATUS_IS_EOF(status)) - { - SVN_ERR_MALFUNCTION(); - } - - /* Skip on to the next iteration of this loop. */ - if (APR_STATUS_IS_EAGAIN(status)) - { - return svn_ra_serf__wrap_err(status, NULL); - } - continue; - } - - skip = (apr_size_t)(len - (ctx->read_size - ctx->skip_size)); - data += skip; - len -= skip; - ctx->skip_size = 0; - } - /* Note: once the callbacks invoked by inject_to_parser() sets the PAUSED flag, then it will not be cleared. write_to_pending() will only save the content. Logic outside of serf_context_run() will @@ -1703,12 +1854,25 @@ svn_ra_serf__handle_xml_parser(serf_request_t *request, in the PENDING structures, then we're completely done. */ if (!HAS_PENDING_DATA(ctx->pending)) { + int xml_status; SVN_ERR_ASSERT(ctx->xmlp != NULL); - /* Ignore the return status. We just don't care. */ - (void) XML_Parse(ctx->xmlp, NULL, 0, 1); + xml_status = XML_Parse(ctx->xmlp, NULL, 0, 1); apr_pool_cleanup_run(ctx->pool, &ctx->xmlp, xml_parser_cleanup); + + if (! ctx->ignore_errors) + { + SVN_ERR(ctx->error); + + if (xml_status != XML_STATUS_OK) + { + return svn_error_create( + SVN_ERR_XML_MALFORMED, NULL, + _("The XML response contains invalid XML")); + } + } + add_done_item(ctx); } @@ -1828,12 +1992,26 @@ handle_response(serf_request_t *request, { /* Uh-oh. Our connection died. */ if (handler->response_error) - SVN_ERR(handler->response_error(request, response, 0, - handler->response_error_baton)); + { + /* Give a handler chance to prevent request requeue. */ + SVN_ERR(handler->response_error(request, response, 0, + handler->response_error_baton)); - /* Requeue another request for this handler. - ### how do we know if the handler can deal with this?! */ - svn_ra_serf__request_create(handler); + svn_ra_serf__request_create(handler); + } + /* Response error callback is not configured. Requeue another request + for this handler only if we didn't started to process body. + Return error otherwise. */ + else if (!handler->reading_body) + { + svn_ra_serf__request_create(handler); + } + else + { + return svn_error_createf(SVN_ERR_RA_DAV_REQUEST_FAILED, NULL, + _("%s request on '%s' failed"), + handler->method, handler->path); + } return SVN_NO_ERROR; } @@ -2417,6 +2595,10 @@ svn_ra_serf__error_on_status(serf_status_line sline, "server or an intermediate proxy does not accept " "chunked encoding. Try setting 'http-chunked-requests' " "to 'auto' or 'no' in your client configuration.")); + case 501: + return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL, + _("The requested feature is not supported by " + "'%s'"), path); } if (sline.code >= 300) diff --git a/contrib/subversion/subversion/libsvn_ra_svn/client.c b/contrib/subversion/subversion/libsvn_ra_svn/client.c index 2157e4206..335f3215a 100644 --- a/contrib/subversion/subversion/libsvn_ra_svn/client.c +++ b/contrib/subversion/subversion/libsvn_ra_svn/client.c @@ -50,6 +50,7 @@ #include "svn_private_config.h" #include "private/svn_fspath.h" +#include "private/svn_subr_private.h" #include "../libsvn_ra/ra_loader.h" @@ -701,7 +702,7 @@ static svn_error_t *open_session(svn_ra_svn__session_baton_t **sess_p, N_("Module for accessing a repository using the svn network protocol.") #endif -static const char *ra_svn_get_description(void) +static const char *ra_svn_get_description(apr_pool_t *pool) { return _(RA_SVN_DESCRIPTION); } @@ -2775,7 +2776,7 @@ svn_ra_svn__init(const svn_version_t *loader_version, { NULL, NULL } }; - SVN_ERR(svn_ver_check_list(svn_ra_svn_version(), checklist)); + SVN_ERR(svn_ver_check_list2(svn_ra_svn_version(), checklist, svn_ver_equal)); /* Simplified version check to make sure we can safely use the VTABLE parameter. The RA loader does a more exhaustive check. */ diff --git a/contrib/subversion/subversion/libsvn_repos/commit.c b/contrib/subversion/subversion/libsvn_repos/commit.c index c4606ab4b..77fe84647 100644 --- a/contrib/subversion/subversion/libsvn_repos/commit.c +++ b/contrib/subversion/subversion/libsvn_repos/commit.c @@ -761,6 +761,13 @@ close_edit(void *edit_baton, if (SVN_IS_VALID_REVNUM(new_revision)) { + /* The actual commit succeeded, i.e. the transaction does no longer + exist and we can't use txn_root for conflict resolution etc. + + Since close_edit is supposed to release resources, do it now. */ + if (eb->txn_root) + svn_fs_close_root(eb->txn_root); + if (err) { /* If the error was in post-commit, then the commit itself @@ -821,6 +828,10 @@ abort_edit(void *edit_baton, eb->txn_aborted = TRUE; + /* Since abort_edit is supposed to release resources, do it now. */ + if (eb->txn_root) + svn_fs_close_root(eb->txn_root); + return svn_error_trace(svn_fs_abort_txn(eb->txn, pool)); } diff --git a/contrib/subversion/subversion/libsvn_repos/reporter.c b/contrib/subversion/subversion/libsvn_repos/reporter.c index a9d1eff5f..de4685879 100644 --- a/contrib/subversion/subversion/libsvn_repos/reporter.c +++ b/contrib/subversion/subversion/libsvn_repos/reporter.c @@ -1143,7 +1143,8 @@ delta_dirs(report_baton_t *b, svn_revnum_t s_rev, const char *s_path, svn_fs_root_t *s_root; apr_hash_t *s_entries = NULL, *t_entries; apr_hash_index_t *hi; - apr_pool_t *subpool; + apr_pool_t *subpool = svn_pool_create(pool); + apr_pool_t *iterpool; const char *name, *s_fullpath, *t_fullpath, *e_fullpath; path_info_t *info; @@ -1152,7 +1153,8 @@ delta_dirs(report_baton_t *b, svn_revnum_t s_rev, const char *s_path, When we support directory locks, we must pass the lock token here. */ SVN_ERR(delta_proplists(b, s_rev, start_empty ? NULL : s_path, t_path, - NULL, change_dir_prop, dir_baton, pool)); + NULL, change_dir_prop, dir_baton, subpool)); + svn_pool_clear(subpool); if (requested_depth > svn_depth_empty || requested_depth == svn_depth_unknown) @@ -1161,19 +1163,19 @@ delta_dirs(report_baton_t *b, svn_revnum_t s_rev, const char *s_path, if (s_path && !start_empty) { SVN_ERR(get_source_root(b, &s_root, s_rev)); - SVN_ERR(svn_fs_dir_entries(&s_entries, s_root, s_path, pool)); + SVN_ERR(svn_fs_dir_entries(&s_entries, s_root, s_path, subpool)); } - SVN_ERR(svn_fs_dir_entries(&t_entries, b->t_root, t_path, pool)); + SVN_ERR(svn_fs_dir_entries(&t_entries, b->t_root, t_path, subpool)); /* Iterate over the report information for this directory. */ - subpool = svn_pool_create(pool); + iterpool = svn_pool_create(pool); while (1) { const svn_fs_dirent_t *s_entry, *t_entry; - svn_pool_clear(subpool); - SVN_ERR(fetch_path_info(b, &name, &info, e_path, subpool)); + svn_pool_clear(iterpool); + SVN_ERR(fetch_path_info(b, &name, &info, e_path, iterpool)); if (!name) break; @@ -1193,10 +1195,10 @@ delta_dirs(report_baton_t *b, svn_revnum_t s_rev, const char *s_path, continue; } - e_fullpath = svn_relpath_join(e_path, name, subpool); - t_fullpath = svn_fspath__join(t_path, name, subpool); + e_fullpath = svn_relpath_join(e_path, name, iterpool); + t_fullpath = svn_fspath__join(t_path, name, iterpool); t_entry = svn_hash_gets(t_entries, name); - s_fullpath = s_path ? svn_fspath__join(s_path, name, subpool) : NULL; + s_fullpath = s_path ? svn_fspath__join(s_path, name, iterpool) : NULL; s_entry = s_entries ? svn_hash_gets(s_entries, name) : NULL; @@ -1216,7 +1218,7 @@ delta_dirs(report_baton_t *b, svn_revnum_t s_rev, const char *s_path, t_entry, dir_baton, e_fullpath, info, info ? info->depth : DEPTH_BELOW_HERE(wc_depth), - DEPTH_BELOW_HERE(requested_depth), subpool)); + DEPTH_BELOW_HERE(requested_depth), iterpool)); /* Don't revisit this name in the target or source entries. */ svn_hash_sets(t_entries, name, NULL); @@ -1236,13 +1238,13 @@ delta_dirs(report_baton_t *b, svn_revnum_t s_rev, const char *s_path, target, for graceful handling of case-only renames. */ if (s_entries) { - for (hi = apr_hash_first(pool, s_entries); + for (hi = apr_hash_first(subpool, s_entries); hi; hi = apr_hash_next(hi)) { const svn_fs_dirent_t *s_entry; - svn_pool_clear(subpool); + svn_pool_clear(iterpool); s_entry = svn__apr_hash_index_val(hi); if (svn_hash_gets(t_entries, s_entry->name) == NULL) @@ -1259,27 +1261,29 @@ delta_dirs(report_baton_t *b, svn_revnum_t s_rev, const char *s_path, continue; /* There is no corresponding target entry, so delete. */ - e_fullpath = svn_relpath_join(e_path, s_entry->name, subpool); + e_fullpath = svn_relpath_join(e_path, s_entry->name, iterpool); SVN_ERR(svn_repos_deleted_rev(svn_fs_root_fs(b->t_root), svn_fspath__join(t_path, s_entry->name, - subpool), + iterpool), s_rev, b->t_rev, - &deleted_rev, subpool)); + &deleted_rev, iterpool)); SVN_ERR(b->editor->delete_entry(e_fullpath, deleted_rev, - dir_baton, subpool)); + dir_baton, iterpool)); } } } /* Loop over the dirents in the target. */ - for (hi = apr_hash_first(pool, t_entries); hi; hi = apr_hash_next(hi)) + for (hi = apr_hash_first(subpool, t_entries); + hi; + hi = apr_hash_next(hi)) { const svn_fs_dirent_t *s_entry, *t_entry; - svn_pool_clear(subpool); + svn_pool_clear(iterpool); t_entry = svn__apr_hash_index_val(hi); if (is_depth_upgrade(wc_depth, requested_depth, t_entry->kind)) @@ -1307,24 +1311,27 @@ delta_dirs(report_baton_t *b, svn_revnum_t s_rev, const char *s_path, svn_hash_gets(s_entries, t_entry->name) : NULL; s_fullpath = s_entry ? - svn_fspath__join(s_path, t_entry->name, subpool) : NULL; + svn_fspath__join(s_path, t_entry->name, iterpool) : NULL; } /* Compose the report, editor, and target paths for this entry. */ - e_fullpath = svn_relpath_join(e_path, t_entry->name, subpool); - t_fullpath = svn_fspath__join(t_path, t_entry->name, subpool); + e_fullpath = svn_relpath_join(e_path, t_entry->name, iterpool); + t_fullpath = svn_fspath__join(t_path, t_entry->name, iterpool); SVN_ERR(update_entry(b, s_rev, s_fullpath, s_entry, t_fullpath, t_entry, dir_baton, e_fullpath, NULL, DEPTH_BELOW_HERE(wc_depth), DEPTH_BELOW_HERE(requested_depth), - subpool)); + iterpool)); } /* Destroy iteration subpool. */ - svn_pool_destroy(subpool); + svn_pool_destroy(iterpool); } + + svn_pool_destroy(subpool); + return SVN_NO_ERROR; } diff --git a/contrib/subversion/subversion/libsvn_subr/auth.c b/contrib/subversion/subversion/libsvn_subr/auth.c index 540635827..3c874cf88 100644 --- a/contrib/subversion/subversion/libsvn_subr/auth.c +++ b/contrib/subversion/subversion/libsvn_subr/auth.c @@ -35,7 +35,9 @@ #include "svn_private_config.h" #include "svn_dso.h" #include "svn_version.h" +#include "private/svn_auth_private.h" #include "private/svn_dep_compat.h" +#include "private/svn_subr_private.h" #include "auth.h" @@ -478,7 +480,8 @@ svn_auth_get_platform_specific_provider(svn_auth_provider_object_t **provider, check_list[0].version_query = version_function; check_list[1].label = NULL; check_list[1].version_query = NULL; - SVN_ERR(svn_ver_check_list(svn_subr_version(), check_list)); + SVN_ERR(svn_ver_check_list2(svn_subr_version(), check_list, + svn_ver_equal)); } if (apr_dso_sym(&provider_function_symbol, dso, @@ -538,6 +541,11 @@ svn_auth_get_platform_specific_provider(svn_auth_provider_object_t **provider, { svn_auth_get_windows_ssl_server_trust_provider(provider, pool); } + else if (strcmp(provider_name, "windows") == 0 && + strcmp(provider_type, "ssl_server_authority") == 0) + { + svn_auth__get_windows_ssl_server_authority_provider(provider, pool); + } #endif } diff --git a/contrib/subversion/subversion/libsvn_subr/cache-membuffer.c b/contrib/subversion/subversion/libsvn_subr/cache-membuffer.c index 5f447b3fa..131d91450 100644 --- a/contrib/subversion/subversion/libsvn_subr/cache-membuffer.c +++ b/contrib/subversion/subversion/libsvn_subr/cache-membuffer.c @@ -422,7 +422,7 @@ struct svn_membuffer_t */ apr_uint64_t current_data; - /* Total number of data buffer bytes in use. This is for statistics only. + /* Total number of data buffer bytes in use. */ apr_uint64_t data_used; @@ -1374,7 +1374,11 @@ membuffer_cache_set_internal(svn_membuffer_t *cache, * the old spot, just re-use that space. */ if (entry && ALIGN_VALUE(entry->size) >= size && buffer) { - cache->data_used += size - entry->size; + /* Careful! We need to cast SIZE to the full width of CACHE->DATA_USED + * lest we run into trouble with 32 bit underflow *not* treated as a + * negative value. + */ + cache->data_used += (apr_uint64_t)size - entry->size; entry->size = size; #ifdef SVN_DEBUG_CACHE_MEMBUFFER diff --git a/contrib/subversion/subversion/libsvn_subr/cache_config.c b/contrib/subversion/subversion/libsvn_subr/cache_config.c index 86c12dc49..17659f8c8 100644 --- a/contrib/subversion/subversion/libsvn_subr/cache_config.c +++ b/contrib/subversion/subversion/libsvn_subr/cache_config.c @@ -23,6 +23,7 @@ #include #include "svn_cache_config.h" +#include "private/svn_atomic.h" #include "private/svn_cache.h" #include "svn_pools.h" @@ -69,30 +70,27 @@ svn_cache_config_get(void) return &cache_settings; } -/* Access the process-global (singleton) membuffer cache. The first call - * will automatically allocate the cache using the current cache config. - * NULL will be returned if the desired cache size is 0 or if the cache - * could not be created for some reason. +/* Initializer function as required by svn_atomic__init_once. Allocate + * the process-global (singleton) membuffer cache and return it in the + * svn_membuffer_t * in *BATON. UNUSED_POOL is unused and should be NULL. */ -svn_membuffer_t * -svn_cache__get_global_membuffer_cache(void) +static svn_error_t * +initialize_cache(void *baton, apr_pool_t *unused_pool) { - static svn_membuffer_t * volatile cache = NULL; + svn_membuffer_t **cache_p = baton; + svn_membuffer_t *cache = NULL; apr_uint64_t cache_size = cache_settings.cache_size; - if (!cache && cache_size) + if (cache_size) { svn_error_t *err; - svn_membuffer_t *old_cache = NULL; - svn_membuffer_t *new_cache = NULL; - /* auto-allocate cache */ apr_allocator_t *allocator = NULL; apr_pool_t *pool = NULL; if (apr_allocator_create(&allocator)) - return NULL; + return SVN_NO_ERROR; /* Ensure that we free partially allocated data if we run OOM * before the cache is complete: If the cache cannot be allocated @@ -112,11 +110,11 @@ svn_cache__get_global_membuffer_cache(void) */ apr_pool_create_ex(&pool, NULL, NULL, allocator); if (pool == NULL) - return NULL; + return SVN_NO_ERROR; apr_allocator_owner_set(allocator, pool); err = svn_cache__membuffer_cache_create( - &new_cache, + &cache, (apr_size_t)cache_size, (apr_size_t)(cache_size / 10), 0, @@ -129,33 +127,40 @@ svn_cache__get_global_membuffer_cache(void) */ if (err) { - /* Memory and error cleanup */ - svn_error_clear(err); + /* Memory cleanup */ svn_pool_destroy(pool); - /* Prevent future attempts to create the cache. However, an - * existing cache instance (see next comment) remains valid. - */ + /* Document that we actually don't have a cache. */ cache_settings.cache_size = 0; - /* The current caller won't get the cache object. - * However, a concurrent call might have succeeded in creating - * the cache object. That call and all following ones will then - * use the successfully created cache instance. - */ - return NULL; + return svn_error_trace(err); } - /* Handle race condition: if we are the first to create a - * cache object, make it our global singleton. Otherwise, - * discard the new cache and keep the existing one. - * - * Cast is necessary because of APR bug: - * https://issues.apache.org/bugzilla/show_bug.cgi?id=50731 - */ - old_cache = apr_atomic_casptr((volatile void **)&cache, new_cache, NULL); - if (old_cache != NULL) - svn_pool_destroy(pool); + /* done */ + *cache_p = cache; + } + + return SVN_NO_ERROR; +} + +/* Access the process-global (singleton) membuffer cache. The first call + * will automatically allocate the cache using the current cache config. + * NULL will be returned if the desired cache size is 0 or if the cache + * could not be created for some reason. + */ +svn_membuffer_t * +svn_cache__get_global_membuffer_cache(void) +{ + static svn_membuffer_t *cache = NULL; + static svn_atomic_t initialized = 0; + + svn_error_t *err + = svn_atomic__init_once(&initialized, initialize_cache, &cache, NULL); + if (err) + { + /* no caches today ... */ + svn_error_clear(err); + return NULL; } return cache; diff --git a/contrib/subversion/subversion/libsvn_subr/cmdline.c b/contrib/subversion/subversion/libsvn_subr/cmdline.c index 8484c96a3..89d1ff3a3 100644 --- a/contrib/subversion/subversion/libsvn_subr/cmdline.c +++ b/contrib/subversion/subversion/libsvn_subr/cmdline.c @@ -356,7 +356,7 @@ svn_cmdline_fputs(const char *string, FILE* stream, apr_pool_t *pool) { /* ### Issue #3014: Return a specific error for broken pipes, * ### with a single element in the error chain. */ - if (APR_STATUS_IS_EPIPE(apr_get_os_error())) + if (SVN__APR_STATUS_IS_EPIPE(apr_get_os_error())) return svn_error_create(SVN_ERR_IO_PIPE_WRITE_ERROR, NULL, NULL); else return svn_error_wrap_apr(apr_get_os_error(), _("Write error")); @@ -379,7 +379,7 @@ svn_cmdline_fflush(FILE *stream) { /* ### Issue #3014: Return a specific error for broken pipes, * ### with a single element in the error chain. */ - if (APR_STATUS_IS_EPIPE(apr_get_os_error())) + if (SVN__APR_STATUS_IS_EPIPE(apr_get_os_error())) return svn_error_create(SVN_ERR_IO_PIPE_WRITE_ERROR, NULL, NULL); else return svn_error_wrap_apr(apr_get_os_error(), _("Write error")); @@ -505,7 +505,7 @@ svn_cmdline_create_auth_baton(svn_auth_baton_t **ab, svn_auth_get_username_provider(&provider, pool); APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider; - /* The server-cert, client-cert, and client-cert-password providers. */ + /* The windows ssl server certificate CRYPTOAPI provider. */ SVN_ERR(svn_auth_get_platform_specific_provider(&provider, "windows", "ssl_server_trust", @@ -514,6 +514,15 @@ svn_cmdline_create_auth_baton(svn_auth_baton_t **ab, if (provider) APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider; + /* The windows ssl authority certificate CRYPTOAPI provider. */ + SVN_ERR(svn_auth_get_platform_specific_provider(&provider, + "windows", + "ssl_server_authority", + pool)); + + if (provider) + APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider; + svn_auth_get_ssl_server_trust_file_provider(&provider, pool); APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider; svn_auth_get_ssl_client_cert_file_provider(&provider, pool); diff --git a/contrib/subversion/subversion/libsvn_subr/config_auth.c b/contrib/subversion/subversion/libsvn_subr/config_auth.c index d53403c44..091e4e84a 100644 --- a/contrib/subversion/subversion/libsvn_subr/config_auth.c +++ b/contrib/subversion/subversion/libsvn_subr/config_auth.c @@ -173,12 +173,6 @@ svn_config_walk_auth_data(const char *config_dir, NULL }; - if (! config_dir) - { - /* Can't locate the cache to clear */ - return SVN_NO_ERROR; - } - iterpool = svn_pool_create(scratch_pool); for (i = 0; cred_kinds[i]; i++) { diff --git a/contrib/subversion/subversion/libsvn_subr/deprecated.c b/contrib/subversion/subversion/libsvn_subr/deprecated.c index 378b3f828..93bd89db5 100644 --- a/contrib/subversion/subversion/libsvn_subr/deprecated.c +++ b/contrib/subversion/subversion/libsvn_subr/deprecated.c @@ -47,6 +47,7 @@ #include "opt.h" #include "private/svn_opt_private.h" #include "private/svn_mergeinfo_private.h" +#include "private/svn_subr_private.h" #include "svn_private_config.h" @@ -1301,4 +1302,10 @@ svn_subst_build_keywords(svn_subst_keywords_t *kw, return SVN_NO_ERROR; } - +/*** From version.c ***/ +svn_error_t * +svn_ver_check_list(const svn_version_t *my_version, + const svn_version_checklist_t *checklist) +{ + return svn_ver_check_list2(my_version, checklist, svn_ver_compatible); +} diff --git a/contrib/subversion/subversion/libsvn_subr/dirent_uri.c b/contrib/subversion/subversion/libsvn_subr/dirent_uri.c index 2b51e7aa2..4801f8c8e 100644 --- a/contrib/subversion/subversion/libsvn_subr/dirent_uri.c +++ b/contrib/subversion/subversion/libsvn_subr/dirent_uri.c @@ -1857,6 +1857,9 @@ svn_uri_is_canonical(const char *uri, apr_pool_t *scratch_pool) #endif /* SVN_USE_DOS_PATHS */ /* Now validate the rest of the URI. */ + seg = ptr; + while (*ptr && (*ptr != '/')) + ptr++; while(1) { apr_size_t seglen = ptr - seg; @@ -1875,9 +1878,8 @@ svn_uri_is_canonical(const char *uri, apr_pool_t *scratch_pool) if (*ptr == '/') ptr++; - seg = ptr; - + seg = ptr; while (*ptr && (*ptr != '/')) ptr++; } diff --git a/contrib/subversion/subversion/libsvn_subr/internal_statements.h b/contrib/subversion/subversion/libsvn_subr/internal_statements.h index dd81d9fb7..84c616f38 100644 --- a/contrib/subversion/subversion/libsvn_subr/internal_statements.h +++ b/contrib/subversion/subversion/libsvn_subr/internal_statements.h @@ -1,4 +1,4 @@ -/* This file is automatically generated from internal_statements.sql and .dist_sandbox/subversion-1.8.1/subversion/libsvn_subr/token-map.h. +/* This file is automatically generated from internal_statements.sql and .dist_sandbox/subversion-1.8.8/subversion/libsvn_subr/token-map.h. * Do not edit this file -- edit the source and rerun gen-make.py */ #define STMT_INTERNAL_SAVEPOINT_SVN 0 diff --git a/contrib/subversion/subversion/libsvn_subr/io.c b/contrib/subversion/subversion/libsvn_subr/io.c index d31819410..f0956e2aa 100644 --- a/contrib/subversion/subversion/libsvn_subr/io.c +++ b/contrib/subversion/subversion/libsvn_subr/io.c @@ -1533,14 +1533,9 @@ io_set_file_perms(const char *path, { if (enable_write) /* Make read-write. */ { - apr_file_t *fd; - - /* Get the perms for the original file so we'll have any other bits - * that were already set (like the execute bits, for example). */ - SVN_ERR(svn_io_file_open(&fd, path, APR_READ, - APR_OS_DEFAULT, pool)); - SVN_ERR(merge_default_file_perms(fd, &perms_to_set, pool)); - SVN_ERR(svn_io_file_close(fd, pool)); + /* Tweak the owner bits only. The group/other bits aren't safe to + * touch because we may end up setting them in undesired ways. */ + perms_to_set |= (APR_UREAD|APR_UWRITE); } else { @@ -3306,7 +3301,7 @@ do_io_file_wrapper_cleanup(apr_file_t *file, apr_status_t status, /* ### Issue #3014: Return a specific error for broken pipes, * ### with a single element in the error chain. */ - if (APR_STATUS_IS_EPIPE(status)) + if (SVN__APR_STATUS_IS_EPIPE(status)) return svn_error_create(SVN_ERR_IO_PIPE_WRITE_ERROR, NULL, NULL); if (name) @@ -4289,7 +4284,7 @@ contents_three_identical_p(svn_boolean_t *identical_p12, /* As long as a file is not at the end yet, and it is still * potentially identical to another file, we read the next chunk.*/ - if (!eof1 && (identical_p12 || identical_p13)) + if (!eof1 && (*identical_p12 || *identical_p13)) { err = svn_io_file_read_full2(file1_h, buf1, SVN__STREAM_CHUNK_SIZE, &bytes_read1, @@ -4299,7 +4294,7 @@ contents_three_identical_p(svn_boolean_t *identical_p12, read_1 = TRUE; } - if (!eof2 && (identical_p12 || identical_p23)) + if (!eof2 && (*identical_p12 || *identical_p23)) { err = svn_io_file_read_full2(file2_h, buf2, SVN__STREAM_CHUNK_SIZE, &bytes_read2, @@ -4309,7 +4304,7 @@ contents_three_identical_p(svn_boolean_t *identical_p12, read_2 = TRUE; } - if (!eof3 && (identical_p13 || identical_p23)) + if (!eof3 && (*identical_p13 || *identical_p23)) { err = svn_io_file_read_full2(file3_h, buf3, SVN__STREAM_CHUNK_SIZE, &bytes_read3, diff --git a/contrib/subversion/subversion/libsvn_subr/sqlite.c b/contrib/subversion/subversion/libsvn_subr/sqlite.c index 149b0253b..295a11c76 100644 --- a/contrib/subversion/subversion/libsvn_subr/sqlite.c +++ b/contrib/subversion/subversion/libsvn_subr/sqlite.c @@ -778,6 +778,21 @@ internal_open(sqlite3 **db3, const char *path, svn_sqlite__mode_t mode, somebody initialized SQLite before us it is needed anyway. */ flags |= SQLITE_OPEN_NOMUTEX; +#if !defined(WIN32) && !defined(SVN_SQLITE_INLINE) + if (mode == svn_sqlite__mode_rwcreate) + { + svn_node_kind_t kind; + + /* Create the file before SQLite to avoid any permissions + problems with an SQLite build that uses the default + SQLITE_DEFAULT_FILE_PERMISSIONS of 644 modified by umask. + We simply want umask permissions. */ + SVN_ERR(svn_io_check_path(path, &kind, scratch_pool)); + if (kind == svn_node_none) + SVN_ERR(svn_io_file_create(path, "", scratch_pool)); + } +#endif + /* Open the database. Note that a handle is returned, even when an error occurs (except for out-of-memory); thus, we can safely use it to extract an error message and construct an svn_error_t. */ @@ -887,6 +902,18 @@ svn_sqlite__open(svn_sqlite__db_t **db, const char *path, SVN_ERR(internal_open(&(*db)->db3, path, mode, scratch_pool)); +#if SQLITE_VERSION_NUMBER >= 3008000 && SQLITE_VERSION_NUMBER < 3009000 + /* disable SQLITE_ENABLE_STAT3/4 from 3.8.1 - 3.8.3 (but not 3.8.3.1+) + * to prevent using it when it's buggy. + * See: https://www.sqlite.org/src/info/4c86b126f2 */ + if (sqlite3_libversion_number() > 3008000 && + sqlite3_libversion_number() < 3008004 && + strcmp(sqlite3_sourceid(),"2014-02-11")<0) + { + sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS, (*db)->db3, 0x800); + } +#endif + #ifdef SQLITE3_DEBUG sqlite3_trace((*db)->db3, sqlite_tracer, (*db)->db3); #endif @@ -918,7 +945,13 @@ svn_sqlite__open(svn_sqlite__db_t **db, const char *path, /* Enable recursive triggers so that a user trigger will fire in the deletion phase of an INSERT OR REPLACE statement. Requires SQLite >= 3.6.18 */ - "PRAGMA recursive_triggers=ON;")); + "PRAGMA recursive_triggers=ON;" + /* Enforce current Sqlite default behavior. Some distributions + might change the Sqlite defaults without realizing how this + affects application(read: Subversion) performance/behavior. */ + "PRAGMA foreign_keys=OFF;" /* SQLITE_DEFAULT_FOREIGN_KEYS*/ + "PRAGMA locking_mode = NORMAL;" /* SQLITE_DEFAULT_LOCKING_MODE */ + )); #if defined(SVN_DEBUG) /* When running in debug mode, enable the checking of foreign key @@ -927,6 +960,14 @@ svn_sqlite__open(svn_sqlite__db_t **db, const char *path, SVN_ERR(exec_sql(*db, "PRAGMA foreign_keys=ON;")); #endif +#ifdef SVN_SQLITE_REVERSE_UNORDERED_SELECTS + /* When enabled, this PRAGMA causes SELECT statements without an ORDER BY + clause to emit their results in the reverse order of what they normally + would. This can help detecting invalid assumptions about the result + order.*/ + SVN_ERR(exec_sql(*db, "PRAGMA reverse_unordered_selects=ON;")); +#endif + /* Store temporary tables in RAM instead of in temporary files, but don't fail on this if this option is disabled in the sqlite compilation by setting SQLITE_TEMP_STORE to 0 (always to disk) */ diff --git a/contrib/subversion/subversion/libsvn_subr/sqlite3wrapper.c b/contrib/subversion/subversion/libsvn_subr/sqlite3wrapper.c index d1941aa88..c35642b72 100644 --- a/contrib/subversion/subversion/libsvn_subr/sqlite3wrapper.c +++ b/contrib/subversion/subversion/libsvn_subr/sqlite3wrapper.c @@ -50,6 +50,7 @@ # undef inline # endif # endif +# define SQLITE_DEFAULT_FILE_PERMISSIONS 0666 # include # if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ >= 6)) # pragma GCC diagnostic pop diff --git a/contrib/subversion/subversion/libsvn_subr/subst.c b/contrib/subversion/subversion/libsvn_subr/subst.c index 3545289ba..223b269a7 100644 --- a/contrib/subversion/subversion/libsvn_subr/subst.c +++ b/contrib/subversion/subversion/libsvn_subr/subst.c @@ -1702,9 +1702,19 @@ create_special_file_from_stream(svn_stream_t *source, const char *dst, ### this only writes the first line! */ if (create_using_internal_representation) - SVN_ERR(svn_io_write_unique(&dst_tmp, svn_dirent_dirname(dst, pool), - contents->data, contents->len, - svn_io_file_del_none, pool)); + { + apr_file_t *new_file; + SVN_ERR(svn_io_open_unique_file3(&new_file, &dst_tmp, + svn_dirent_dirname(dst, pool), + svn_io_file_del_none, + pool, pool)); + + SVN_ERR(svn_io_file_write_full(new_file, + contents->data, contents->len, NULL, + pool)); + + SVN_ERR(svn_io_file_close(new_file, pool)); + } /* Do the atomic rename from our temporary location. */ return svn_io_file_rename(dst_tmp, dst, pool); diff --git a/contrib/subversion/subversion/libsvn_subr/sysinfo.c b/contrib/subversion/subversion/libsvn_subr/sysinfo.c index 455dca44c..a506310aa 100644 --- a/contrib/subversion/subversion/libsvn_subr/sysinfo.c +++ b/contrib/subversion/subversion/libsvn_subr/sysinfo.c @@ -290,11 +290,21 @@ stringbuf_split_key(svn_stringbuf_t *buffer, char delim) return NULL; svn_stringbuf_strip_whitespace(buffer); + + /* Now we split the currently allocated buffer in two parts: + - a const char * HEAD + - the remaining stringbuf_t. */ + + /* Create HEAD as '\0' terminated const char * */ key = buffer->data; end = strchr(key, delim); *end = '\0'; - buffer->len = 1 + end - key; + + /* And update the TAIL to be a smaller, but still valid stringbuf */ buffer->data = end + 1; + buffer->len -= 1 + end - key; + buffer->blocksize -= 1 + end - key; + svn_stringbuf_strip_whitespace(buffer); return key; @@ -546,7 +556,7 @@ linux_release_name(apr_pool_t *pool) #ifdef WIN32 typedef DWORD (WINAPI *FNGETNATIVESYSTEMINFO)(LPSYSTEM_INFO); -typedef BOOL (WINAPI *FNENUMPROCESSMODULES) (HANDLE, HMODULE, DWORD, LPDWORD); +typedef BOOL (WINAPI *FNENUMPROCESSMODULES) (HANDLE, HMODULE*, DWORD, LPDWORD); /* Get system and version info, and try to tell the difference between the native system type and the runtime environment of the @@ -763,16 +773,36 @@ win32_release_name(apr_pool_t *pool) static HMODULE * enum_loaded_modules(apr_pool_t *pool) { + HMODULE psapi_dll = 0; HANDLE current = GetCurrentProcess(); HMODULE dummy[1]; HMODULE *handles; DWORD size; + FNENUMPROCESSMODULES EnumProcessModules_; + + psapi_dll = GetModuleHandleA("psapi.dll"); + + if (!psapi_dll) + { + /* Load and never unload, just like static linking */ + psapi_dll = LoadLibraryA("psapi.dll"); + } + + if (!psapi_dll) + return NULL; + + EnumProcessModules_ = (FNENUMPROCESSMODULES) + GetProcAddress(psapi_dll, "EnumProcessModules"); + + /* Before Windows XP psapi was an optional module */ + if (! EnumProcessModules_) + return NULL; - if (!EnumProcessModules(current, dummy, sizeof(dummy), &size)) + if (!EnumProcessModules_(current, dummy, sizeof(dummy), &size)) return NULL; handles = apr_palloc(pool, size + sizeof *handles); - if (!EnumProcessModules(current, handles, size, &size)) + if (! EnumProcessModules_(current, handles, size, &size)) return NULL; handles[size / sizeof *handles] = NULL; return handles; diff --git a/contrib/subversion/subversion/libsvn_subr/utf.c b/contrib/subversion/subversion/libsvn_subr/utf.c index 535e3daf9..4f9102d29 100644 --- a/contrib/subversion/subversion/libsvn_subr/utf.c +++ b/contrib/subversion/subversion/libsvn_subr/utf.c @@ -212,6 +212,7 @@ xlate_alloc_handle(xlate_handle_node_t **ret, { apr_status_t apr_err; apr_xlate_t *handle; + const char *name; /* The error handling doesn't support the following cases, since we don't use them currently. Catch this here. */ @@ -224,8 +225,10 @@ xlate_alloc_handle(xlate_handle_node_t **ret, #if defined(WIN32) apr_err = svn_subr__win32_xlate_open((win32_xlate_t **)&handle, topage, frompage, pool); + name = "win32-xlate: "; #else apr_err = apr_xlate_open(&handle, topage, frompage, pool); + name = "APR: "; #endif if (APR_STATUS_IS_EINVAL(apr_err) || APR_STATUS_IS_ENOTIMPL(apr_err)) @@ -254,9 +257,9 @@ xlate_alloc_handle(xlate_handle_node_t **ret, later. APR_STRERR will be in the local encoding, not in UTF-8, though. */ svn_strerror(apr_err, apr_strerr, sizeof(apr_strerr)); - return svn_error_create(apr_err, - svn_error_create(apr_err, NULL, apr_strerr), - errstr); + return svn_error_createf(SVN_ERR_PLUGIN_LOAD_FAILURE, + svn_error_create(apr_err, NULL, apr_strerr), + "%s%s", name, errstr); } /* Allocate and initialize the node. */ diff --git a/contrib/subversion/subversion/libsvn_subr/version.c b/contrib/subversion/subversion/libsvn_subr/version.c index 9787c50dc..d89a51221 100644 --- a/contrib/subversion/subversion/libsvn_subr/version.c +++ b/contrib/subversion/subversion/libsvn_subr/version.c @@ -75,8 +75,10 @@ svn_boolean_t svn_ver_equal(const svn_version_t *my_version, svn_error_t * -svn_ver_check_list(const svn_version_t *my_version, - const svn_version_checklist_t *checklist) +svn_ver__check_list2(const svn_version_t *my_version, + const svn_version_checklist_t *checklist, + svn_boolean_t (*comparator)(const svn_version_t *, + const svn_version_t *)) { svn_error_t *err = SVN_NO_ERROR; int i; @@ -84,12 +86,17 @@ svn_ver_check_list(const svn_version_t *my_version, for (i = 0; checklist[i].label != NULL; ++i) { const svn_version_t *lib_version = checklist[i].version_query(); - if (!svn_ver_compatible(my_version, lib_version)) + if (!comparator(my_version, lib_version)) err = svn_error_createf(SVN_ERR_VERSION_MISMATCH, err, - _("Version mismatch in '%s':" + _("Version mismatch in '%s'%s:" " found %d.%d.%d%s," " expected %d.%d.%d%s"), checklist[i].label, + comparator == svn_ver_equal + ? _(" (expecting equality)") + : comparator == svn_ver_compatible + ? _(" (expecting compatibility)") + : "", lib_version->major, lib_version->minor, lib_version->patch, lib_version->tag, my_version->major, my_version->minor, diff --git a/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c b/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c index 6becc96d7..4b665c169 100644 --- a/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c +++ b/contrib/subversion/subversion/libsvn_subr/win32_crashrpt.c @@ -427,13 +427,15 @@ write_var_values(PSYMBOL_INFO sym_info, ULONG sym_size, void *baton) format_value(value_str, sym_info->ModBase, sym_info->TypeIndex, (void *)var_data); - fprintf(log_file, "%s=%s", sym_info->Name, value_str); + fprintf(log_file, "%.*s=%s", (int)sym_info->NameLen, sym_info->Name, + value_str); } if (!log_params && sym_info->Flags & SYMFLAG_LOCAL) { format_value(value_str, sym_info->ModBase, sym_info->TypeIndex, (void *)var_data); - fprintf(log_file, " %s = %s\n", sym_info->Name, value_str); + fprintf(log_file, " %.*s = %s\n", (int)sym_info->NameLen, + sym_info->Name, value_str); } return TRUE; @@ -466,8 +468,10 @@ write_function_detail(STACKFRAME64 stack_frame, int nr_of_frame, FILE *log_file) if (SymFromAddr_(proc, stack_frame.AddrPC.Offset, &func_disp, pIHS)) { fprintf(log_file, - "#%d 0x%08I64x in %.200s(", - nr_of_frame, stack_frame.AddrPC.Offset, pIHS->Name); + "#%d 0x%08I64x in %.*s(", + nr_of_frame, stack_frame.AddrPC.Offset, + pIHS->NameLen > 200 ? 200 : (int)pIHS->NameLen, + pIHS->Name); /* restrict symbol enumeration to this frame only */ ih_stack_frame.InstructionOffset = stack_frame.AddrPC.Offset; diff --git a/contrib/subversion/subversion/libsvn_subr/win32_crypto.c b/contrib/subversion/subversion/libsvn_subr/win32_crypto.c index a7e3828c9..e16866a68 100644 --- a/contrib/subversion/subversion/libsvn_subr/win32_crypto.c +++ b/contrib/subversion/subversion/libsvn_subr/win32_crypto.c @@ -436,8 +436,9 @@ windows_ssl_server_trust_first_credentials(void **credentials, const char *realmstring, apr_pool_t *pool) { - apr_uint32_t *failures = svn_hash_gets(parameters, - SVN_AUTH_PARAM_SSL_SERVER_FAILURES); + apr_uint32_t *failure_ptr = svn_hash_gets(parameters, + SVN_AUTH_PARAM_SSL_SERVER_FAILURES); + apr_uint32_t failures = *failure_ptr; const svn_auth_ssl_server_cert_info_t *cert_info = svn_hash_gets(parameters, SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO); @@ -445,7 +446,7 @@ windows_ssl_server_trust_first_credentials(void **credentials, *iter_baton = NULL; /* We can accept only unknown certificate authority. */ - if (*failures & SVN_AUTH_SSL_UNKNOWNCA) + if (failures & SVN_AUTH_SSL_UNKNOWNCA) { svn_boolean_t ok; @@ -455,15 +456,16 @@ windows_ssl_server_trust_first_credentials(void **credentials, if (ok) { /* Clear failure flag. */ - *failures &= ~SVN_AUTH_SSL_UNKNOWNCA; + failures &= ~SVN_AUTH_SSL_UNKNOWNCA; } } /* If all failures are cleared now, we return the creds */ - if (! *failures) + if (! failures) { svn_auth_cred_ssl_server_trust_t *creds = apr_pcalloc(pool, sizeof(*creds)); + creds->accepted_failures = *failure_ptr & ~failures; creds->may_save = FALSE; /* No need to save it. */ *credentials = creds; } @@ -489,4 +491,24 @@ svn_auth_get_windows_ssl_server_trust_provider *provider = po; } +static const svn_auth_provider_t windows_server_authority_provider = { + SVN_AUTH_CRED_SSL_SERVER_AUTHORITY, + windows_ssl_server_trust_first_credentials, + NULL, + NULL, +}; + +/* Public API */ +void +svn_auth__get_windows_ssl_server_authority_provider( + svn_auth_provider_object_t **provider, + apr_pool_t *pool) +{ + svn_auth_provider_object_t *po = apr_pcalloc(pool, sizeof(*po)); + + po->vtable = &windows_server_authority_provider; + *provider = po; +} + + #endif /* WIN32 */ diff --git a/contrib/subversion/subversion/libsvn_wc/conflicts.h b/contrib/subversion/subversion/libsvn_wc/conflicts.h index d47306531..839e8a0d4 100644 --- a/contrib/subversion/subversion/libsvn_wc/conflicts.h +++ b/contrib/subversion/subversion/libsvn_wc/conflicts.h @@ -401,14 +401,18 @@ svn_wc__conflict_create_markers(svn_skel_t **work_item, apr_pool_t *result_pool, apr_pool_t *scratch_pool); -/* Call the interactive conflict resolver RESOLVER_FUNC with RESOLVER_BATON to - allow resolving the conflicts on LOCAL_ABSPATH. +/* Call the conflict resolver RESOLVER_FUNC with RESOLVER_BATON for each + of the conflicts on LOCAL_ABSPATH. Depending on the results that + the callback returns, perhaps resolve the conflicts, and perhaps mark + them as resolved in the WC DB. Call RESOLVER_FUNC once for each property conflict, and again for any text conflict, and again for any tree conflict on the node. CONFLICT_SKEL contains the details of the conflicts on LOCAL_ABSPATH. + Use MERGE_OPTIONS when the resolver requests a merge. + Resolver actions are directly applied to the in-db state of LOCAL_ABSPATH, so the conflict and the state in CONFLICT_SKEL must already be installed in wc.db. */ diff --git a/contrib/subversion/subversion/libsvn_wc/diff.h b/contrib/subversion/subversion/libsvn_wc/diff.h index d16a9e5ee..ebaf5a882 100644 --- a/contrib/subversion/subversion/libsvn_wc/diff.h +++ b/contrib/subversion/subversion/libsvn_wc/diff.h @@ -38,7 +38,9 @@ extern "C" { #endif /* __cplusplus */ -/* Reports the file LOCAL_ABSPATH as ADDED file with relpath RELPATH to +/* A function to diff locally added and locally copied files. + + Reports the file LOCAL_ABSPATH as ADDED file with relpath RELPATH to PROCESSOR with as parent baton PROCESSOR_PARENT_BATON. The node is expected to have status svn_wc__db_status_normal, or @@ -61,7 +63,9 @@ svn_wc__diff_local_only_file(svn_wc__db_t *db, void *cancel_baton, apr_pool_t *scratch_pool); -/* Reports the directory LOCAL_ABSPATH and everything below it (limited by +/* A function to diff locally added and locally copied directories. + + Reports the directory LOCAL_ABSPATH and everything below it (limited by DEPTH) as added with relpath RELPATH to PROCESSOR with as parent baton PROCESSOR_PARENT_BATON. diff --git a/contrib/subversion/subversion/libsvn_wc/diff_editor.c b/contrib/subversion/subversion/libsvn_wc/diff_editor.c index 839241f9d..b42688438 100644 --- a/contrib/subversion/subversion/libsvn_wc/diff_editor.c +++ b/contrib/subversion/subversion/libsvn_wc/diff_editor.c @@ -474,14 +474,18 @@ svn_wc__diff_base_working_diff(svn_wc__db_t *db, { const svn_io_dirent2_t *dirent; + /* Verify truename to mimic status for iota/IOTA difference on Windows */ SVN_ERR(svn_io_stat_dirent2(&dirent, local_abspath, - FALSE /* verify truename */, + TRUE /* verify truename */, TRUE /* ingore_enoent */, scratch_pool, scratch_pool)); - if (dirent->kind == svn_node_file - && dirent->filesize == recorded_size - && dirent->mtime == recorded_time) + /* If a file does not exist on disk (missing/obstructed) then we + can't provide a text diff */ + if (dirent->kind != svn_node_file + || (dirent->kind == svn_node_file + && dirent->filesize == recorded_size + && dirent->mtime == recorded_time)) { files_same = TRUE; } diff --git a/contrib/subversion/subversion/libsvn_wc/diff_local.c b/contrib/subversion/subversion/libsvn_wc/diff_local.c index ad87c76a6..04d4c480b 100644 --- a/contrib/subversion/subversion/libsvn_wc/diff_local.c +++ b/contrib/subversion/subversion/libsvn_wc/diff_local.c @@ -116,13 +116,20 @@ ensure_state(struct diff_baton *eb, apr_pool_t *ns_pool; if (!eb->cur) { - if (!svn_dirent_is_ancestor(eb->anchor_abspath, local_abspath)) + const char *relpath; + + relpath = svn_dirent_skip_ancestor(eb->anchor_abspath, local_abspath); + if (! relpath) return SVN_NO_ERROR; - SVN_ERR(ensure_state(eb, - svn_dirent_dirname(local_abspath,scratch_pool), - FALSE, - scratch_pool)); + /* Don't recurse on the anchor, as that might loop infinately because + svn_dirent_dirname("/",...) -> "/" + svn_dirent_dirname("C:/",...) -> "C:/" (Windows) */ + if (*relpath) + SVN_ERR(ensure_state(eb, + svn_dirent_dirname(local_abspath,scratch_pool), + FALSE, + scratch_pool)); } else if (svn_dirent_is_child(eb->cur->local_abspath, local_abspath, NULL)) SVN_ERR(ensure_state(eb, svn_dirent_dirname(local_abspath,scratch_pool), @@ -195,23 +202,15 @@ diff_status_callback(void *baton, struct diff_baton *eb = baton; svn_wc__db_t *db = eb->db; - switch (status->node_status) - { - case svn_wc_status_unversioned: - case svn_wc_status_ignored: - return SVN_NO_ERROR; /* No diff */ + if (! status->versioned) + return SVN_NO_ERROR; /* unversioned (includes dir externals) */ - case svn_wc_status_conflicted: - if (status->text_status == svn_wc_status_none - && status->prop_status == svn_wc_status_none) - { - /* Node is an actual only node describing a tree conflict */ - return SVN_NO_ERROR; - } - break; - - default: - break; /* Go check other conditions */ + if (status->node_status == svn_wc_status_conflicted + && status->text_status == svn_wc_status_none + && status->prop_status == svn_wc_status_none) + { + /* Node is an actual only node describing a tree conflict */ + return SVN_NO_ERROR; } /* Not text/prop modified, not copied. Easy out */ @@ -399,7 +398,7 @@ diff_status_callback(void *baton, } } - if (local_only) + if (local_only && (db_status != svn_wc__db_status_deleted)) { if (db_kind == svn_node_file) SVN_ERR(svn_wc__diff_local_only_file(db, child_abspath, diff --git a/contrib/subversion/subversion/libsvn_wc/info.c b/contrib/subversion/subversion/libsvn_wc/info.c index 4a37e00ab..dc80ee72d 100644 --- a/contrib/subversion/subversion/libsvn_wc/info.c +++ b/contrib/subversion/subversion/libsvn_wc/info.c @@ -548,7 +548,7 @@ svn_wc__get_info(svn_wc_context_t *wc_ctx, &repos_uuid, wc_ctx->db, svn_dirent_dirname( - local_abspath, + this_abspath, iterpool), scratch_pool, iterpool)); diff --git a/contrib/subversion/subversion/libsvn_wc/old-and-busted.c b/contrib/subversion/subversion/libsvn_wc/old-and-busted.c index 20f7c6ca9..b87be8555 100644 --- a/contrib/subversion/subversion/libsvn_wc/old-and-busted.c +++ b/contrib/subversion/subversion/libsvn_wc/old-and-busted.c @@ -811,11 +811,15 @@ atts_to_entry(svn_wc_entry_t **new_entry, ### not used by loggy; no need to set MODIFY_FLAGS */ entry->url = extract_string(atts, ENTRIES_ATTR_URL, pool); + if (entry->url) + entry->url = svn_uri_canonicalize(entry->url, pool); /* Set up repository root. Make sure it is a prefix of url. ### not used by loggy; no need to set MODIFY_FLAGS */ entry->repos = extract_string(atts, ENTRIES_ATTR_REPOS, pool); + if (entry->repos) + entry->repos = svn_uri_canonicalize(entry->repos, pool); if (entry->url && entry->repos && !svn_uri__is_ancestor(entry->repos, entry->url)) diff --git a/contrib/subversion/subversion/libsvn_wc/update_editor.c b/contrib/subversion/subversion/libsvn_wc/update_editor.c index a353b1b07..e02dc3016 100644 --- a/contrib/subversion/subversion/libsvn_wc/update_editor.c +++ b/contrib/subversion/subversion/libsvn_wc/update_editor.c @@ -1012,9 +1012,13 @@ window_handler(svn_txdelta_window_t *window, void *baton) if (err) { - /* We failed to apply the delta; clean up the temporary file. */ - svn_error_clear(svn_io_remove_file2(hb->new_text_base_tmp_abspath, TRUE, - hb->pool)); + /* We failed to apply the delta; clean up the temporary file if it + already created by lazy_open_target(). */ + if (hb->new_text_base_tmp_abspath) + { + svn_error_clear(svn_io_remove_file2(hb->new_text_base_tmp_abspath, + TRUE, hb->pool)); + } } else { @@ -3009,18 +3013,55 @@ absent_node(const char *path, kind = svn_node_unknown; } - if (status == svn_wc__db_status_normal - && kind == svn_node_dir) + if (status == svn_wc__db_status_normal) { - /* We found an obstructing working copy! + svn_boolean_t wcroot; + /* We found an obstructing working copy or a file external! */ - We can do two things now: - 1) notify the user, record a skip, etc. - 2) Just record the absent node in BASE in the parent - working copy. + SVN_ERR(svn_wc__db_is_wcroot(&wcroot, eb->db, local_abspath, + scratch_pool)); - As option 2 happens to be exactly what we do anyway, lets do that. - */ + if (wcroot) + { + /* + We have an obstructing working copy; possibly a directory external + + We can do two things now: + 1) notify the user, record a skip, etc. + 2) Just record the absent node in BASE in the parent + working copy. + + As option 2 happens to be exactly what we do anyway, fall through. + */ + } + else + { + /* The server asks us to replace a file external + (Existing BASE node; not reported by the working copy crawler or + there would have been a delete_entry() call. + + There is no way we can store this state in the working copy as + the BASE layer is already filled. + + We could error out, but that is not helping anybody; the user is not + even seeing with what the file external would be replaced, so let's + report a skip and continue the update. + */ + + if (eb->notify_func) + { + svn_wc_notify_t *notify; + notify = svn_wc_create_notify( + local_abspath, + svn_wc_notify_update_skip_obstruction, + scratch_pool); + + eb->notify_func(eb->notify_baton, notify, scratch_pool); + } + + svn_pool_destroy(scratch_pool); + return SVN_NO_ERROR; + } } else if (status == svn_wc__db_status_not_present || status == svn_wc__db_status_server_excluded diff --git a/contrib/subversion/subversion/libsvn_wc/upgrade.c b/contrib/subversion/subversion/libsvn_wc/upgrade.c index ff5543c47..af615fd61 100644 --- a/contrib/subversion/subversion/libsvn_wc/upgrade.c +++ b/contrib/subversion/subversion/libsvn_wc/upgrade.c @@ -1958,6 +1958,10 @@ svn_wc__upgrade_sdb(int *result_format, case SVN_WC__VERSION: /* already upgraded */ *result_format = SVN_WC__VERSION; + + SVN_SQLITE__WITH_LOCK( + svn_wc__db_install_schema_statistics(sdb, scratch_pool), + sdb); } #ifdef SVN_DEBUG diff --git a/contrib/subversion/subversion/libsvn_wc/wc-checks.h b/contrib/subversion/subversion/libsvn_wc/wc-checks.h index 43ab4cc18..14d7ef3a7 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc-checks.h +++ b/contrib/subversion/subversion/libsvn_wc/wc-checks.h @@ -1,4 +1,4 @@ -/* This file is automatically generated from wc-checks.sql and .dist_sandbox/subversion-1.8.1/subversion/libsvn_wc/token-map.h. +/* This file is automatically generated from wc-checks.sql and .dist_sandbox/subversion-1.8.8/subversion/libsvn_wc/token-map.h. * Do not edit this file -- edit the source and rerun gen-make.py */ #define STMT_VERIFICATION_TRIGGERS 0 diff --git a/contrib/subversion/subversion/libsvn_wc/wc-metadata.h b/contrib/subversion/subversion/libsvn_wc/wc-metadata.h index d0421788d..0ab17d453 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc-metadata.h +++ b/contrib/subversion/subversion/libsvn_wc/wc-metadata.h @@ -1,4 +1,4 @@ -/* This file is automatically generated from wc-metadata.sql and .dist_sandbox/subversion-1.8.1/subversion/libsvn_wc/token-map.h. +/* This file is automatically generated from wc-metadata.sql and .dist_sandbox/subversion-1.8.8/subversion/libsvn_wc/token-map.h. * Do not edit this file -- edit the source and rerun gen-make.py */ #define STMT_CREATE_SCHEMA 0 @@ -159,9 +159,30 @@ " local_relpath); " \ "" -#define STMT_UPGRADE_TO_20 4 -#define STMT_4_INFO {"STMT_UPGRADE_TO_20", NULL} +#define STMT_INSTALL_SCHEMA_STATISTICS 4 +#define STMT_4_INFO {"STMT_INSTALL_SCHEMA_STATISTICS", NULL} #define STMT_4 \ + "ANALYZE sqlite_master; " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); " \ + "ANALYZE sqlite_master; " \ + "" + +#define STMT_UPGRADE_TO_20 5 +#define STMT_5_INFO {"STMT_UPGRADE_TO_20", NULL} +#define STMT_5 \ "UPDATE BASE_NODE SET checksum = (SELECT checksum FROM pristine " \ " WHERE md5_checksum = BASE_NODE.checksum) " \ "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = BASE_NODE.checksum); " \ @@ -202,59 +223,59 @@ "PRAGMA user_version = 20; " \ "" -#define STMT_UPGRADE_TO_21 5 -#define STMT_5_INFO {"STMT_UPGRADE_TO_21", NULL} -#define STMT_5 \ +#define STMT_UPGRADE_TO_21 6 +#define STMT_6_INFO {"STMT_UPGRADE_TO_21", NULL} +#define STMT_6 \ "PRAGMA user_version = 21; " \ "" -#define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 6 -#define STMT_6_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL} -#define STMT_6 \ +#define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 7 +#define STMT_7_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL} +#define STMT_7 \ "SELECT wc_id, local_relpath, tree_conflict_data " \ "FROM actual_node " \ "WHERE tree_conflict_data IS NOT NULL " \ "" -#define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 7 -#define STMT_7_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL} -#define STMT_7 \ +#define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 8 +#define STMT_8_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL} +#define STMT_8 \ "UPDATE actual_node SET tree_conflict_data = NULL " \ "" -#define STMT_UPGRADE_TO_22 8 -#define STMT_8_INFO {"STMT_UPGRADE_TO_22", NULL} -#define STMT_8 \ +#define STMT_UPGRADE_TO_22 9 +#define STMT_9_INFO {"STMT_UPGRADE_TO_22", NULL} +#define STMT_9 \ "UPDATE actual_node SET tree_conflict_data = conflict_data; " \ "UPDATE actual_node SET conflict_data = NULL; " \ "PRAGMA user_version = 22; " \ "" -#define STMT_UPGRADE_TO_23 9 -#define STMT_9_INFO {"STMT_UPGRADE_TO_23", NULL} -#define STMT_9 \ +#define STMT_UPGRADE_TO_23 10 +#define STMT_10_INFO {"STMT_UPGRADE_TO_23", NULL} +#define STMT_10 \ "PRAGMA user_version = 23; " \ "" -#define STMT_UPGRADE_23_HAS_WORKING_NODES 10 -#define STMT_10_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL} -#define STMT_10 \ +#define STMT_UPGRADE_23_HAS_WORKING_NODES 11 +#define STMT_11_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL} +#define STMT_11 \ "SELECT 1 FROM nodes WHERE op_depth > 0 " \ "LIMIT 1 " \ "" -#define STMT_UPGRADE_TO_24 11 -#define STMT_11_INFO {"STMT_UPGRADE_TO_24", NULL} -#define STMT_11 \ +#define STMT_UPGRADE_TO_24 12 +#define STMT_12_INFO {"STMT_UPGRADE_TO_24", NULL} +#define STMT_12 \ "UPDATE pristine SET refcount = " \ " (SELECT COUNT(*) FROM nodes " \ " WHERE checksum = pristine.checksum ); " \ "PRAGMA user_version = 24; " \ "" -#define STMT_UPGRADE_TO_25 12 -#define STMT_12_INFO {"STMT_UPGRADE_TO_25", NULL} -#define STMT_12 \ +#define STMT_UPGRADE_TO_25 13 +#define STMT_13_INFO {"STMT_UPGRADE_TO_25", NULL} +#define STMT_13 \ "DROP VIEW IF EXISTS NODES_CURRENT; " \ "CREATE VIEW NODES_CURRENT AS " \ " SELECT * FROM nodes " \ @@ -266,9 +287,9 @@ "PRAGMA user_version = 25; " \ "" -#define STMT_UPGRADE_TO_26 13 -#define STMT_13_INFO {"STMT_UPGRADE_TO_26", NULL} -#define STMT_13 \ +#define STMT_UPGRADE_TO_26 14 +#define STMT_14_INFO {"STMT_UPGRADE_TO_26", NULL} +#define STMT_14 \ "DROP VIEW IF EXISTS NODES_BASE; " \ "CREATE VIEW NODES_BASE AS " \ " SELECT * FROM nodes " \ @@ -276,15 +297,15 @@ "PRAGMA user_version = 26; " \ "" -#define STMT_UPGRADE_TO_27 14 -#define STMT_14_INFO {"STMT_UPGRADE_TO_27", NULL} -#define STMT_14 \ +#define STMT_UPGRADE_TO_27 15 +#define STMT_15_INFO {"STMT_UPGRADE_TO_27", NULL} +#define STMT_15 \ "PRAGMA user_version = 27; " \ "" -#define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 15 -#define STMT_15_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL} -#define STMT_15 \ +#define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 16 +#define STMT_16_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL} +#define STMT_16 \ "SELECT 1 FROM actual_node " \ "WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL) " \ " AND (conflict_new IS NULL) AND (conflict_working IS NULL) " \ @@ -292,18 +313,18 @@ "LIMIT 1 " \ "" -#define STMT_UPGRADE_TO_28 16 -#define STMT_16_INFO {"STMT_UPGRADE_TO_28", NULL} -#define STMT_16 \ +#define STMT_UPGRADE_TO_28 17 +#define STMT_17_INFO {"STMT_UPGRADE_TO_28", NULL} +#define STMT_17 \ "UPDATE NODES SET checksum = (SELECT checksum FROM pristine " \ " WHERE md5_checksum = nodes.checksum) " \ "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = nodes.checksum); " \ "PRAGMA user_version = 28; " \ "" -#define STMT_UPGRADE_TO_29 17 -#define STMT_17_INFO {"STMT_UPGRADE_TO_29", NULL} -#define STMT_17 \ +#define STMT_UPGRADE_TO_29 18 +#define STMT_18_INFO {"STMT_UPGRADE_TO_29", NULL} +#define STMT_18 \ "DROP TRIGGER IF EXISTS nodes_update_checksum_trigger; " \ "DROP TRIGGER IF EXISTS nodes_insert_trigger; " \ "DROP TRIGGER IF EXISTS nodes_delete_trigger; " \ @@ -333,9 +354,9 @@ "PRAGMA user_version = 29; " \ "" -#define STMT_UPGRADE_TO_30 18 -#define STMT_18_INFO {"STMT_UPGRADE_TO_30", NULL} -#define STMT_18 \ +#define STMT_UPGRADE_TO_30 19 +#define STMT_19_INFO {"STMT_UPGRADE_TO_30", NULL} +#define STMT_19 \ "CREATE UNIQUE INDEX IF NOT EXISTS I_NODES_MOVED " \ "ON NODES (wc_id, moved_to, op_depth); " \ "CREATE INDEX IF NOT EXISTS I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \ @@ -343,9 +364,9 @@ "UPDATE nodes SET file_external=1 WHERE file_external IS NOT NULL; " \ "" -#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 19 -#define STMT_19_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL} -#define STMT_19 \ +#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 20 +#define STMT_20_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL} +#define STMT_20 \ "SELECT wc_id, local_relpath, " \ " conflict_old, conflict_working, conflict_new, prop_reject, tree_conflict_data " \ "FROM actual_node " \ @@ -357,24 +378,24 @@ "ORDER by wc_id, local_relpath " \ "" -#define STMT_UPGRADE_30_SET_CONFLICT 20 -#define STMT_20_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL} -#define STMT_20 \ +#define STMT_UPGRADE_30_SET_CONFLICT 21 +#define STMT_21_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL} +#define STMT_21 \ "UPDATE actual_node SET conflict_data = ?3, conflict_old = NULL, " \ " conflict_working = NULL, conflict_new = NULL, prop_reject = NULL, " \ " tree_conflict_data = NULL " \ "WHERE wc_id = ?1 and local_relpath = ?2 " \ "" -#define STMT_UPGRADE_TO_31_ALTER_TABLE 21 -#define STMT_21_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL} -#define STMT_21 \ +#define STMT_UPGRADE_TO_31_ALTER_TABLE 22 +#define STMT_22_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL} +#define STMT_22 \ "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \ "" -#define STMT_UPGRADE_TO_31_FINALIZE 22 -#define STMT_22_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL} -#define STMT_22 \ +#define STMT_UPGRADE_TO_31_FINALIZE 23 +#define STMT_23_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL} +#define STMT_23 \ "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \ "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \ "DROP INDEX I_NODES_PARENT; " \ @@ -386,9 +407,9 @@ "PRAGMA user_version = 31; " \ "" -#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 23 -#define STMT_23_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL} -#define STMT_23 \ +#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 24 +#define STMT_24_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL} +#define STMT_24 \ "SELECT l.wc_id, l.local_relpath FROM nodes as l " \ "LEFT OUTER JOIN nodes as r " \ "ON l.wc_id = r.wc_id " \ @@ -400,9 +421,9 @@ " OR (l.repos_path IS NOT (CASE WHEN (r.local_relpath) = '' THEN (CASE WHEN (r.repos_path) = '' THEN (l.local_relpath) WHEN (l.local_relpath) = '' THEN (r.repos_path) ELSE (r.repos_path) || '/' || (l.local_relpath) END) WHEN (r.repos_path) = '' THEN (CASE WHEN (r.local_relpath) = '' THEN (l.local_relpath) WHEN SUBSTR((l.local_relpath), 1, LENGTH(r.local_relpath)) = (r.local_relpath) THEN CASE WHEN LENGTH(r.local_relpath) = LENGTH(l.local_relpath) THEN '' WHEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1, 1) = '/' THEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+2) END END) WHEN SUBSTR((l.local_relpath), 1, LENGTH(r.local_relpath)) = (r.local_relpath) THEN CASE WHEN LENGTH(r.local_relpath) = LENGTH(l.local_relpath) THEN (r.repos_path) WHEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1, 1) = '/' THEN (r.repos_path) || SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1) END END))) " \ "" -#define STMT_UPGRADE_TO_32 24 -#define STMT_24_INFO {"STMT_UPGRADE_TO_32", NULL} -#define STMT_24 \ +#define STMT_UPGRADE_TO_32 25 +#define STMT_25_INFO {"STMT_UPGRADE_TO_32", NULL} +#define STMT_25 \ "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \ "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \ "CREATE INDEX I_EXTERNALS_PARENT ON EXTERNALS (wc_id, parent_relpath); " \ @@ -482,6 +503,7 @@ STMT_22, \ STMT_23, \ STMT_24, \ + STMT_25, \ NULL \ } @@ -512,5 +534,6 @@ STMT_22_INFO, \ STMT_23_INFO, \ STMT_24_INFO, \ + STMT_25_INFO, \ {NULL, NULL} \ } diff --git a/contrib/subversion/subversion/libsvn_wc/wc-metadata.sql b/contrib/subversion/subversion/libsvn_wc/wc-metadata.sql index d2a61613a..848293d2c 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc-metadata.sql +++ b/contrib/subversion/subversion/libsvn_wc/wc-metadata.sql @@ -573,6 +573,54 @@ CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, local_relpath); /* ------------------------------------------------------------------------- */ +/* This statement provides SQLite with the necessary information about our + indexes to make better decisions in the query planner. + + For every interesting index this contains a number of rows where the + statistics ar calculated for and then for every column in the index the + average number of rows with the same value in all columns left of this + column including the column itself. + + See http://www.sqlite.org/fileformat2.html#stat1tab for more details. + + The important thing here is that this tells Sqlite that the wc_id column + of the NODES and ACTUAL_NODE table is usually a single value, so queries + should use more than one column for index usage. + + The current hints describe NODES+ACTUAL_NODE as a working copy with + 8000 nodes in 1 a single working copy(=wc_id), 10 nodes per directory + and an average of 2 op-depth layers per node. + + The number of integers must be number of index columns + 1, which is + verified via the test_schema_statistics() test. + */ +-- STMT_INSTALL_SCHEMA_STATISTICS +ANALYZE sqlite_master; /* Creates empty sqlite_stat1 if necessary */ + +INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES + ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); +INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES + ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); +/* Tell a lie: We ignore that 99.9% of all moved_to values are NULL */ +INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES + ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); + +INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES + ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); +INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES + ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); + +INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES + ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); + +INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES + ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); + +/* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is + a INTEGER PRIMARY KEY AUTOINCREMENT table */ + +ANALYZE sqlite_master; /* Loads sqlite_stat1 data for query optimizer */ +/* ------------------------------------------------------------------------- */ /* Format 20 introduces NODES and removes BASE_NODE and WORKING_NODE */ diff --git a/contrib/subversion/subversion/libsvn_wc/wc-queries.h b/contrib/subversion/subversion/libsvn_wc/wc-queries.h index 950f6257f..0246ee50b 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc-queries.h +++ b/contrib/subversion/subversion/libsvn_wc/wc-queries.h @@ -1,4 +1,4 @@ -/* This file is automatically generated from wc-queries.sql and .dist_sandbox/subversion-1.8.1/subversion/libsvn_wc/token-map.h. +/* This file is automatically generated from wc-queries.sql and .dist_sandbox/subversion-1.8.8/subversion/libsvn_wc/token-map.h. * Do not edit this file -- edit the source and rerun gen-make.py */ #define STMT_SELECT_NODE_INFO 0 @@ -1990,17 +1990,22 @@ #define STMT_SELECT_MOVED_PAIR3 190 #define STMT_190_INFO {"STMT_SELECT_MOVED_PAIR3", NULL} #define STMT_190 \ + "SELECT local_relpath, moved_to, op_depth, kind FROM nodes " \ + "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \ + " AND moved_to IS NOT NULL " \ + "UNION ALL " \ "SELECT local_relpath, moved_to, op_depth, kind FROM nodes " \ "WHERE wc_id = ?1 " \ - " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ + " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ " AND op_depth > ?3 " \ " AND moved_to IS NOT NULL " \ + "ORDER BY local_relpath, op_depth " \ "" #define STMT_SELECT_MOVED_OUTSIDE 191 #define STMT_191_INFO {"STMT_SELECT_MOVED_OUTSIDE", NULL} #define STMT_191 \ - "SELECT local_relpath, moved_to FROM nodes " \ + "SELECT local_relpath, moved_to, op_depth FROM nodes " \ "WHERE wc_id = ?1 " \ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ " AND op_depth >= ?3 " \ @@ -2299,9 +2304,30 @@ " local_relpath); " \ "" -#define STMT_UPGRADE_TO_20 209 -#define STMT_209_INFO {"STMT_UPGRADE_TO_20", NULL} +#define STMT_INSTALL_SCHEMA_STATISTICS 209 +#define STMT_209_INFO {"STMT_INSTALL_SCHEMA_STATISTICS", NULL} #define STMT_209 \ + "ANALYZE sqlite_master; " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); " \ + "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \ + " ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); " \ + "ANALYZE sqlite_master; " \ + "" + +#define STMT_UPGRADE_TO_20 210 +#define STMT_210_INFO {"STMT_UPGRADE_TO_20", NULL} +#define STMT_210 \ "UPDATE BASE_NODE SET checksum = (SELECT checksum FROM pristine " \ " WHERE md5_checksum = BASE_NODE.checksum) " \ "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = BASE_NODE.checksum); " \ @@ -2342,59 +2368,59 @@ "PRAGMA user_version = 20; " \ "" -#define STMT_UPGRADE_TO_21 210 -#define STMT_210_INFO {"STMT_UPGRADE_TO_21", NULL} -#define STMT_210 \ +#define STMT_UPGRADE_TO_21 211 +#define STMT_211_INFO {"STMT_UPGRADE_TO_21", NULL} +#define STMT_211 \ "PRAGMA user_version = 21; " \ "" -#define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 211 -#define STMT_211_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL} -#define STMT_211 \ +#define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 212 +#define STMT_212_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL} +#define STMT_212 \ "SELECT wc_id, local_relpath, tree_conflict_data " \ "FROM actual_node " \ "WHERE tree_conflict_data IS NOT NULL " \ "" -#define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 212 -#define STMT_212_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL} -#define STMT_212 \ +#define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 213 +#define STMT_213_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL} +#define STMT_213 \ "UPDATE actual_node SET tree_conflict_data = NULL " \ "" -#define STMT_UPGRADE_TO_22 213 -#define STMT_213_INFO {"STMT_UPGRADE_TO_22", NULL} -#define STMT_213 \ +#define STMT_UPGRADE_TO_22 214 +#define STMT_214_INFO {"STMT_UPGRADE_TO_22", NULL} +#define STMT_214 \ "UPDATE actual_node SET tree_conflict_data = conflict_data; " \ "UPDATE actual_node SET conflict_data = NULL; " \ "PRAGMA user_version = 22; " \ "" -#define STMT_UPGRADE_TO_23 214 -#define STMT_214_INFO {"STMT_UPGRADE_TO_23", NULL} -#define STMT_214 \ +#define STMT_UPGRADE_TO_23 215 +#define STMT_215_INFO {"STMT_UPGRADE_TO_23", NULL} +#define STMT_215 \ "PRAGMA user_version = 23; " \ "" -#define STMT_UPGRADE_23_HAS_WORKING_NODES 215 -#define STMT_215_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL} -#define STMT_215 \ +#define STMT_UPGRADE_23_HAS_WORKING_NODES 216 +#define STMT_216_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL} +#define STMT_216 \ "SELECT 1 FROM nodes WHERE op_depth > 0 " \ "LIMIT 1 " \ "" -#define STMT_UPGRADE_TO_24 216 -#define STMT_216_INFO {"STMT_UPGRADE_TO_24", NULL} -#define STMT_216 \ +#define STMT_UPGRADE_TO_24 217 +#define STMT_217_INFO {"STMT_UPGRADE_TO_24", NULL} +#define STMT_217 \ "UPDATE pristine SET refcount = " \ " (SELECT COUNT(*) FROM nodes " \ " WHERE checksum = pristine.checksum ); " \ "PRAGMA user_version = 24; " \ "" -#define STMT_UPGRADE_TO_25 217 -#define STMT_217_INFO {"STMT_UPGRADE_TO_25", NULL} -#define STMT_217 \ +#define STMT_UPGRADE_TO_25 218 +#define STMT_218_INFO {"STMT_UPGRADE_TO_25", NULL} +#define STMT_218 \ "DROP VIEW IF EXISTS NODES_CURRENT; " \ "CREATE VIEW NODES_CURRENT AS " \ " SELECT * FROM nodes " \ @@ -2406,9 +2432,9 @@ "PRAGMA user_version = 25; " \ "" -#define STMT_UPGRADE_TO_26 218 -#define STMT_218_INFO {"STMT_UPGRADE_TO_26", NULL} -#define STMT_218 \ +#define STMT_UPGRADE_TO_26 219 +#define STMT_219_INFO {"STMT_UPGRADE_TO_26", NULL} +#define STMT_219 \ "DROP VIEW IF EXISTS NODES_BASE; " \ "CREATE VIEW NODES_BASE AS " \ " SELECT * FROM nodes " \ @@ -2416,15 +2442,15 @@ "PRAGMA user_version = 26; " \ "" -#define STMT_UPGRADE_TO_27 219 -#define STMT_219_INFO {"STMT_UPGRADE_TO_27", NULL} -#define STMT_219 \ +#define STMT_UPGRADE_TO_27 220 +#define STMT_220_INFO {"STMT_UPGRADE_TO_27", NULL} +#define STMT_220 \ "PRAGMA user_version = 27; " \ "" -#define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 220 -#define STMT_220_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL} -#define STMT_220 \ +#define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 221 +#define STMT_221_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL} +#define STMT_221 \ "SELECT 1 FROM actual_node " \ "WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL) " \ " AND (conflict_new IS NULL) AND (conflict_working IS NULL) " \ @@ -2432,18 +2458,18 @@ "LIMIT 1 " \ "" -#define STMT_UPGRADE_TO_28 221 -#define STMT_221_INFO {"STMT_UPGRADE_TO_28", NULL} -#define STMT_221 \ +#define STMT_UPGRADE_TO_28 222 +#define STMT_222_INFO {"STMT_UPGRADE_TO_28", NULL} +#define STMT_222 \ "UPDATE NODES SET checksum = (SELECT checksum FROM pristine " \ " WHERE md5_checksum = nodes.checksum) " \ "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = nodes.checksum); " \ "PRAGMA user_version = 28; " \ "" -#define STMT_UPGRADE_TO_29 222 -#define STMT_222_INFO {"STMT_UPGRADE_TO_29", NULL} -#define STMT_222 \ +#define STMT_UPGRADE_TO_29 223 +#define STMT_223_INFO {"STMT_UPGRADE_TO_29", NULL} +#define STMT_223 \ "DROP TRIGGER IF EXISTS nodes_update_checksum_trigger; " \ "DROP TRIGGER IF EXISTS nodes_insert_trigger; " \ "DROP TRIGGER IF EXISTS nodes_delete_trigger; " \ @@ -2473,9 +2499,9 @@ "PRAGMA user_version = 29; " \ "" -#define STMT_UPGRADE_TO_30 223 -#define STMT_223_INFO {"STMT_UPGRADE_TO_30", NULL} -#define STMT_223 \ +#define STMT_UPGRADE_TO_30 224 +#define STMT_224_INFO {"STMT_UPGRADE_TO_30", NULL} +#define STMT_224 \ "CREATE UNIQUE INDEX IF NOT EXISTS I_NODES_MOVED " \ "ON NODES (wc_id, moved_to, op_depth); " \ "CREATE INDEX IF NOT EXISTS I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \ @@ -2483,9 +2509,9 @@ "UPDATE nodes SET file_external=1 WHERE file_external IS NOT NULL; " \ "" -#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 224 -#define STMT_224_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL} -#define STMT_224 \ +#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 225 +#define STMT_225_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL} +#define STMT_225 \ "SELECT wc_id, local_relpath, " \ " conflict_old, conflict_working, conflict_new, prop_reject, tree_conflict_data " \ "FROM actual_node " \ @@ -2497,24 +2523,24 @@ "ORDER by wc_id, local_relpath " \ "" -#define STMT_UPGRADE_30_SET_CONFLICT 225 -#define STMT_225_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL} -#define STMT_225 \ +#define STMT_UPGRADE_30_SET_CONFLICT 226 +#define STMT_226_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL} +#define STMT_226 \ "UPDATE actual_node SET conflict_data = ?3, conflict_old = NULL, " \ " conflict_working = NULL, conflict_new = NULL, prop_reject = NULL, " \ " tree_conflict_data = NULL " \ "WHERE wc_id = ?1 and local_relpath = ?2 " \ "" -#define STMT_UPGRADE_TO_31_ALTER_TABLE 226 -#define STMT_226_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL} -#define STMT_226 \ +#define STMT_UPGRADE_TO_31_ALTER_TABLE 227 +#define STMT_227_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL} +#define STMT_227 \ "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \ "" -#define STMT_UPGRADE_TO_31_FINALIZE 227 -#define STMT_227_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL} -#define STMT_227 \ +#define STMT_UPGRADE_TO_31_FINALIZE 228 +#define STMT_228_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL} +#define STMT_228 \ "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \ "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \ "DROP INDEX I_NODES_PARENT; " \ @@ -2526,9 +2552,9 @@ "PRAGMA user_version = 31; " \ "" -#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 228 -#define STMT_228_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL} -#define STMT_228 \ +#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 229 +#define STMT_229_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL} +#define STMT_229 \ "SELECT l.wc_id, l.local_relpath FROM nodes as l " \ "LEFT OUTER JOIN nodes as r " \ "ON l.wc_id = r.wc_id " \ @@ -2540,9 +2566,9 @@ " OR (l.repos_path IS NOT (CASE WHEN (r.local_relpath) = '' THEN (CASE WHEN (r.repos_path) = '' THEN (l.local_relpath) WHEN (l.local_relpath) = '' THEN (r.repos_path) ELSE (r.repos_path) || '/' || (l.local_relpath) END) WHEN (r.repos_path) = '' THEN (CASE WHEN (r.local_relpath) = '' THEN (l.local_relpath) WHEN SUBSTR((l.local_relpath), 1, LENGTH(r.local_relpath)) = (r.local_relpath) THEN CASE WHEN LENGTH(r.local_relpath) = LENGTH(l.local_relpath) THEN '' WHEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1, 1) = '/' THEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+2) END END) WHEN SUBSTR((l.local_relpath), 1, LENGTH(r.local_relpath)) = (r.local_relpath) THEN CASE WHEN LENGTH(r.local_relpath) = LENGTH(l.local_relpath) THEN (r.repos_path) WHEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1, 1) = '/' THEN (r.repos_path) || SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1) END END))) " \ "" -#define STMT_UPGRADE_TO_32 229 -#define STMT_229_INFO {"STMT_UPGRADE_TO_32", NULL} -#define STMT_229 \ +#define STMT_UPGRADE_TO_32 230 +#define STMT_230_INFO {"STMT_UPGRADE_TO_32", NULL} +#define STMT_230 \ "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \ "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \ "CREATE INDEX I_EXTERNALS_PARENT ON EXTERNALS (wc_id, parent_relpath); " \ @@ -2595,9 +2621,9 @@ "DROP TABLE ACTUAL_NODE_BACKUP; " \ "" -#define STMT_VERIFICATION_TRIGGERS 230 -#define STMT_230_INFO {"STMT_VERIFICATION_TRIGGERS", NULL} -#define STMT_230 \ +#define STMT_VERIFICATION_TRIGGERS 231 +#define STMT_231_INFO {"STMT_VERIFICATION_TRIGGERS", NULL} +#define STMT_231 \ "CREATE TEMPORARY TRIGGER no_repository_updates BEFORE UPDATE ON repository " \ "BEGIN " \ " SELECT RAISE(FAIL, 'Updates to REPOSITORY are not allowed.'); " \ @@ -2869,6 +2895,7 @@ STMT_228, \ STMT_229, \ STMT_230, \ + STMT_231, \ NULL \ } @@ -3105,5 +3132,6 @@ STMT_228_INFO, \ STMT_229_INFO, \ STMT_230_INFO, \ + STMT_231_INFO, \ {NULL, NULL} \ } diff --git a/contrib/subversion/subversion/libsvn_wc/wc-queries.sql b/contrib/subversion/subversion/libsvn_wc/wc-queries.sql index d5f7e8255..a8388a3a2 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc-queries.sql +++ b/contrib/subversion/subversion/libsvn_wc/wc-queries.sql @@ -1565,13 +1565,18 @@ WHERE wc_id = ?1 -- STMT_SELECT_MOVED_PAIR3 SELECT local_relpath, moved_to, op_depth, kind FROM nodes +WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 + AND moved_to IS NOT NULL +UNION ALL +SELECT local_relpath, moved_to, op_depth, kind FROM nodes WHERE wc_id = ?1 - AND (local_relpath = ?2 OR IS_STRICT_DESCENDANT_OF(local_relpath, ?2)) + AND IS_STRICT_DESCENDANT_OF(local_relpath, ?2) AND op_depth > ?3 AND moved_to IS NOT NULL +ORDER BY local_relpath, op_depth -- STMT_SELECT_MOVED_OUTSIDE -SELECT local_relpath, moved_to FROM nodes +SELECT local_relpath, moved_to, op_depth FROM nodes WHERE wc_id = ?1 AND (local_relpath = ?2 OR IS_STRICT_DESCENDANT_OF(local_relpath, ?2)) AND op_depth >= ?3 diff --git a/contrib/subversion/subversion/libsvn_wc/wc.h b/contrib/subversion/subversion/libsvn_wc/wc.h index 9438e2b3b..70c591ecb 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc.h +++ b/contrib/subversion/subversion/libsvn_wc/wc.h @@ -157,6 +157,8 @@ extern "C" { * The bump to 31 added the inherited_props column in the NODES table. * Bumped in r1395109. * + * == 1.8.x shipped with format 31 + * * Please document any further format changes here. */ diff --git a/contrib/subversion/subversion/libsvn_wc/wc_db.c b/contrib/subversion/subversion/libsvn_wc/wc_db.c index e41165765..7d038cf57 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc_db.c +++ b/contrib/subversion/subversion/libsvn_wc/wc_db.c @@ -1390,6 +1390,15 @@ does_node_exist(svn_boolean_t *exists, return svn_error_trace(svn_sqlite__reset(stmt)); } +svn_error_t * +svn_wc__db_install_schema_statistics(svn_sqlite__db_t *sdb, + apr_pool_t *scratch_pool) +{ + SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_INSTALL_SCHEMA_STATISTICS)); + + return SVN_NO_ERROR; +} + /* Helper for create_db(). Initializes our wc.db schema. */ static svn_error_t * @@ -1417,6 +1426,8 @@ init_db(/* output values */ SVN_ERR(create_repos_id(repos_id, repos_root_url, repos_uuid, db, scratch_pool)); + SVN_ERR(svn_wc__db_install_schema_statistics(db, scratch_pool)); + /* Insert the wcroot. */ /* ### Right now, this just assumes wc metadata is being stored locally. */ SVN_ERR(svn_sqlite__get_statement(&stmt, db, STMT_INSERT_WCROOT)); @@ -2248,6 +2259,12 @@ db_base_remove(svn_wc__db_wcroot_t *wcroot, * might introduce actual-only nodes without direct parents, * and we're not yet sure if other existing code is prepared * to handle such nodes. To be revisited post-1.8. + * + * ### In case of a conflict we are most likely creating WORKING nodes + * describing a copy of what was in BASE. The move information + * should be updated to describe a move from the WORKING layer. + * When stored that way the resolver of the tree conflict still has + * the knowledge of what was moved. */ SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb, STMT_SELECT_MOVED_OUTSIDE)); @@ -4545,6 +4562,21 @@ db_op_copy(svn_wc__db_wcroot_t *src_wcroot, } else { + if (copyfrom_relpath) + { + const char *repos_root_url; + const char *repos_uuid; + + /* Pass the right repos-id for the destination db! */ + + SVN_ERR(svn_wc__db_fetch_repos_info(&repos_root_url, &repos_uuid, + src_wcroot->sdb, copyfrom_id, + scratch_pool)); + + SVN_ERR(create_repos_id(©from_id, repos_root_url, repos_uuid, + dst_wcroot->sdb, scratch_pool)); + } + SVN_ERR(cross_db_copy(src_wcroot, src_relpath, dst_wcroot, dst_relpath, dst_presence, dst_op_depth, dst_np_op_depth, kind, @@ -6388,6 +6420,7 @@ op_revert_txn(void *baton, { SVN_ERR(svn_wc__db_resolve_break_moved_away_internal(wcroot, local_relpath, + op_depth, scratch_pool)); } else @@ -6554,10 +6587,12 @@ op_revert_recursive_txn(void *baton, while (have_row) { const char *move_src_relpath = svn_sqlite__column_text(stmt, 0, NULL); + int move_op_depth = svn_sqlite__column_int(stmt, 2); svn_error_t *err; err = svn_wc__db_resolve_break_moved_away_internal(wcroot, move_src_relpath, + move_op_depth, scratch_pool); if (err) return svn_error_compose_create(err, svn_sqlite__reset(stmt)); diff --git a/contrib/subversion/subversion/libsvn_wc/wc_db.h b/contrib/subversion/subversion/libsvn_wc/wc_db.h index 88e455fb5..a4ed3f976 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc_db.h +++ b/contrib/subversion/subversion/libsvn_wc/wc_db.h @@ -2831,6 +2831,16 @@ svn_wc__db_scan_deletion(const char **base_del_abspath, @{ */ +/* Installs or updates Sqlite schema statistics for the current (aka latest) + working copy schema. + + This function should be called once on initializing the database and after + an schema update completes */ +svn_error_t * +svn_wc__db_install_schema_statistics(svn_sqlite__db_t *sdb, + apr_pool_t *scratch_pool); + + /* Create a new wc.db file for LOCAL_DIR_ABSPATH, which is going to be a working copy for the repository REPOS_ROOT_URL with uuid REPOS_UUID. Return the raw sqlite handle, repository id and working copy id @@ -3382,7 +3392,14 @@ svn_wc__db_resolve_delete_raise_moved_away(svn_wc__db_t *db, apr_pool_t *scratch_pool); /* Like svn_wc__db_resolve_delete_raise_moved_away this should be - combined. */ + combined. + + ### LOCAL_ABSPATH specifies the move origin, but the move origin + ### is not necessary unique enough. This function needs an op_root_abspath + ### argument to differentiate between different origins. + + ### See move_tests.py: move_many_update_delete for an example case. + */ svn_error_t * svn_wc__db_resolve_break_moved_away(svn_wc__db_t *db, const char *local_abspath, diff --git a/contrib/subversion/subversion/libsvn_wc/wc_db_private.h b/contrib/subversion/subversion/libsvn_wc/wc_db_private.h index 0679b32e7..e8f31d132 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc_db_private.h +++ b/contrib/subversion/subversion/libsvn_wc/wc_db_private.h @@ -442,9 +442,12 @@ svn_wc__db_bump_moved_away(svn_wc__db_wcroot_t *wcroot, svn_wc__db_t *db, apr_pool_t *scratch_pool); +/* Unbreak the move from LOCAL_RELPATH on op-depth in WCROOT, by making + the destination a normal copy */ svn_error_t * svn_wc__db_resolve_break_moved_away_internal(svn_wc__db_wcroot_t *wcroot, const char *local_relpath, + int op_depth, apr_pool_t *scratch_pool); svn_error_t * diff --git a/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c b/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c index a8cce76c0..7f4f85399 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c +++ b/contrib/subversion/subversion/libsvn_wc/wc_db_update_move.c @@ -2284,30 +2284,34 @@ svn_wc__db_bump_moved_away(svn_wc__db_wcroot_t *wcroot, svn_wc__db_t *db, apr_pool_t *scratch_pool) { - const char *dummy1, *move_dst_op_root_relpath; - const char *move_src_root_relpath, *move_src_op_root_relpath; apr_hash_t *src_done; SVN_ERR(svn_sqlite__exec_statements(wcroot->sdb, STMT_CREATE_UPDATE_MOVE_LIST)); - SVN_ERR(svn_wc__db_op_depth_moved_to(&dummy1, &move_dst_op_root_relpath, - &move_src_root_relpath, - &move_src_op_root_relpath, 0, - wcroot, local_relpath, - scratch_pool, scratch_pool)); - - if (move_src_root_relpath) + if (local_relpath[0] != '\0') { - if (strcmp(move_src_root_relpath, local_relpath)) + const char *dummy1, *move_dst_op_root_relpath; + const char *move_src_root_relpath, *move_src_op_root_relpath; + + /* Is the root of the update moved away? (Impossible for the wcroot) */ + SVN_ERR(svn_wc__db_op_depth_moved_to(&dummy1, &move_dst_op_root_relpath, + &move_src_root_relpath, + &move_src_op_root_relpath, 0, + wcroot, local_relpath, + scratch_pool, scratch_pool)); + + if (move_src_root_relpath) { - SVN_ERR(bump_mark_tree_conflict(wcroot, move_src_root_relpath, - move_src_op_root_relpath, - move_dst_op_root_relpath, - db, scratch_pool)); - return SVN_NO_ERROR; + if (strcmp(move_src_root_relpath, local_relpath)) + { + SVN_ERR(bump_mark_tree_conflict(wcroot, move_src_root_relpath, + move_src_op_root_relpath, + move_dst_op_root_relpath, + db, scratch_pool)); + return SVN_NO_ERROR; + } } - } src_done = apr_hash_make(scratch_pool); @@ -2440,17 +2444,23 @@ break_move(svn_wc__db_wcroot_t *wcroot, svn_error_t * svn_wc__db_resolve_break_moved_away_internal(svn_wc__db_wcroot_t *wcroot, const char *local_relpath, + int op_depth, apr_pool_t *scratch_pool) { const char *dummy1, *move_dst_op_root_relpath; const char *dummy2, *move_src_op_root_relpath; + /* We want to include the passed op-depth, but the function does a > check */ SVN_ERR(svn_wc__db_op_depth_moved_to(&dummy1, &move_dst_op_root_relpath, &dummy2, &move_src_op_root_relpath, - relpath_depth(local_relpath) - 1, + op_depth - 1, wcroot, local_relpath, scratch_pool, scratch_pool)); + + SVN_ERR_ASSERT(move_src_op_root_relpath != NULL + && move_dst_op_root_relpath != NULL); + SVN_ERR(break_move(wcroot, local_relpath, relpath_depth(move_src_op_root_relpath), move_dst_op_root_relpath, @@ -2519,6 +2529,7 @@ svn_wc__db_resolve_break_moved_away(svn_wc__db_t *db, SVN_WC__DB_WITH_TXN( svn_wc__db_resolve_break_moved_away_internal(wcroot, local_relpath, + relpath_depth(local_relpath), scratch_pool), wcroot); diff --git a/contrib/subversion/subversion/libsvn_wc/wc_db_util.c b/contrib/subversion/subversion/libsvn_wc/wc_db_util.c index 39dd034c5..a6616e470 100644 --- a/contrib/subversion/subversion/libsvn_wc/wc_db_util.c +++ b/contrib/subversion/subversion/libsvn_wc/wc_db_util.c @@ -136,22 +136,6 @@ svn_wc__db_util_open_db(svn_sqlite__db_t **sdb, svn_dirent_local_style(sdb_abspath, scratch_pool)); } -#ifndef WIN32 - else - { - apr_file_t *f; - - /* A standard SQLite build creates a DB with mode 644 ^ !umask - which means the file doesn't have group/world write access - even when umask allows it. By ensuring the file exists before - SQLite gets involved we give it the permissions allowed by - umask. */ - SVN_ERR(svn_io_file_open(&f, sdb_abspath, - (APR_READ | APR_WRITE | APR_CREATE), - APR_OS_DEFAULT, scratch_pool)); - SVN_ERR(svn_io_file_close(f, scratch_pool)); - } -#endif SVN_ERR(svn_sqlite__open(sdb, sdb_abspath, smode, my_statements ? my_statements : statements, diff --git a/contrib/subversion/subversion/svn/cl.h b/contrib/subversion/subversion/svn/cl.h index 8cc358c98..8a732c7e8 100644 --- a/contrib/subversion/subversion/svn/cl.h +++ b/contrib/subversion/subversion/svn/cl.h @@ -424,12 +424,12 @@ svn_cl__time_cstring_to_human_cstring(const char **human_cstring, Increment *TEXT_CONFLICTS, *PROP_CONFLICTS, or *TREE_CONFLICTS if a conflict was encountered. - Use CWD_ABSPATH -- the absolute path of the current working - directory -- to shorten PATH into something relative to that - directory as necessary. + Use TARGET_ABSPATH and TARGET_PATH to shorten PATH into something + relative to the target as necessary. */ svn_error_t * -svn_cl__print_status(const char *cwd_abspath, +svn_cl__print_status(const char *target_abspath, + const char *target_path, const char *path, const svn_client_status_t *status, svn_boolean_t suppress_externals_placeholders, @@ -447,12 +447,12 @@ svn_cl__print_status(const char *cwd_abspath, /* Print STATUS for PATH in XML to stdout. Use POOL for temporary allocations. - Use CWD_ABSPATH -- the absolute path of the current working - directory -- to shorten PATH into something relative to that - directory as necessary. + Use TARGET_ABSPATH and TARGET_PATH to shorten PATH into something + relative to the target as necessary. */ svn_error_t * -svn_cl__print_status_xml(const char *cwd_abspath, +svn_cl__print_status_xml(const char *target_abspath, + const char *target_path, const char *path, const svn_client_status_t *status, svn_client_ctx_t *ctx, diff --git a/contrib/subversion/subversion/svn/conflict-callbacks.c b/contrib/subversion/subversion/svn/conflict-callbacks.c index d5a98ddf6..3d41ecf93 100644 --- a/contrib/subversion/subversion/svn/conflict-callbacks.c +++ b/contrib/subversion/subversion/svn/conflict-callbacks.c @@ -489,10 +489,10 @@ static const resolver_option_t text_conflict_options[] = /* Resolver options for a property conflict */ static const resolver_option_t prop_conflict_options[] = { - { "mf", N_("my version"), N_("accept my version of entire file (even " + { "mf", N_("my version"), N_("accept my version of entire property (even " "non-conflicts) [mine-full]"), svn_wc_conflict_choose_mine_full }, - { "tf", N_("their version"), N_("accept their version of entire file " + { "tf", N_("their version"), N_("accept their version of entire property " "(same) [theirs-full]"), svn_wc_conflict_choose_theirs_full }, { "dc", N_("display conflict"), N_("show conflicts in this property"), -1 }, diff --git a/contrib/subversion/subversion/svn/status-cmd.c b/contrib/subversion/subversion/svn/status-cmd.c index 0a73daccc..9840cd2bd 100644 --- a/contrib/subversion/subversion/svn/status-cmd.c +++ b/contrib/subversion/subversion/svn/status-cmd.c @@ -51,7 +51,8 @@ struct status_baton { /* These fields all correspond to the ones in the svn_cl__print_status() interface. */ - const char *cwd_abspath; + const char *target_abspath; + const char *target_path; svn_boolean_t suppress_externals_placeholders; svn_boolean_t detailed; svn_boolean_t show_last_committed; @@ -77,6 +78,8 @@ struct status_baton struct status_cache { const char *path; + const char *target_abspath; + const char *target_path; svn_client_status_t *status; }; @@ -152,10 +155,11 @@ print_status_normal_or_xml(void *baton, struct status_baton *sb = baton; if (sb->xml_mode) - return svn_cl__print_status_xml(sb->cwd_abspath, path, status, - sb->ctx, pool); + return svn_cl__print_status_xml(sb->target_abspath, sb->target_path, + path, status, sb->ctx, pool); else - return svn_cl__print_status(sb->cwd_abspath, path, status, + return svn_cl__print_status(sb->target_abspath, sb->target_path, + path, status, sb->suppress_externals_placeholders, sb->detailed, sb->show_last_committed, @@ -239,6 +243,8 @@ print_status(void *baton, const char *cl_key = apr_pstrdup(sb->cl_pool, status->changelist); struct status_cache *scache = apr_pcalloc(sb->cl_pool, sizeof(*scache)); scache->path = apr_pstrdup(sb->cl_pool, path); + scache->target_abspath = apr_pstrdup(sb->cl_pool, sb->target_abspath); + scache->target_path = apr_pstrdup(sb->cl_pool, sb->target_path); scache->status = svn_client_status_dup(status, sb->cl_pool); path_array = @@ -303,7 +309,6 @@ svn_cl__status(apr_getopt_t *os, "mode")); } - SVN_ERR(svn_dirent_get_absolute(&(sb.cwd_abspath), "", scratch_pool)); sb.suppress_externals_placeholders = (opt_state->quiet && (! opt_state->verbose)); sb.detailed = (opt_state->verbose || opt_state->update); @@ -328,6 +333,10 @@ svn_cl__status(apr_getopt_t *os, svn_pool_clear(iterpool); + SVN_ERR(svn_dirent_get_absolute(&(sb.target_abspath), target, + scratch_pool)); + sb.target_path = target; + SVN_ERR(svn_cl__check_cancel(ctx->cancel_baton)); if (opt_state->xml) @@ -349,7 +358,8 @@ svn_cl__status(apr_getopt_t *os, NULL, opt_state->quiet, /* not versioned: */ SVN_ERR_WC_NOT_WORKING_COPY, - SVN_ERR_WC_PATH_NOT_FOUND)); + SVN_ERR_WC_PATH_NOT_FOUND, + SVN_NO_ERROR)); if (opt_state->xml) SVN_ERR(print_finish_target_xml(repos_rev, iterpool)); @@ -392,6 +402,8 @@ svn_cl__status(apr_getopt_t *os, { struct status_cache *scache = APR_ARRAY_IDX(path_array, j, struct status_cache *); + sb.target_abspath = scache->target_abspath; + sb.target_path = scache->target_path; SVN_ERR(print_status_normal_or_xml(&sb, scache->path, scache->status, scratch_pool)); } diff --git a/contrib/subversion/subversion/svn/status.c b/contrib/subversion/subversion/svn/status.c index 3679bfff9..9f1ad341b 100644 --- a/contrib/subversion/subversion/svn/status.c +++ b/contrib/subversion/subversion/svn/status.c @@ -137,69 +137,84 @@ generate_status_desc(enum svn_wc_status_kind status) } /* Make a relative path containing '..' elements as needed. - RELATIVE_TO_PATH must be the path to a directory (not a file!) and - TARGET_PATH must be the path to any file or directory. Both - RELATIVE_TO_PATH and TARGET_PATH must be based on the same parent path, - i.e. they can either both be absolute or they can both be relative to the - same parent directory. Both paths are expected to be canonical. + TARGET_ABSPATH shall be the absolute version of TARGET_PATH. + TARGET_ABSPATH, TARGET_PATH and PATH shall be canonical. - If above conditions are met, a relative path that leads to TARGET_ABSPATH - from RELATIVE_TO_PATH is returned, but there is no error checking involved. + If above conditions are met, a relative path that leads to PATH + from TARGET_PATH is returned, but there is no error checking involved. - The returned path is allocated from RESULT_POOL, all other allocations are - made in SCRATCH_POOL. */ + The returned path is allocated from RESULT_POOL, all other + allocations are made in SCRATCH_POOL. */ static const char * -make_relpath(const char *relative_to_path, +make_relpath(const char *target_abspath, const char *target_path, + const char *path, apr_pool_t *result_pool, apr_pool_t *scratch_pool) { const char *la; const char *parent_dir_els = ""; + const char *abspath, *relative; + svn_error_t *err = svn_dirent_get_absolute(&abspath, path, scratch_pool); + + if (err) + { + /* We probably got passed some invalid path. */ + svn_error_clear(err); + return apr_pstrdup(result_pool, path); + } + + relative = svn_dirent_skip_ancestor(target_abspath, abspath); + if (relative) + { + return svn_dirent_join(target_path, relative, result_pool); + } /* An example: * relative_to_path = /a/b/c - * target_path = /a/x/y/z + * path = /a/x/y/z * result = ../../x/y/z * * Another example (Windows specific): * relative_to_path = F:/wc - * target_path = C:/wc + * path = C:/wc * result = C:/wc */ /* Skip the common ancestor of both paths, here '/a'. */ - la = svn_dirent_get_longest_ancestor(relative_to_path, target_path, + la = svn_dirent_get_longest_ancestor(target_abspath, abspath, scratch_pool); if (*la == '\0') { /* Nothing in common: E.g. C:/ vs F:/ on Windows */ - return apr_pstrdup(result_pool, target_path); + return apr_pstrdup(result_pool, path); } - relative_to_path = svn_dirent_skip_ancestor(la, relative_to_path); - target_path = svn_dirent_skip_ancestor(la, target_path); + relative = svn_dirent_skip_ancestor(la, target_abspath); + path = svn_dirent_skip_ancestor(la, path); /* In above example, we'd now have: * relative_to_path = b/c - * target_path = x/y/z */ + * path = x/y/z */ /* Count the elements of relative_to_path and prepend as many '..' elements - * to target_path. */ - while (*relative_to_path) + * to path. */ + while (*relative) { - svn_dirent_split(&relative_to_path, NULL, relative_to_path, + svn_dirent_split(&relative, NULL, relative, scratch_pool); parent_dir_els = svn_dirent_join(parent_dir_els, "..", scratch_pool); } - return svn_dirent_join(parent_dir_els, target_path, result_pool); + return svn_dirent_join(parent_dir_els, path, result_pool); } /* Print STATUS and PATH in a format determined by DETAILED and SHOW_LAST_COMMITTED. */ static svn_error_t * -print_status(const char *cwd_abspath, const char *path, +print_status(const char *target_abspath, + const char *target_path, + const char *path, svn_boolean_t detailed, svn_boolean_t show_last_committed, svn_boolean_t repos_locks, @@ -217,7 +232,7 @@ print_status(const char *cwd_abspath, const char *path, const char *moved_from_line = ""; const char *moved_to_line = ""; - path = make_relpath(cwd_abspath, path, pool, pool); + path = make_relpath(target_abspath, target_path, path, pool, pool); /* For historic reasons svn ignores the property status for added nodes, even if these nodes were copied and have local property changes. @@ -294,7 +309,8 @@ print_status(const char *cwd_abspath, const char *path, { const char *relpath; - relpath = make_relpath(cwd_abspath, status->moved_from_abspath, + relpath = make_relpath(target_abspath, target_path, + status->moved_from_abspath, pool, pool); relpath = svn_dirent_local_style(relpath, pool); moved_from_line = apr_pstrcat(pool, "\n > ", @@ -309,7 +325,8 @@ print_status(const char *cwd_abspath, const char *path, if (status->moved_from_abspath) { - relpath = make_relpath(cwd_abspath, status->moved_from_abspath, + relpath = make_relpath(target_abspath, target_path, + status->moved_from_abspath, pool, pool); relpath = svn_dirent_local_style(relpath, pool); moved_from_line = apr_pstrcat(pool, "\n > ", @@ -320,7 +337,8 @@ print_status(const char *cwd_abspath, const char *path, if (status->moved_to_abspath) { - relpath = make_relpath(cwd_abspath, status->moved_to_abspath, + relpath = make_relpath(target_abspath, target_path, + status->moved_to_abspath, pool, pool); relpath = svn_dirent_local_style(relpath, pool); moved_to_line = apr_pstrcat(pool, "\n > ", @@ -330,6 +348,8 @@ print_status(const char *cwd_abspath, const char *path, } } + path = svn_dirent_local_style(path, pool); + if (detailed) { char ood_status, lock_status; @@ -447,7 +467,8 @@ print_status(const char *cwd_abspath, const char *path, svn_error_t * -svn_cl__print_status_xml(const char *cwd_abspath, +svn_cl__print_status_xml(const char *target_abspath, + const char *target_path, const char *path, const svn_client_status_t *status, svn_client_ctx_t *ctx, @@ -466,7 +487,7 @@ svn_cl__print_status_xml(const char *cwd_abspath, SVN_ERR(svn_wc_conflicted_p3(NULL, NULL, &tree_conflicted, ctx->wc_ctx, local_abspath, pool)); - path = make_relpath(cwd_abspath, path, pool, pool); + path = make_relpath(target_abspath, target_path, path, pool, pool); svn_xml_make_open_tag(&sb, pool, svn_xml_normal, "entry", "path", svn_dirent_local_style(path, pool), NULL); @@ -499,14 +520,16 @@ svn_cl__print_status_xml(const char *cwd_abspath, if (status->moved_from_abspath) { - relpath = make_relpath(cwd_abspath, status->moved_from_abspath, + relpath = make_relpath(target_abspath, target_path, + status->moved_from_abspath, pool, pool); relpath = svn_dirent_local_style(relpath, pool); svn_hash_sets(att_hash, "moved-from", relpath); } if (status->moved_to_abspath) { - relpath = make_relpath(cwd_abspath, status->moved_to_abspath, + relpath = make_relpath(target_abspath, target_path, + status->moved_to_abspath, pool, pool); relpath = svn_dirent_local_style(relpath, pool); svn_hash_sets(att_hash, "moved-to", relpath); @@ -551,7 +574,8 @@ svn_cl__print_status_xml(const char *cwd_abspath, /* Called by status-cmd.c */ svn_error_t * -svn_cl__print_status(const char *cwd_abspath, +svn_cl__print_status(const char *target_abspath, + const char *target_path, const char *path, const svn_client_status_t *status, svn_boolean_t suppress_externals_placeholders, @@ -600,7 +624,7 @@ svn_cl__print_status(const char *cwd_abspath, return SVN_NO_ERROR; } - return print_status(cwd_abspath, svn_dirent_local_style(path, pool), + return print_status(target_abspath, target_path, path, detailed, show_last_committed, repos_locks, status, text_conflicts, prop_conflicts, tree_conflicts, ctx, pool); diff --git a/contrib/subversion/subversion/svn/svn.c b/contrib/subversion/subversion/svn/svn.c index 5432e8bac..52760dd1e 100644 --- a/contrib/subversion/subversion/svn/svn.c +++ b/contrib/subversion/subversion/svn/svn.c @@ -56,6 +56,7 @@ #include "private/svn_opt_private.h" #include "private/svn_cmdline_private.h" +#include "private/svn_subr_private.h" #include "svn_private_config.h" @@ -1640,7 +1641,7 @@ check_lib_versions(void) }; SVN_VERSION_DEFINE(my_version); - return svn_ver_check_list(&my_version, checklist); + return svn_ver_check_list2(&my_version, checklist, svn_ver_equal); } @@ -2938,6 +2939,10 @@ sub_main(int argc, const char *argv[], apr_pool_t *pool) "Subversion")); } + /* Ensure that stdout is flushed, so the user will see any write errors. + This makes sure that output is not silently lost. */ + err = svn_error_compose_create(err, svn_cmdline_fflush(stdout)); + return EXIT_ERROR(err); } else diff --git a/contrib/subversion/subversion/svnadmin/svnadmin.c b/contrib/subversion/subversion/svnadmin/svnadmin.c index 2a9d63ed6..d40525ec9 100644 --- a/contrib/subversion/subversion/svnadmin/svnadmin.c +++ b/contrib/subversion/subversion/svnadmin/svnadmin.c @@ -140,7 +140,7 @@ check_lib_versions(void) }; SVN_VERSION_DEFINE(my_version); - return svn_ver_check_list(&my_version, checklist); + return svn_ver_check_list2(&my_version, checklist, svn_ver_equal); } @@ -756,39 +756,6 @@ subcommand_deltify(apr_getopt_t *os, void *baton, apr_pool_t *pool) return SVN_NO_ERROR; } -static void -cmdline_stream_printf(svn_stream_t *stream, - apr_pool_t *pool, - const char *fmt, - ...) - __attribute__((format(printf, 3, 4))); - -static void -cmdline_stream_printf(svn_stream_t *stream, - apr_pool_t *pool, - const char *fmt, - ...) -{ - const char *message; - va_list ap; - svn_error_t *err; - const char *out; - - va_start(ap, fmt); - message = apr_pvsprintf(pool, fmt, ap); - va_end(ap); - - err = svn_cmdline_cstring_from_utf8(&out, message, pool); - - if (err) - { - svn_error_clear(err); - out = svn_cmdline_cstring_from_utf8_fuzzy(message, pool); - } - - svn_error_clear(svn_stream_puts(stream, out)); -} - /* Implementation of svn_repos_notify_func_t to wrap the output to a response stream for svn_repos_dump_fs2() and svn_repos_verify_fs() */ @@ -798,35 +765,36 @@ repos_notify_handler(void *baton, apr_pool_t *scratch_pool) { svn_stream_t *feedback_stream = baton; + apr_size_t len; switch (notify->action) { case svn_repos_notify_warning: - cmdline_stream_printf(feedback_stream, scratch_pool, - "WARNING 0x%04x: %s\n", notify->warning, - notify->warning_str); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + "WARNING 0x%04x: %s\n", notify->warning, + notify->warning_str)); return; case svn_repos_notify_dump_rev_end: - cmdline_stream_printf(feedback_stream, scratch_pool, - _("* Dumped revision %ld.\n"), - notify->revision); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("* Dumped revision %ld.\n"), + notify->revision)); return; case svn_repos_notify_verify_rev_end: - cmdline_stream_printf(feedback_stream, scratch_pool, - _("* Verified revision %ld.\n"), - notify->revision); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("* Verified revision %ld.\n"), + notify->revision)); return; case svn_repos_notify_verify_rev_structure: if (notify->revision == SVN_INVALID_REVNUM) - cmdline_stream_printf(feedback_stream, scratch_pool, - _("* Verifying repository metadata ...\n")); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("* Verifying repository metadata ...\n"))); else - cmdline_stream_printf(feedback_stream, scratch_pool, - _("* Verifying metadata at revision %ld ...\n"), - notify->revision); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("* Verifying metadata at revision %ld ...\n"), + notify->revision)); return; case svn_repos_notify_pack_shard_start: @@ -834,14 +802,14 @@ repos_notify_handler(void *baton, const char *shardstr = apr_psprintf(scratch_pool, "%" APR_INT64_T_FMT, notify->shard); - cmdline_stream_printf(feedback_stream, scratch_pool, - _("Packing revisions in shard %s..."), - shardstr); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("Packing revisions in shard %s..."), + shardstr)); } return; case svn_repos_notify_pack_shard_end: - cmdline_stream_printf(feedback_stream, scratch_pool, _("done.\n")); + svn_error_clear(svn_stream_puts(feedback_stream, _("done.\n"))); return; case svn_repos_notify_pack_shard_start_revprop: @@ -849,30 +817,30 @@ repos_notify_handler(void *baton, const char *shardstr = apr_psprintf(scratch_pool, "%" APR_INT64_T_FMT, notify->shard); - cmdline_stream_printf(feedback_stream, scratch_pool, - _("Packing revprops in shard %s..."), - shardstr); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("Packing revprops in shard %s..."), + shardstr)); } return; case svn_repos_notify_pack_shard_end_revprop: - cmdline_stream_printf(feedback_stream, scratch_pool, _("done.\n")); + svn_error_clear(svn_stream_puts(feedback_stream, _("done.\n"))); return; case svn_repos_notify_load_txn_committed: if (notify->old_revision == SVN_INVALID_REVNUM) { - cmdline_stream_printf(feedback_stream, scratch_pool, - _("\n------- Committed revision %ld >>>\n\n"), - notify->new_revision); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("\n------- Committed revision %ld >>>\n\n"), + notify->new_revision)); } else { - cmdline_stream_printf(feedback_stream, scratch_pool, - _("\n------- Committed new rev %ld" - " (loaded from original rev %ld" - ") >>>\n\n"), notify->new_revision, - notify->old_revision); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("\n------- Committed new rev %ld" + " (loaded from original rev %ld" + ") >>>\n\n"), notify->new_revision, + notify->old_revision)); } return; @@ -881,27 +849,27 @@ repos_notify_handler(void *baton, switch (notify->node_action) { case svn_node_action_change: - cmdline_stream_printf(feedback_stream, scratch_pool, + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, _(" * editing path : %s ..."), - notify->path); + notify->path)); break; case svn_node_action_delete: - cmdline_stream_printf(feedback_stream, scratch_pool, + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, _(" * deleting path : %s ..."), - notify->path); + notify->path)); break; case svn_node_action_add: - cmdline_stream_printf(feedback_stream, scratch_pool, + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, _(" * adding path : %s ..."), - notify->path); + notify->path)); break; case svn_node_action_replace: - cmdline_stream_printf(feedback_stream, scratch_pool, + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, _(" * replacing path : %s ..."), - notify->path); + notify->path)); break; } @@ -909,30 +877,32 @@ repos_notify_handler(void *baton, return; case svn_repos_notify_load_node_done: - cmdline_stream_printf(feedback_stream, scratch_pool, _(" done.\n")); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + "%s", _(" done.\n"))); return; case svn_repos_notify_load_copied_node: - cmdline_stream_printf(feedback_stream, scratch_pool, "COPIED..."); + len = 9; + svn_error_clear(svn_stream_write(feedback_stream, "COPIED...", &len)); return; case svn_repos_notify_load_txn_start: - cmdline_stream_printf(feedback_stream, scratch_pool, - _("<<< Started new transaction, based on " - "original revision %ld\n"), - notify->old_revision); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("<<< Started new transaction, based on " + "original revision %ld\n"), + notify->old_revision)); return; case svn_repos_notify_load_skipped_rev: - cmdline_stream_printf(feedback_stream, scratch_pool, - _("<<< Skipped original revision %ld\n"), - notify->old_revision); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("<<< Skipped original revision %ld\n"), + notify->old_revision)); return; case svn_repos_notify_load_normalized_mergeinfo: - cmdline_stream_printf(feedback_stream, scratch_pool, - _(" removing '\\r' from %s ..."), - SVN_PROP_MERGEINFO); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _(" removing '\\r' from %s ..."), + SVN_PROP_MERGEINFO)); return; case svn_repos_notify_mutex_acquired: @@ -941,17 +911,17 @@ repos_notify_handler(void *baton, return; case svn_repos_notify_recover_start: - cmdline_stream_printf(feedback_stream, scratch_pool, - _("Repository lock acquired.\n" - "Please wait; recovering the" - " repository may take some time...\n")); + svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool, + _("Repository lock acquired.\n" + "Please wait; recovering the" + " repository may take some time...\n"))); return; case svn_repos_notify_upgrade_start: - cmdline_stream_printf(feedback_stream, scratch_pool, - _("Repository lock acquired.\n" - "Please wait; upgrading the" - " repository may take some time...\n")); + svn_error_clear(svn_stream_puts(feedback_stream, + _("Repository lock acquired.\n" + "Please wait; upgrading the" + " repository may take some time...\n"))); return; default: diff --git a/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c b/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c index dd4e4ab2c..a2f3fe2b4 100644 --- a/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c +++ b/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c @@ -45,6 +45,7 @@ #include "private/svn_mergeinfo_private.h" #include "private/svn_cmdline_private.h" +#include "private/svn_subr_private.h" #ifdef _WIN32 typedef apr_status_t (__stdcall *open_fn_t)(apr_file_t **, apr_pool_t *); @@ -1176,7 +1177,7 @@ check_lib_versions(void) }; SVN_VERSION_DEFINE(my_version); - return svn_ver_check_list(&my_version, checklist); + return svn_ver_check_list2(&my_version, checklist, svn_ver_equal); } diff --git a/contrib/subversion/subversion/svnlook/svnlook.c b/contrib/subversion/subversion/svnlook/svnlook.c index 0006a8fef..8162e414e 100644 --- a/contrib/subversion/subversion/svnlook/svnlook.c +++ b/contrib/subversion/subversion/svnlook/svnlook.c @@ -58,6 +58,7 @@ #include "private/svn_cmdline_private.h" #include "private/svn_fspath.h" #include "private/svn_io_private.h" +#include "private/svn_subr_private.h" #include "svn_private_config.h" @@ -397,7 +398,7 @@ check_lib_versions(void) }; SVN_VERSION_DEFINE(my_version); - return svn_ver_check_list(&my_version, checklist); + return svn_ver_check_list2(&my_version, checklist, svn_ver_equal); } diff --git a/contrib/subversion/subversion/svnmucc/svnmucc.c b/contrib/subversion/subversion/svnmucc/svnmucc.c index 076a9ee92..d53f18f6f 100644 --- a/contrib/subversion/subversion/svnmucc/svnmucc.c +++ b/contrib/subversion/subversion/svnmucc/svnmucc.c @@ -57,6 +57,7 @@ #include "private/svn_cmdline_private.h" #include "private/svn_ra_private.h" #include "private/svn_string_private.h" +#include "private/svn_subr_private.h" #include "svn_private_config.h" @@ -85,7 +86,7 @@ init(const char *application) if (svn_cmdline_init(application, stderr)) exit(EXIT_FAILURE); - err = svn_ver_check_list(&my_version, checklist); + err = svn_ver_check_list2(&my_version, checklist, svn_ver_equal); if (err) handle_error(err, NULL); @@ -1429,7 +1430,14 @@ main(int argc, const char **argv) if (! anchor) anchor = url; else - anchor = svn_uri_get_longest_ancestor(anchor, url, pool); + { + anchor = svn_uri_get_longest_ancestor(anchor, url, pool); + if (!anchor || !anchor[0]) + handle_error(svn_error_createf(SVN_ERR_INCORRECT_PARAMS, NULL, + "URLs in the action list do not " + "share a common ancestor"), + pool); + } if ((++i == action_args->nelts) && (j + 1 < num_url_args)) insufficient(pool); diff --git a/contrib/subversion/subversion/svnserve/svnserve.c b/contrib/subversion/subversion/svnserve/svnserve.c index 7648ea8bc..3d83323ef 100644 --- a/contrib/subversion/subversion/svnserve/svnserve.c +++ b/contrib/subversion/subversion/svnserve/svnserve.c @@ -54,6 +54,7 @@ #include "private/svn_dep_compat.h" #include "private/svn_cmdline_private.h" #include "private/svn_atomic.h" +#include "private/svn_subr_private.h" #include "winservice.h" @@ -214,9 +215,7 @@ static const apr_getopt_option_t svnserve__options[] = " " "minimize redundant operations.\n" " " - "Default is 128 for threaded and 16 for non-\n" - " " - "threaded mode.\n" + "Default is 16.\n" " " "[used for FSFS repositories only]")}, {"cache-txdeltas", SVNSERVE_OPT_CACHE_TXDELTAS, 1, @@ -439,8 +438,9 @@ static svn_error_t *write_pid_file(const char *filename, apr_pool_t *pool) const char *contents = apr_psprintf(pool, "%" APR_PID_T_FMT "\n", getpid()); + SVN_ERR(svn_io_remove_file2(filename, TRUE, pool)); SVN_ERR(svn_io_file_open(&file, filename, - APR_WRITE | APR_CREATE | APR_TRUNCATE, + APR_WRITE | APR_CREATE | APR_EXCL, APR_OS_DEFAULT, pool)); SVN_ERR(svn_io_file_write_full(file, contents, strlen(contents), NULL, pool)); @@ -465,7 +465,7 @@ check_lib_versions(void) }; SVN_VERSION_DEFINE(my_version); - return svn_ver_check_list(&my_version, checklist); + return svn_ver_check_list2(&my_version, checklist, svn_ver_equal); } diff --git a/contrib/subversion/subversion/svnsync/svnsync.c b/contrib/subversion/subversion/svnsync/svnsync.c index 0bdc97696..621b782d6 100644 --- a/contrib/subversion/subversion/svnsync/svnsync.c +++ b/contrib/subversion/subversion/svnsync/svnsync.c @@ -38,6 +38,7 @@ #include "private/svn_opt_private.h" #include "private/svn_ra_private.h" #include "private/svn_cmdline_private.h" +#include "private/svn_subr_private.h" #include "sync.h" @@ -312,7 +313,7 @@ check_lib_versions(void) }; SVN_VERSION_DEFINE(my_version); - return svn_ver_check_list(&my_version, checklist); + return svn_ver_check_list2(&my_version, checklist, svn_ver_equal); } @@ -1297,7 +1298,7 @@ replay_rev_finished(svn_revnum_t revision, if (rb->sb->committed_rev != revision) return svn_error_createf (APR_EINVAL, NULL, - _("Commit created rev %ld but should have created %ld"), + _("Commit created r%ld but should have created r%ld"), rb->sb->committed_rev, revision); SVN_ERR(svn_ra_rev_proplist(rb->to_session, revision, &existing_props, diff --git a/contrib/subversion/subversion/svnversion/svnversion.c b/contrib/subversion/subversion/svnversion/svnversion.c index ffee60ca4..94ac588c4 100644 --- a/contrib/subversion/subversion/svnversion/svnversion.c +++ b/contrib/subversion/subversion/svnversion/svnversion.c @@ -29,6 +29,7 @@ #include "private/svn_opt_private.h" #include "private/svn_cmdline_private.h" +#include "private/svn_subr_private.h" #include "svn_private_config.h" @@ -110,7 +111,7 @@ check_lib_versions(void) }; SVN_VERSION_DEFINE(my_version); - return svn_ver_check_list(&my_version, checklist); + return svn_ver_check_list2(&my_version, checklist, svn_ver_equal); } /* diff --git a/usr.bin/svn/lib/libapr_util/apu_config.h b/usr.bin/svn/lib/libapr_util/apu_config.h index ac247d06b..78a706532 100644 --- a/usr.bin/svn/lib/libapr_util/apu_config.h +++ b/usr.bin/svn/lib/libapr_util/apu_config.h @@ -13,7 +13,7 @@ /* #undef APU_DSO_LIBDIR */ /* Define if the inbuf parm to iconv() is const char ** */ -/* #undef APU_ICONV_INBUF_CONST */ +#define APU_ICONV_INBUF_CONST 1 /* Define that OpenSSL uses const buffers */ #define CRYPTO_OPENSSL_CONST_BUFFERS 1 diff --git a/usr.bin/svn/svn/Makefile b/usr.bin/svn/svn/Makefile index 4638c1758..61c62e6a2 100644 --- a/usr.bin/svn/svn/Makefile +++ b/usr.bin/svn/svn/Makefile @@ -53,4 +53,13 @@ DPADD= ${LIBSVN_CLIENT} ${LIBSVN_WC} ${LIBSVN_RA} ${LIBSVN_RA_LOCAL} \ ${LIBBSDXML} ${LIBAPR} ${LIBSQLITE} ${LIBZ} ${LIBCRYPT} ${LIBMAGIC} \ ${LIBCRYPTO} ${LIBSSL} ${LIBPTHREAD} +.if(defined(ORGANIZATION) && !empty(ORGANIZATION)) +DPSRCS+= freebsd-organization.h +CLEANFILES+= freebsd-organization.h +CFLAGS+= -I. -DHAS_ORGANIZATION_NAME +freebsd-organization.h: + @echo '#define ORGANIZATION_NAME ${ORGANIZATION}' \ + > freebsd-organization.h +.endif + .include diff --git a/usr.bin/svn/svn_private_config.h b/usr.bin/svn/svn_private_config.h index 061109534..8d220d86d 100644 --- a/usr.bin/svn/svn_private_config.h +++ b/usr.bin/svn/svn_private_config.h @@ -105,7 +105,7 @@ #define PACKAGE_NAME "subversion" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "subversion 1.8.1" +#define PACKAGE_STRING "subversion 1.8.8" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "subversion" @@ -114,7 +114,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.8.1" +#define PACKAGE_VERSION "1.8.8" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 @@ -129,10 +129,10 @@ #define SVN_BINDIR "/usr/bin" /* Defined to the config.guess name of the build system */ -#define SVN_BUILD_HOST "bikeshed-green-indigo-orange-freebsd" +#define SVN_BUILD_HOST "bikeshed-malachite-topaz-amber-freebsd" /* Defined to the config.guess name of the build target */ -#define SVN_BUILD_TARGET "bikeshed-green-indigo-orange-freebsd" +#define SVN_BUILD_TARGET "bikeshed-malachite-topaz-amber-freebsd" /* The path of a default editor for the client. */ /* #undef SVN_CLIENT_EDITOR */ -- 2.45.0