You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2011/02/20 08:45:54 UTC
svn commit: r1072522 [9/9] - in /subversion/branches/performance: ./ build/
build/ac-macros/ build/generator/ build/generator/templates/ notes/
notes/wc-ng/ subversion/bindings/javahl/native/
subversion/bindings/javahl/src/org/apache/subversion/javahl/...
Modified: subversion/branches/performance/subversion/tests/libsvn_wc/op-depth-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/libsvn_wc/op-depth-test.c?rev=1072522&r1=1072521&r2=1072522&view=diff
==============================================================================
--- subversion/branches/performance/subversion/tests/libsvn_wc/op-depth-test.c (original)
+++ subversion/branches/performance/subversion/tests/libsvn_wc/op-depth-test.c Sun Feb 20 07:45:48 2011
@@ -1236,8 +1236,7 @@ base_dir_insert_remove(wc_baton_t *b,
nodes_row_t *added)
{
nodes_row_t *after;
- const char *dir_abspath = svn_path_join(b->wc_abspath, local_relpath,
- b->pool);
+ const char *dir_abspath = wc_path(b, local_relpath);
int i;
apr_int64_t num_before = count_rows(before), num_added = count_rows(added);
@@ -1917,6 +1916,375 @@ test_del_replace_not_present(const svn_t
return SVN_NO_ERROR;
}
+static svn_error_t *
+insert_actual(wc_baton_t *b,
+ const char **local_relpaths)
+{
+ svn_sqlite__db_t *sdb;
+ svn_sqlite__stmt_t *stmt;
+ const char *dbpath = svn_dirent_join_many(b->pool,
+ b->wc_abspath, ".svn", "wc.db",
+ NULL);
+ const char * const statements[] = {
+ "DELETE FROM actual_node;",
+ "INSERT INTO actual_node (local_relpath, wc_id) VALUES (?1, 1);",
+ "INSERT INTO actual_node (local_relpath, parent_relpath, wc_id)"
+ " VALUES (?1, ?2, 1)",
+ NULL,
+ };
+
+ if (!local_relpaths)
+ return SVN_NO_ERROR;
+
+ SVN_ERR(svn_sqlite__open(&sdb, dbpath, svn_sqlite__mode_readwrite,
+ statements, 0, NULL,
+ b->pool, b->pool));
+
+ SVN_ERR(svn_sqlite__get_statement(&stmt, sdb, 0));
+ SVN_ERR(svn_sqlite__step_done(stmt));
+
+ while(*local_relpaths)
+ {
+ if (**local_relpaths)
+ {
+ SVN_ERR(svn_sqlite__get_statement(&stmt, sdb, 2));
+ SVN_ERR(svn_sqlite__bindf(stmt, "ss",
+ *local_relpaths,
+ svn_relpath_dirname(*local_relpaths,
+ b->pool)));
+ }
+ else
+ {
+ SVN_ERR(svn_sqlite__get_statement(&stmt, sdb, 2));
+ SVN_ERR(svn_sqlite__bindf(stmt, "s", *local_relpaths));
+ }
+ SVN_ERR(svn_sqlite__step_done(stmt));
+ ++local_relpaths;
+ }
+ SVN_ERR(svn_sqlite__close(sdb));
+
+ return SVN_NO_ERROR;
+}
+
+static svn_error_t *
+check_db_actual(wc_baton_t* b,
+ const char **local_relpaths)
+{
+ svn_sqlite__db_t *sdb;
+ svn_sqlite__stmt_t *stmt;
+ const char *dbpath = svn_dirent_join_many(b->pool,
+ b->wc_abspath, ".svn", "wc.db",
+ NULL);
+ const char * const statements[] = {
+ "SELECT local_relpath FROM actual_node WHERE wc_id = 1;",
+ NULL,
+ };
+ svn_boolean_t have_row;
+ apr_hash_t *path_hash = apr_hash_make(b->pool);
+
+ if (!local_relpaths)
+ return SVN_NO_ERROR;
+
+ while(*local_relpaths)
+ {
+ apr_hash_set(path_hash, *local_relpaths, APR_HASH_KEY_STRING, (void*)1);
+ ++local_relpaths;
+ }
+
+ SVN_ERR(svn_sqlite__open(&sdb, dbpath, svn_sqlite__mode_readwrite,
+ statements, 0, NULL,
+ b->pool, b->pool));
+
+ SVN_ERR(svn_sqlite__get_statement(&stmt, sdb, 0));
+ SVN_ERR(svn_sqlite__step(&have_row, stmt));
+ while (have_row)
+ {
+ const char *local_relpath = svn_sqlite__column_text(stmt, 0, NULL);
+ if (!apr_hash_get(path_hash, local_relpath, APR_HASH_KEY_STRING))
+ return svn_error_createf(SVN_ERR_TEST_FAILED, svn_sqlite__reset(stmt),
+ "actual '%s' unexpected", local_relpath);
+ apr_hash_set(path_hash, local_relpath, APR_HASH_KEY_STRING, NULL);
+ SVN_ERR(svn_sqlite__step(&have_row, stmt));
+ }
+
+ if (apr_hash_count(path_hash))
+ {
+ const char *local_relpath
+ = svn__apr_hash_index_key(apr_hash_first(b->pool, path_hash));
+ return svn_error_createf(SVN_ERR_TEST_FAILED, NULL,
+ "actual '%s' expected", local_relpath);
+ }
+
+ SVN_ERR(svn_sqlite__reset(stmt));
+ SVN_ERR(svn_sqlite__close(sdb));
+
+ return SVN_NO_ERROR;
+}
+
+static svn_error_t *
+revert(wc_baton_t *b,
+ const char *local_relpath,
+ nodes_row_t *before_nodes,
+ nodes_row_t *after_nodes,
+ const char **before_actual,
+ const char **after_actual)
+{
+ const char *local_abspath = wc_path(b, local_relpath);
+ svn_error_t *err;
+
+ if (!before_actual)
+ {
+ const char *actual[] = { NULL };
+ SVN_ERR(insert_actual(b, actual));
+ }
+
+ SVN_ERR(insert_dirs(b, before_nodes));
+ SVN_ERR(insert_actual(b, before_actual));
+ SVN_ERR(check_db_rows(b, "", before_nodes));
+ SVN_ERR(check_db_actual(b, before_actual));
+ err = svn_wc__db_op_revert(b->wc_ctx->db, local_abspath, b->pool);
+ if (err)
+ {
+ /* If db_op_revert returns an error the DB should be unchanged so
+ verify and return a verification error if a change is detected
+ or the revert error if unchanged. */
+ err = svn_error_compose_create(check_db_rows(b, "", before_nodes), err);
+ err = svn_error_compose_create(check_db_actual(b, before_actual), err);
+ return err;
+ }
+ SVN_ERR(check_db_rows(b, "", after_nodes));
+ SVN_ERR(check_db_actual(b, after_actual));
+
+ return SVN_NO_ERROR;
+}
+
+static svn_error_t *
+test_op_revert(const svn_test_opts_t *opts, apr_pool_t *pool)
+{
+ wc_baton_t b;
+ svn_error_t *err;
+
+ b.pool = pool;
+ SVN_ERR(svn_test__create_repos_and_wc(&b.repos_url, &b.wc_abspath,
+ "test_op_revert", opts, pool));
+ SVN_ERR(svn_wc_context_create(&b.wc_ctx, NULL, pool, pool));
+
+ {
+ nodes_row_t before[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 2, "A/B", "normal", NO_COPY_FROM },
+ { 0 },
+ };
+ nodes_row_t after[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0 },
+ };
+ const char *before_actual1[] = { "A", "A/B", NULL };
+ const char *after_actual1[] = { "A", NULL };
+ const char *before_actual2[] = { "A/B", "A/B/C", NULL };
+ const char *after_actual2[] = { "A/B", NULL };
+ const char *before_actual3[] = { "", "A", "A/B", NULL };
+ const char *after_actual3[] = { "", "A/B", NULL };
+ const char *before_actual4[] = { "", "A/B", NULL };
+ const char *after_actual4[] = { "A/B", NULL };
+ const char *common_actual5[] = { "A/B", "A/B/C", NULL };
+ const char *common_actual6[] = { "A/B", "A/B/C", "A/B/C/D", NULL };
+ SVN_ERR(revert(&b, "A/B", before, after, NULL, NULL));
+ SVN_ERR(revert(&b, "A/B", before, after, before_actual1, after_actual1));
+ SVN_ERR(revert(&b, "A/B/C", before, before, before_actual2, after_actual2));
+ SVN_ERR(revert(&b, "A", before, before, before_actual3, after_actual3));
+ SVN_ERR(revert(&b, "", before, before, before_actual4, after_actual4));
+ err = revert(&b, "A/B", before, before, common_actual5, common_actual5);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ err = revert(&b, "A/B/C", before, before, common_actual6, common_actual6);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ }
+
+ {
+ nodes_row_t common[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "P", "normal", 4, "P" },
+ { 0, "P/Q", "normal", 4, "P/Q" },
+ { 1, "P", "normal", 3, "V" },
+ { 1, "P/Q", "normal", 3, "V/Q" },
+ { 2, "A/B", "normal", 2, "X/B" },
+ { 2, "A/B/C", "normal", 2, "X/B/C" },
+ { 2, "A/B/C/D", "normal", 2, "X/B/C/D" },
+ { 1, "X", "normal", NO_COPY_FROM },
+ { 2, "X/Y", "normal", NO_COPY_FROM },
+ { 0 },
+ };
+ const char *common_actual[] = { "A/B/C/D", "A/B/C", "A/B", "P", "X", NULL};
+
+ err = revert(&b, "A/B/C/D", common, common, NULL, NULL);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ err = revert(&b, "A/B/C/D", common, common, common_actual, common_actual);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+
+ err = revert(&b, "A/B/C", common, common, NULL, NULL);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ err = revert(&b, "A/B/C", common, common, common_actual, common_actual);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+
+ err = revert(&b, "A/B", common, common, NULL, NULL);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ err = revert(&b, "A/B", common, common, common_actual, common_actual);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+
+ err = revert(&b, "P", common, common, NULL, NULL);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ err = revert(&b, "P", common, common, common_actual, common_actual);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+
+ err = revert(&b, "X", common, common, NULL, NULL);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ err = revert(&b, "X", common, common, common_actual, common_actual);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ }
+
+ {
+ nodes_row_t before[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 3, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 0 },
+ };
+ nodes_row_t after[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 0 },
+ };
+ const char *before_actual[] = { "A/B", "A/B/C", NULL };
+ const char *after_actual[] = {"A/B", NULL };
+ SVN_ERR(revert(&b, "A/B/C", before, after, NULL, NULL));
+ SVN_ERR(revert(&b, "A/B/C", before, after, before_actual, after_actual));
+ }
+
+ {
+ nodes_row_t before[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 2, "A/B", "base-deleted", NO_COPY_FROM },
+ { 2, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 2, "A/B/C/D", "base-deleted", NO_COPY_FROM },
+ { 0 },
+ };
+ nodes_row_t after[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 3, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 3, "A/B/C/D", "base-deleted", NO_COPY_FROM },
+ { 0 },
+ };
+ SVN_ERR(revert(&b, "A/B", before, after, NULL, NULL));
+ }
+
+ {
+ nodes_row_t before[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 1, "A", "normal", NO_COPY_FROM },
+ { 1, "A/B", "base-deleted", NO_COPY_FROM },
+ { 1, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 2, "A/B", "normal", NO_COPY_FROM },
+ { 3, "A/B/C", "normal", NO_COPY_FROM },
+ { 0 },
+ };
+ nodes_row_t after1[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 1, "A", "normal", NO_COPY_FROM },
+ { 1, "A/B", "base-deleted", NO_COPY_FROM },
+ { 1, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 2, "A/B", "normal", NO_COPY_FROM },
+ { 0 },
+ };
+ nodes_row_t after2[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 1, "A", "normal", NO_COPY_FROM },
+ { 1, "A/B", "base-deleted", NO_COPY_FROM },
+ { 1, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 0 },
+ };
+ SVN_ERR(revert(&b, "A/B/C", before, after1, NULL, NULL));
+ SVN_ERR(revert(&b, "A/B", after1, after2, NULL, NULL));
+ }
+
+ {
+ nodes_row_t before[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 0, "A/B/C/D", "normal", 4, "A/B/C/D" },
+ { 2, "A/B", "normal", NO_COPY_FROM },
+ { 2, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 2, "A/B/C/D", "base-deleted", NO_COPY_FROM },
+ { 0 },
+ };
+ nodes_row_t after[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 0, "A/B/C/D", "normal", 4, "A/B/C/D" },
+ { 3, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 3, "A/B/C/D", "base-deleted", NO_COPY_FROM },
+ { 0 },
+ };
+ SVN_ERR(revert(&b, "A/B", before, after, NULL, NULL));
+ }
+
+ {
+ nodes_row_t common[] = {
+ { 0, "", "normal", 4, "" },
+ { 0, "A", "normal", 4, "A" },
+ { 0, "A/B", "normal", 4, "A/B" },
+ { 0, "A/B/C", "normal", 4, "A/B/C" },
+ { 0, "A/B/C/D", "normal", 4, "A/B/C/D" },
+ { 1, "A", "normal", 2, "X/Y" },
+ { 1, "A/B", "normal", 2, "X/Y/B" },
+ { 1, "A/B/C", "base-deleted", NO_COPY_FROM },
+ { 1, "A/B/C/D", "base-deleted", NO_COPY_FROM },
+ { 0 },
+ };
+ err = revert(&b, "A", common, common, NULL, NULL);
+ SVN_TEST_ASSERT(err && err->apr_err == SVN_ERR_WC_INVALID_OPERATION_DEPTH);
+ svn_error_clear(err);
+ }
+
+ return SVN_NO_ERROR;
+}
/* ---------------------------------------------------------------------- */
/* The list of test functions */
@@ -1954,5 +2322,7 @@ struct svn_test_descriptor_t test_funcs[
"test_delete_of_replace"),
SVN_TEST_OPTS_PASS(test_del_replace_not_present,
"test_del_replace_not_present"),
+ SVN_TEST_OPTS_PASS(test_op_revert,
+ "test_op_revert"),
SVN_TEST_NULL
};
Modified: subversion/branches/performance/tools/client-side/svnmucc/svnmucc.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/client-side/svnmucc/svnmucc.c?rev=1072522&r1=1072521&r2=1072522&view=diff
==============================================================================
--- subversion/branches/performance/tools/client-side/svnmucc/svnmucc.c (original)
+++ subversion/branches/performance/tools/client-side/svnmucc/svnmucc.c Sun Feb 20 07:45:48 2011
@@ -298,10 +298,9 @@ drive(struct operation *operation,
if (apr_err)
return svn_error_wrap_apr(apr_err, "Can't open stdin");
}
- contents = svn_stream_from_aprfile(f, pool);
+ contents = svn_stream_from_aprfile2(f, FALSE, pool);
SVN_ERR(svn_txdelta_send_stream(contents, handler,
handler_baton, NULL, pool));
- SVN_ERR(svn_io_file_close(f, pool));
}
/* If we opened a file, we need to apply outstanding propmods,
then close it. */
@@ -631,7 +630,7 @@ execute(const apr_array_header_t *action
SVN_ERR(svn_config_get_config(&config, config_dir, pool));
SVN_ERR(create_ra_callbacks(&ra_callbacks, username, password,
non_interactive, pool));
- SVN_ERR(svn_ra_open3(&session, anchor, NULL, ra_callbacks,
+ SVN_ERR(svn_ra_open4(&session, NULL, anchor, NULL, ra_callbacks,
NULL, config, pool));
SVN_ERR(svn_ra_get_latest_revnum(session, &head, pool));
@@ -850,7 +849,7 @@ main(int argc, const char **argv)
svn_stringbuf_t *contents;
err = svn_utf_cstring_to_utf8(&arg_utf8, arg, pool);
if (! err)
- err = svn_stringbuf_from_file(&contents, arg, pool);
+ err = svn_stringbuf_from_file2(&contents, arg, pool);
if (! err)
err = svn_utf_cstring_to_utf8(&message, contents->data, pool);
if (err)
Modified: subversion/branches/performance/tools/dev/svnraisetreeconflict/main.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/dev/svnraisetreeconflict/main.c?rev=1072522&r1=1072521&r2=1072522&view=diff
==============================================================================
--- subversion/branches/performance/tools/dev/svnraisetreeconflict/main.c (original)
+++ subversion/branches/performance/tools/dev/svnraisetreeconflict/main.c Sun Feb 20 07:45:48 2011
@@ -192,7 +192,7 @@ raise_tree_conflict(int argc, const char
const char *wc_path, *wc_abspath;
const char *repos_url1, *repos_url2, *path_in_repos1, *path_in_repos2;
int operation, action, reason;
- int peg_rev1, peg_rev2;
+ long peg_rev1, peg_rev2;
int kind, kind1, kind2;
if (argc != 13)
Modified: subversion/branches/performance/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/dev/unix-build/Makefile.svn?rev=1072522&r1=1072521&r2=1072522&view=diff
==============================================================================
--- subversion/branches/performance/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/performance/tools/dev/unix-build/Makefile.svn Sun Feb 20 07:45:48 2011
@@ -495,7 +495,7 @@ $(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$
# configure httpd
$(HTTPD_OBJDIR)/.configured: $(HTTPD_OBJDIR)/.retrieved
cd $(HTTPD_OBJDIR) \
- && CFLAGS="$(PROFILE_CFLAGS)" \
+ && CFLAGS="-g $(PROFILE_CFLAGS)" \
$(HTTPD_SRCDIR)/configure \
--prefix=$(PREFIX)/httpd \
--enable-maintainer-mode \
@@ -852,37 +852,49 @@ $(SVN_OBJDIR)/.retrieved:
fi
touch $@
-ifeq ($(BRANCH_MAJOR),1.5)
+ifeq ($(BRANCH_MAJOR),1.6)
+BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
+SERF_FLAG=--with-serf="$(PREFIX)/serf"
+MOD_DAV_SVN=modules/svn-$(WC)/mod_dav_svn.so
+MOD_AUTHZ_SVN=modules/svn-$(WC)/mod_authz_svn.so
+W_NO_SYSTEM_HEADERS=-Wno-system-headers
+else ifeq ($(BRANCH_MAJOR),1.5)
BDB_FLAG=$(PREFIX)/bdb
SERF_FLAG=--with-serf="$(PREFIX)/serf-old"
MOD_DAV_SVN=modules/mod_dav_svn.so
MOD_AUTHZ_SVN=modules/mod_authz_svn.so
DISABLE_NEON_VERSION_CHECK=--disable-neon-version-check
+W_NO_SYSTEM_HEADERS=-Wno-system-headers
else ifeq ($(BRANCH_MAJOR),1.4)
BDB_FLAG=$(PREFIX)/bdb
MOD_DAV_SVN=modules/mod_dav_svn.so
MOD_AUTHZ_SVN=modules/mod_authz_svn.so
DISABLE_NEON_VERSION_CHECK=--disable-neon-version-check
+W_NO_SYSTEM_HEADERS=-Wno-system-headers
else ifeq ($(BRANCH_MAJOR),1.3)
BDB_FLAG=$(PREFIX)/bdb
MOD_DAV_SVN=modules/mod_dav_svn.so
MOD_AUTHZ_SVN=modules/mod_authz_svn.so
DISABLE_NEON_VERSION_CHECK=--disable-neon-version-check
+W_NO_SYSTEM_HEADERS=-Wno-system-headers
else ifeq ($(BRANCH_MAJOR),1.2)
BDB_FLAG=$(PREFIX)/bdb
MOD_DAV_SVN=modules/mod_dav_svn.so
MOD_AUTHZ_SVN=modules/mod_authz_svn.so
DISABLE_NEON_VERSION_CHECK=--disable-neon-version-check
+W_NO_SYSTEM_HEADERS=-Wno-system-headers
else ifeq ($(BRANCH_MAJOR),1.1)
BDB_FLAG=$(PREFIX)/bdb
MOD_DAV_SVN=modules/mod_dav_svn.so
MOD_AUTHZ_SVN=modules/mod_authz_svn.so
DISABLE_NEON_VERSION_CHECK=--disable-neon-version-check
+W_NO_SYSTEM_HEADERS=-Wno-system-headers
else ifeq ($(BRANCH_MAJOR),1.0)
BDB_FLAG=$(PREFIX)/bdb
MOD_DAV_SVN=modules/mod_dav_svn.so
MOD_AUTHZ_SVN=modules/mod_authz_svn.so
DISABLE_NEON_VERSION_CHECK=--disable-neon-version-check
+W_NO_SYSTEM_HEADERS=-Wno-system-headers
else
BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
SERF_FLAG=--with-serf="$(PREFIX)/serf"
@@ -939,7 +951,7 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
# compile svn
$(SVN_OBJDIR)/.compiled: $(SVN_OBJDIR)/.configured
cd $(svn_builddir) \
- && make EXTRA_CFLAGS="$(PROFILE_CFLAGS)"
+ && make EXTRA_CFLAGS="$(PROFILE_CFLAGS) $(W_NO_SYSTEM_HEADERS)"
touch $@
# install svn
@@ -1049,6 +1061,7 @@ HTTPD_CMD = env LD_LIBRARY_PATH=$(LD_LIB
$(PREFIX)/httpd/bin/apachectl \
-f conf/httpd-svn-check-$(WC).conf
HTTPD_START_CMD = $(HTTPD_CMD) -k start
+HTTPD_START_CMD_DEBUG = $(HTTPD_START_CMD) -X
HTTPD_STOP_CMD = $(HTTPD_CMD) -k stop; sleep 3
SVNSERVE_START_CMD = $(SVN_PREFIX)/bin/svnserve \
@@ -1065,6 +1078,16 @@ start-httpd: httpd-conf
@echo "The URL http://localhost:$(HTTPD_CHECK_PORT)/svn/"
@echo "lets you access repositories dropped into /tmp"
+start-httpd-debug: httpd-conf
+ $(HTTPD_START_CMD_DEBUG) &
+ @echo "To run tests over http, run:"
+ @echo " make check BASE_URL=http://localhost:$(HTTPD_CHECK_PORT)"
+ @echo "The URL http://localhost:$(HTTPD_CHECK_PORT)/svn/"
+ @echo "lets you access repositories dropped into /tmp"
+ @echo "Trying to attach gdb to httpd..."
+ @sleep 1
+ gdb $(PREFIX)/httpd/bin/httpd `cat $(PREFIX)/httpd/logs/httpd.pid`
+
stop-httpd:
$(HTTPD_STOP_CMD)
Modified: subversion/branches/performance/tools/diff/diff3.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/diff/diff3.c?rev=1072522&r1=1072521&r2=1072522&view=diff
==============================================================================
--- subversion/branches/performance/tools/diff/diff3.c (original)
+++ subversion/branches/performance/tools/diff/diff3.c Sun Feb 20 07:45:48 2011
@@ -38,16 +38,16 @@ do_diff3(svn_stream_t *ostream,
{
svn_diff_t *diff;
- SVN_ERR(svn_diff_file_diff3(&diff, original, modified, latest, pool));
+ SVN_ERR(svn_diff_file_diff3_2(&diff, original, modified, latest,
+ svn_diff_file_options_create(pool), pool));
*has_changes = svn_diff_contains_diffs(diff);
- SVN_ERR(svn_diff_file_output_merge(ostream, diff,
- original, modified, latest,
- NULL, NULL, NULL, NULL,
- FALSE,
- FALSE,
- pool));
+ SVN_ERR(svn_diff_file_output_merge2(ostream, diff,
+ original, modified, latest,
+ NULL, NULL, NULL, NULL,
+ svn_diff_conflict_display_modified_latest,
+ pool));
return NULL;
}
Modified: subversion/branches/performance/tools/diff/diff4.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/diff/diff4.c?rev=1072522&r1=1072521&r2=1072522&view=diff
==============================================================================
--- subversion/branches/performance/tools/diff/diff4.c (original)
+++ subversion/branches/performance/tools/diff/diff4.c Sun Feb 20 07:45:48 2011
@@ -40,15 +40,13 @@ do_diff4(svn_stream_t *ostream,
{
svn_diff_t *diff;
- SVN_ERR(svn_diff_file_diff4(&diff,
- original, modified, latest, ancestor,
- pool));
- SVN_ERR(svn_diff_file_output_merge(ostream, diff,
- original, modified, latest,
- NULL, NULL, NULL, NULL,
- FALSE,
- FALSE,
- pool));
+ SVN_ERR(svn_diff_file_diff4_2(&diff, original, modified, latest, ancestor,
+ svn_diff_file_options_create(pool), pool));
+ SVN_ERR(svn_diff_file_output_merge2(ostream, diff,
+ original, modified, latest,
+ NULL, NULL, NULL, NULL,
+ svn_diff_conflict_display_modified_latest,
+ pool));
return NULL;
}
Modified: subversion/branches/performance/tools/server-side/svn-populate-node-origins-index.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/server-side/svn-populate-node-origins-index.c?rev=1072522&r1=1072521&r2=1072522&view=diff
==============================================================================
--- subversion/branches/performance/tools/server-side/svn-populate-node-origins-index.c (original)
+++ subversion/branches/performance/tools/server-side/svn-populate-node-origins-index.c Sun Feb 20 07:45:48 2011
@@ -77,7 +77,7 @@ index_revision_adds(int *count, svn_fs_t
*count = 0;
SVN_ERR(svn_fs_revision_root(&root, fs, revision, pool));
- SVN_ERR(svn_fs_paths_changed(&changes, root, pool));
+ SVN_ERR(svn_fs_paths_changed2(&changes, root, pool));
/* No paths changed in this revision? Nothing to do. */
if (apr_hash_count(changes) == 0)
@@ -88,7 +88,7 @@ index_revision_adds(int *count, svn_fs_t
{
const void *path;
void *val;
- svn_fs_path_change_t *change;
+ svn_fs_path_change2_t *change;
svn_pool_clear(subpool);
apr_hash_this(hi, &path, NULL, &val);
@@ -96,12 +96,8 @@ index_revision_adds(int *count, svn_fs_t
if ((change->change_kind == svn_fs_path_change_add)
|| (change->change_kind == svn_fs_path_change_replace))
{
- const char *copyfrom_path;
- svn_revnum_t copyfrom_rev;
-
- SVN_ERR(svn_fs_copied_from(©from_rev, ©from_path,
- root, path, subpool));
- if (! (copyfrom_path && SVN_IS_VALID_REVNUM(copyfrom_rev)))
+ if (! (change->copyfrom_path
+ && SVN_IS_VALID_REVNUM(change->copyfrom_rev)))
{
svn_revnum_t origin;
SVN_ERR(svn_fs_node_origin_rev(&origin, root, path, subpool));
Modified: subversion/branches/performance/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/win-tests.py?rev=1072522&r1=1072521&r2=1072522&view=diff
==============================================================================
--- subversion/branches/performance/win-tests.py (original)
+++ subversion/branches/performance/win-tests.py Sun Feb 20 07:45:48 2011
@@ -79,6 +79,10 @@ def _usage_exit():
print(" --http-library : dav library to use, neon (default) or serf")
print(" --javahl : Run the javahl tests instead of the normal tests")
print(" --list : print test doc strings only")
+ print(" --milestone-filter=RE : RE is a regular expression pattern that (when")
+ print(" used with --list) limits the tests listed to")
+ print(" those with an associated issue in the tracker")
+ print(" which has a target milestone that matches RE.")
print(" --mode-filter=TYPE : limit tests to expected TYPE = XFAIL, SKIP, PASS,")
print(" or 'ALL' (default)")
print(" --enable-sasl : enable Cyrus SASL authentication for")
@@ -123,7 +127,7 @@ opts, args = my_getopt(sys.argv[1:], 'hr
'fsfs-packing', 'fsfs-sharding=', 'javahl',
'list', 'enable-sasl', 'bin=', 'parallel',
'config-file=', 'server-minor-version=',
- 'log-to-stdout', 'mode-filter='])
+ 'log-to-stdout', 'mode-filter=', 'milestone-filter='])
if len(args) > 1:
print('Warning: non-option arguments after the first one will be ignored')
@@ -140,6 +144,7 @@ httpd_port = None
httpd_service = None
http_library = 'neon'
list_tests = None
+milestone_filter = None
test_javahl = None
enable_sasl = None
svn_bin = None
@@ -195,6 +200,8 @@ for opt, val in opts:
test_javahl = 1
elif opt == '--list':
list_tests = 1
+ elif opt == '--milestone-filter':
+ milestone_filter = val
elif opt == '--mode-filter':
mode_filter = val
elif opt == '--enable-sasl':
@@ -688,7 +695,8 @@ if not test_javahl:
server_minor_version, not quiet,
cleanup, enable_sasl, parallel, config_file,
fsfs_sharding, fsfs_packing,
- list_tests, svn_bin, mode_filter)
+ list_tests, svn_bin, mode_filter,
+ milestone_filter)
old_cwd = os.getcwd()
try:
os.chdir(abs_builddir)