subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From julianf...@apache.org
Subject svn commit: r1634609 [11/11] - in /subversion/branches/move-tracking-2: ./ build/ notes/ subversion/ subversion/include/ subversion/include/private/ subversion/libsvn_client/ subversion/libsvn_delta/ subversion/libsvn_fs/ subversion/libsvn_fs_base/ sub...
Date Mon, 27 Oct 2014 17:28:16 GMT
Modified: subversion/branches/move-tracking-2/subversion/tests/svn_test_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/tests/svn_test_fs.c?rev=1634609&r1=1634608&r2=1634609&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/tests/svn_test_fs.c (original)
+++ subversion/branches/move-tracking-2/subversion/tests/svn_test_fs.c Mon Oct 27 17:28:13
2014
@@ -104,10 +104,14 @@ create_fs(svn_fs_t **fs_p,
           const char *name,
           const char *fs_type,
           int server_minor_version,
+          apr_hash_t *overlay_fs_config,
           apr_pool_t *pool)
 {
   apr_hash_t *fs_config = make_fs_config(fs_type, server_minor_version, pool);
 
+  if (overlay_fs_config)
+    fs_config = apr_hash_overlay(pool, overlay_fs_config, fs_config);
+
   /* If there's already a repository named NAME, delete it.  Doing
      things this way means that repositories stick around after a
      failure for postmortem analysis, but also that tests can be
@@ -172,20 +176,21 @@ svn_test__create_bdb_fs(svn_fs_t **fs_p,
                         const svn_test_opts_t *opts,
                         apr_pool_t *pool)
 {
-  return create_fs(fs_p, name, "bdb", opts->server_minor_version, pool);
+  return create_fs(fs_p, name, "bdb", opts->server_minor_version, NULL, pool);
 }
 
 
 svn_error_t *
-svn_test__create_fs(svn_fs_t **fs_p,
-                    const char *name,
-                    const svn_test_opts_t *opts,
-                    apr_pool_t *pool)
+svn_test__create_fs2(svn_fs_t **fs_p,
+                     const char *name,
+                     const svn_test_opts_t *opts,
+                     apr_hash_t *fs_config,
+                     apr_pool_t *pool)
 {
   svn_boolean_t must_reopen;
 
-  SVN_ERR(create_fs(fs_p, name, opts->fs_type,
-                    opts->server_minor_version, pool));
+  SVN_ERR(create_fs(fs_p, name, opts->fs_type, opts->server_minor_version,
+                    fs_config, pool));
 
   SVN_ERR(maybe_install_fs_conf(*fs_p, opts, &must_reopen, pool));
   if (must_reopen)
@@ -197,6 +202,14 @@ svn_test__create_fs(svn_fs_t **fs_p,
   return SVN_NO_ERROR;
 }
 
+svn_error_t *
+svn_test__create_fs(svn_fs_t **fs_p,
+                    const char *name,
+                    const svn_test_opts_t *opts,
+                    apr_pool_t *pool)
+{
+  return svn_test__create_fs2(fs_p, name, opts, NULL, pool);
+}
 
 svn_error_t *
 svn_test__create_repos(svn_repos_t **repos_p,
@@ -358,10 +371,19 @@ validate_tree_entry(svn_fs_root_t *root,
 {
   svn_stream_t *rstream;
   svn_stringbuf_t *rstring;
-  svn_boolean_t is_dir;
+  svn_node_kind_t kind;
+  svn_boolean_t is_dir, is_file;
 
-  /* Verify that this is the expected type of node */
+  /* Verify that node types are reported consistently. */
+  SVN_ERR(svn_fs_check_path(&kind, root, path, pool));
   SVN_ERR(svn_fs_is_dir(&is_dir, root, path, pool));
+  SVN_ERR(svn_fs_is_file(&is_file, root, path, pool));
+
+  SVN_TEST_ASSERT(!is_dir || kind == svn_node_dir);
+  SVN_TEST_ASSERT(!is_file || kind == svn_node_file);
+  SVN_TEST_ASSERT(is_dir || is_file);
+
+  /* Verify that this is the expected type of node */
   if ((!is_dir && !contents) || (is_dir && contents))
     return svn_error_createf
       (SVN_ERR_FS_GENERAL, NULL,
@@ -371,10 +393,17 @@ validate_tree_entry(svn_fs_root_t *root,
   /* Verify that the contents are as expected (files only) */
   if (! is_dir)
     {
+      svn_stringbuf_t *expected = svn_stringbuf_create(contents, pool);
+
+      /* File lengths. */
+      svn_filesize_t length;
+      SVN_ERR(svn_fs_file_length(&length, root, path, pool));
+      SVN_TEST_ASSERT(expected->len == length);
+
+      /* Text contents. */
       SVN_ERR(svn_fs_file_contents(&rstream, root, path, pool));
       SVN_ERR(svn_test__stream_to_string(&rstring, rstream, pool));
-      if (! svn_stringbuf_compare(rstring,
-                                  svn_stringbuf_create(contents, pool)))
+      if (! svn_stringbuf_compare(rstring, expected))
         return svn_error_createf
           (SVN_ERR_FS_GENERAL, NULL,
            "node '%s' in tree had unexpected contents",
@@ -404,6 +433,9 @@ svn_test__validate_tree(svn_fs_root_t *r
   apr_hash_index_t *hi;
   int i;
 
+  /* There should be no entry with this name. */
+  const char *na_name = "es-vee-en";
+
   /* Create a hash for storing our expected entries */
   expected_entries = apr_hash_make(subpool);
 
@@ -492,6 +524,23 @@ svn_test__validate_tree(svn_fs_root_t *r
       svn_stringbuf_appendcstr(extra_entries, "\n");
     }
 
+  /* Test that non-exiting paths will not be found.
+   * Skip this test if somebody sneakily added NA_NAME. */
+  if (!svn_hash_gets(expected_entries, na_name))
+    {
+      svn_node_kind_t kind;
+      svn_boolean_t is_dir, is_file;
+
+      /* Verify that the node is reported as "n/a". */
+      SVN_ERR(svn_fs_check_path(&kind, root, na_name, subpool));
+      SVN_ERR(svn_fs_is_dir(&is_dir, root, na_name, subpool));
+      SVN_ERR(svn_fs_is_file(&is_file, root, na_name, subpool));
+
+      SVN_TEST_ASSERT(kind == svn_node_none);
+      SVN_TEST_ASSERT(!is_file);
+      SVN_TEST_ASSERT(!is_dir);
+    }
+
   if (missing_entries || extra_entries || corrupt_entries)
     {
       return svn_error_createf

Modified: subversion/branches/move-tracking-2/subversion/tests/svn_test_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/tests/svn_test_fs.h?rev=1634609&r1=1634608&r2=1634609&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/tests/svn_test_fs.h (original)
+++ subversion/branches/move-tracking-2/subversion/tests/svn_test_fs.h Mon Oct 27 17:28:13
2014
@@ -57,7 +57,16 @@ svn_test__create_bdb_fs(svn_fs_t **fs_p,
 
 
 /* Create a filesystem based on OPTS in a subdir NAME and return a new
-   FS object which points to it.  */
+   FS object which points to it.  Override the default test filesystem
+   config with values from FS_CONFIG. */
+svn_error_t *
+svn_test__create_fs2(svn_fs_t **fs_p,
+                     const char *name,
+                     const svn_test_opts_t *opts,
+                     apr_hash_t *fs_config,
+                     apr_pool_t *pool);
+
+/* The same as svn_test__create_fs2() but with FS_CONFIG set to NULL. */
 svn_error_t *
 svn_test__create_fs(svn_fs_t **fs_p,
                     const char *name,

Propchange: subversion/branches/move-tracking-2/tools/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Oct 27 17:28:13 2014
@@ -0,0 +1,85 @@
+/subversion/branches/1.5.x-r30215/tools:870312
+/subversion/branches/1.7.x-fs-verify/tools:1146708,1161180
+/subversion/branches/10Gb/tools:1388102,1388163-1388190,1388195,1388202,1388205,1388211,1388276,1388362,1388375,1388394,1388636,1388639-1388640,1388643-1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388807,1388810,1388816,1389044,1389276,1389289,1389662,1389867,1390017,1390209,1390216,1390407,1390409,1390414,1390419,1390955
+/subversion/branches/atomic-revprop/tools:965046-1000689
+/subversion/branches/authzperf/tools:1615360
+/subversion/branches/auto-props-sdc/tools:1384106-1401643
+/subversion/branches/bdb-reverse-deltas/tools:872050-872529
+/subversion/branches/cache-server/tools:1458643-1476567
+/subversion/branches/diff-callbacks3/tools:870059-870761
+/subversion/branches/diff-optimizations/tools:1031270-1037352
+/subversion/branches/diff-optimizations-bytes/tools:1037353-1067789
+/subversion/branches/dont-save-plaintext-passwords-by-default/tools:870728-871118
+/subversion/branches/double-delete/tools:870511-872970
+/subversion/branches/ev2-export/tools:1325914,1332738,1413107
+/subversion/branches/explore-wc/tools:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997
+/subversion/branches/file-externals/tools:871779-873302
+/subversion/branches/fs-rep-sharing/tools:869036-873803
+/subversion/branches/fsfs-format7/tools:1426304,1430673,1433848,1438408,1438982,1441129,1442051,1442068,1442504,1442910,1443171,1443803,1444690,1444693,1444695,1445040,1445080,1446103,1451129,1453590,1454307,1460579,1461851,1461865,1462837,1462904,1463120,1467362,1467382,1469487,1471208,1477166,1478055,1481447,1489817,1489949,1490673-1490674,1491784,1493042,1498029,1498103,1498155,1500054,1507729-1507731,1507735-1507736
+/subversion/branches/fsfs-improvements/tools:1499981-1547039
+/subversion/branches/fsfs-lock-many/tools:1571740-1577217
+/subversion/branches/fsfs-pack/tools:873717-874575
+/subversion/branches/fsx/tools:1507845-1509914
+/subversion/branches/gnome-keyring/tools:870558-871410
+/subversion/branches/gpg-agent-password-store/tools:1005036-1150766
+/subversion/branches/gtest_addition/tools:1452117-1502138
+/subversion/branches/http-protocol-v2/tools:874395-876041
+/subversion/branches/in-memory-cache/tools:869829-871452
+/subversion/branches/in-repo-authz/tools:1414342-1424779
+/subversion/branches/inheritable-props/tools:1297080-1395089
+/subversion/branches/integrate-cache-item-serialization/tools:1068724-1068739
+/subversion/branches/integrate-cache-membuffer/tools:998649-998852
+/subversion/branches/integrate-compression-level/tools:1068651-1072287
+/subversion/branches/integrate-io-improvements/tools:1068684-1072297
+/subversion/branches/integrate-is-cachable/tools:1072568-1074082
+/subversion/branches/integrate-partial-getter/tools:1072558-1076552
+/subversion/branches/integrate-readline-speedup/tools:1072553-1072555
+/subversion/branches/integrate-stream-api-extensions/tools:1068695-1072516
+/subversion/branches/integrate-string-improvements/tools:1068251-1190617
+/subversion/branches/integrate-txdelta-caching/tools:1072541-1078213
+/subversion/branches/issue-2779-dev/tools:965496-984198
+/subversion/branches/issue-2843-dev/tools:871432-874179
+/subversion/branches/issue-3000/tools:871713,871716-871719,871721-871726,871728,871734
+/subversion/branches/issue-3067-deleted-subtrees/tools:873375-874084
+/subversion/branches/issue-3148-dev/tools:875193-875204
+/subversion/branches/issue-3220-dev/tools:872210-872226
+/subversion/branches/issue-3242-dev/tools:879653-896436
+/subversion/branches/issue-3334-dirs/tools:875156-875867
+/subversion/branches/issue-3975/tools:1152931-1160746
+/subversion/branches/issue-4116-dev/tools:1424719-1425040
+/subversion/branches/issue-4194-dev/tools:1410507-1414880
+/subversion/branches/javahl-ra/tools:991978-1494640
+/subversion/branches/kwallet/tools:870785-871314
+/subversion/branches/log-addressing/tools:1509279-1546844
+/subversion/branches/log-g-performance/tools:870941-871032
+/subversion/branches/merge-skips-obstructions/tools:874525-874615
+/subversion/branches/multi-layer-moves/tools:1239019-1300930
+/subversion/branches/nfc-nfd-aware-client/tools:870276,870376
+/subversion/branches/node_pool/tools:1304828-1305388
+/subversion/branches/performance/tools:979193,980118,981087,981090,981189,981194,981287,981684,981827,982043,982355,983398,983406,983430,983474,983488,983490,983760,983764,983766,983770,984927,984973,984984,985014,985037,985046,985472,985477,985482,985487-985488,985493,985497,985500,985514,985601,985603,985606,985669,985673,985695,985697,986453,986465,986485,986491-986492,986517,986521,986605,986608,986817,986832,987865,987868-987869,987872,987886-987888,987893,988319,988898,990330,990533,990535-990537,990541,990568,990572,990574-990575,990600,990759,992899,992904,992911,993127,993141,994956,995478,995507,995603,998012,998858,999098,1001413,1001417,1004291,1022668,1022670,1022676,1022715,1022719,1025660,1025672,1027193,1027203,1027206,1027214,1027227,1028077,1028092,1028094,1028104,1028107,1028111,1028354,1029038,1029042-1029043,1029054-1029055,1029062-1029063,1029078,1029080,1029090,1029092-1029093,1029111,1029151,1029158,1029229-1029230,1029232,1029335-1029336,1029339-1029340,1029
 342,1029344,1030763,1030827,1031203,1031235,1032285,1032333,1033040,1033057,1033294,1035869,1035882,1039511,1043705,1053735,1056015,1066452,1067683,1067697-1078365
+/subversion/branches/py-tests-as-modules/tools:956579-1033052
+/subversion/branches/ra_serf-digest-authn/tools:875693-876404
+/subversion/branches/reintegrate-improvements/tools:873853-874164
+/subversion/branches/remote-only-status/tools:1581845-1586090
+/subversion/branches/revprop-cache/tools:1298521-1326293
+/subversion/branches/revprop-packing/tools:1143907,1143971,1143997,1144017,1144499,1144568,1146145
+/subversion/branches/subtree-mergeinfo/tools:876734-878766
+/subversion/branches/svn-mergeinfo-enhancements/tools:870119-870195,870197-870288
+/subversion/branches/svn-patch-improvements/tools:918519-934609
+/subversion/branches/svn_mutex/tools:1141683-1182099
+/subversion/branches/svnpatch-diff/tools:865738-876477
+/subversion/branches/svnraisetc/tools:874709-875149
+/subversion/branches/svnserve-logging/tools:869828-870893
+/subversion/branches/tc-issue-3334/tools:874697-874773
+/subversion/branches/tc-merge-notify/tools:874017-874062
+/subversion/branches/tc-resolve/tools:874191-874239
+/subversion/branches/tc_url_rev/tools:874351-874483
+/subversion/branches/tree-conflicts/tools:868291-873154
+/subversion/branches/tree-conflicts-notify/tools:873926-874008
+/subversion/branches/tristate-chunked-request/tools:1502394-1502681
+/subversion/branches/tweak-build-take-two/tools:1424288-1425049,1425051-1425613
+/subversion/branches/uris-as-urls/tools:1060426-1064427
+/subversion/branches/verify-at-commit/tools:1462039-1462408
+/subversion/branches/verify-keep-going/tools:1439280-1546110
+/subversion/branches/wc-collate-path/tools:1402685-1480384
+/subversion/trunk/tools:1606692-1634606

Modified: subversion/branches/move-tracking-2/tools/client-side/bash_completion
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/client-side/bash_completion?rev=1634609&r1=1634608&r2=1634609&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/client-side/bash_completion (original)
+++ subversion/branches/move-tracking-2/tools/client-side/bash_completion Mon Oct 27 17:28:13
2014
@@ -1038,7 +1038,8 @@ _svnadmin ()
 	cur=${COMP_WORDS[COMP_CWORD]}
 
 	# Possible expansions, without pure-prefix abbreviations such as "h".
-	cmds='crashtest create deltify dump freeze help hotcopy info list-dblogs \
+	cmds='crashtest create delrevprop deltify dump freeze help hotcopy \
+	      info list-dblogs \
 	      list-unused-dblogs load lock lslocks lstxns pack recover rmlocks \
 	      rmtxns setlog setrevprop setuuid unlock upgrade verify --version'
 
@@ -1101,8 +1102,9 @@ _svnadmin ()
 	setlog)
 		cmdOpts="-r --revision --bypass-hooks"
 		;;
-	setrevprop)
-		cmdOpts="-r --revision --use-pre-revprop-change-hook \
+	setrevprop|delrevprop)
+		cmdOpts="-r --revision -t --transaction \
+		         --use-pre-revprop-change-hook \
 		         --use-post-revprop-change-hook"
 		;;
 	verify)
@@ -1134,6 +1136,8 @@ _svnadmin ()
 		--help)          cmdOpts=${cmdOpts/ -h / } ;;
 		-r)              cmdOpts=${cmdOpts/ --revision / } ;;
 		--revision)      cmdOpts=${cmdOpts/ -r / } ;;
+		-t)              cmdOpts=${cmdOpts/ --transaction / } ;;
+		--transaction)   cmdOpts=${cmdOpts/ -t / } ;;
 		-F)              cmdOpts=${cmdOpts/ --file / } ;;
 		--file)          cmdOpts=${cmdOpts/ -F / } ;;
 		-M)              cmdOpts=${cmdOpts/ --memory-cache-size / } ;;

Modified: subversion/branches/move-tracking-2/tools/dev/fsfs-access-map.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/dev/fsfs-access-map.c?rev=1634609&r1=1634608&r2=1634609&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/dev/fsfs-access-map.c (original)
+++ subversion/branches/move-tracking-2/tools/dev/fsfs-access-map.c Mon Oct 27 17:28:13 2014
@@ -168,7 +168,7 @@ open_file(const char *name, int handle)
   if (!file)
     {
       apr_pool_t *pool = apr_hash_pool_get(files);
-      apr_pool_t *sub_pool = svn_pool_create(pool);
+      apr_pool_t *subpool = svn_pool_create(pool);
 
       apr_file_t *apr_file = NULL;
       apr_finfo_t finfo = { 0 };
@@ -176,10 +176,10 @@ open_file(const char *name, int handle)
 
       /* determine file size (if file still exists) */
       apr_file_open(&apr_file, name,
-                    APR_READ | APR_BUFFERED, APR_OS_DEFAULT, sub_pool);
+                    APR_READ | APR_BUFFERED, APR_OS_DEFAULT, subpool);
       if (apr_file)
         apr_file_info_get(&finfo, APR_FINFO_SIZE, apr_file);
-      svn_pool_destroy(sub_pool);
+      svn_pool_destroy(subpool);
 
       file = apr_pcalloc(pool, sizeof(*file));
       file->name = apr_pstrdup(pool, name);
@@ -353,7 +353,7 @@ static void
 parse_file(apr_file_t *file)
 {
   apr_pool_t *pool = svn_pool_create(NULL);
-  apr_pool_t *iter_pool = svn_pool_create(pool);
+  apr_pool_t *iterpool = svn_pool_create(pool);
 
   /* limit lines to 4k (usually, we need less than 200 bytes) */
   svn_stringbuf_t *line = svn_stringbuf_create_ensure(4096, pool);
@@ -363,13 +363,13 @@ parse_file(apr_file_t *file)
       svn_error_t *err = NULL;
 
       line->len = line->blocksize-1;
-      err = svn_io_read_length_line(file, line->data, &line->len, iter_pool);
+      err = svn_io_read_length_line(file, line->data, &line->len, iterpool);
       svn_error_clear(err);
       if (err)
         break;
 
       parse_line(line);
-      svn_pool_clear(iter_pool);
+      svn_pool_clear(iterpool);
     }
   while (line->len > 0);
 }

Modified: subversion/branches/move-tracking-2/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/dev/unix-build/Makefile.svn?rev=1634609&r1=1634608&r2=1634609&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/move-tracking-2/tools/dev/unix-build/Makefile.svn Mon Oct 27 17:28:13
2014
@@ -72,9 +72,9 @@ APR_VER		= 1.5.1
 APR_ICONV_VER	= 1.2.1
 GNU_ICONV_VER	= 1.14
 APR_UTIL_VER	= 1.5.3
-HTTPD_VER	= 2.2.27
+HTTPD_VER	= 2.2.29
 NEON_VER	= 0.30.0
-SERF_VER	= 1.3.7
+SERF_VER	= 1.3.8
 SERF_OLD_VER	= 0.3.1
 CYRUS_SASL_VER	= 2.1.25
 SQLITE_VER	= 3080500
@@ -91,7 +91,7 @@ GNU_ICONV_DIST	= libiconv-$(GNU_ICONV_VE
 NEON_DIST	= neon-$(NEON_VER).tar.gz
 SQLITE_DIST	= sqlite-autoconf-$(SQLITE_VER).tar.gz
 CYRUS_SASL_DIST	= cyrus-sasl-$(CYRUS_SASL_VER).tar.gz
-HTTPD_DIST	= httpd-$(HTTPD_VER).tar.bz2
+HTTPD_DIST	= httpd-$(HTTPD_VER).tar.gz
 LIBMAGIC_DIST	= file-$(LIBMAGIC_VER).tar.gz
 RUBY_DIST	= ruby-$(RUBY_VER).tar.gz
 BZ2_DIST	= bzip2-$(BZ2_VER).tar.gz
@@ -102,7 +102,7 @@ GETTEXT_DIST	= gettext-$(GETTEXT_VER).ta
 SHA256_${BDB_DIST} = f14fd96dd38915a1d63dcb94a63fbb8092334ceba6b5060760427096f631263e
 SHA256_${APR_ICONV_DIST} = 19381959d50c4a5f3b9c84d594a5f9ffb3809786919b3058281f4c87e1f4b245
 SHA256_${GNU_ICONV_DIST} = 72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613
-SHA256_${HTTPD_DIST} = 205973ded6ca55c056ce9c84d73ab708f7829f330193bd39b651463b8d4f8147
+SHA256_${HTTPD_DIST} = cec2878884b758b0d159a1385b2667a2ae0ca21b0bc7bcc8a9a41b5cfa5452ff
 SHA256_${NEON_DIST} = 2962cfcb5d30f3272e3d2fa0e473434419770a3801afe3d46e5d1650787990c2
 SHA256_${CYRUS_SASL_DIST} = 418c16e6240a4f9b637cbe3d62937b9675627bad27c622191d47de8686fe24fe
 SHA256_${SQLITE_DIST} = 98c33abe4106e508e73fda648b2657ac9e969fe24695f543dcde68cc71f3091b
@@ -626,7 +626,7 @@ $(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$
 	$(HTTPD_OBJDIR)/chil-engine.diff
 	$(call do_check_sha256,$(HTTPD_DIST))
 	[ -d $(HTTPD_OBJDIR) ] || mkdir -p $(HTTPD_OBJDIR)
-	tar -C $(SRCDIR) -jxf $(DISTDIR)/$(HTTPD_DIST)
+	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(HTTPD_DIST)
 	cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/chil-engine.diff
 	cp $(HTTPD_SRCDIR)/modules/ssl/ssl_toolkit_compat.h \
 		$(HTTPD_SRCDIR)/modules/ssl/ssl_toolkit_compat.h.orig
@@ -638,6 +638,14 @@ $(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$
 	sed 's/^\(#if (OPENSSL_VERSION_NUMBER >= 0x00908000)\)$$/\1 \&\& !defined(OPENSSL_NO_COMP)/'
\
 		< $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_vars.c.orig \
 		> $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_vars.c
+	cp $(HTTPD_SRCDIR)/modules/ssl/ssl_engine_init.c \
+		$(HTTPD_SRCDIR)/modules/ssl/ssl_engine_init.c.orig
+	$(foreach f,  ssl_engine_init.c ssl_util_ssl.c ssl_util_ssl.h, \
+		cp $(HTTPD_SRCDIR)/modules/ssl/${f}  $(HTTPD_SRCDIR)/modules/ssl/${f}.orig; \
+		sed 's/SSL_CTX_use_certificate_chain/_SSL_CTX_use_certificate_chain/' \
+		< $(HTTPD_SRCDIR)/modules/ssl/${f}.orig \
+		> $(HTTPD_SRCDIR)/modules/ssl/${f};\
+	)
 	touch $@
 
 # configure httpd

Modified: subversion/branches/move-tracking-2/tools/server-side/svnpredumpfilter.py
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/server-side/svnpredumpfilter.py?rev=1634609&r1=1634608&r2=1634609&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/server-side/svnpredumpfilter.py (original)
+++ subversion/branches/move-tracking-2/tools/server-side/svnpredumpfilter.py Mon Oct 27 17:28:13
2014
@@ -38,6 +38,10 @@ Use the default ordering of revisions (t
 Return errorcode 0 if there are no additional dependencies found, 1 if
 there were; any other errorcode indicates a fatal error.
 
+Paths in mergeinfo are not considered as additional dependencies so the
+--skip-missing-merge-sources option of 'svndumpfilter' may be required
+for successful filtering with the resulting path list.
+
 Options:
 
    --help (-h)           Show this usage message and exit.
@@ -68,7 +72,7 @@ def sanitize_path(path):
 def subsumes(path, maybe_child):
   if path == maybe_child:
     return True
-  if maybe_child.find(path + '/') == 0:
+  if maybe_child.startswith(path + '/'):
     return True
   return False
 
@@ -117,20 +121,35 @@ def log(msg, min_verbosity):
 
 class DependencyTracker:
   def __init__(self, include_paths):
-    self.include_paths = include_paths[:]
-    self.dependent_paths = []
+    self.include_paths = set(include_paths)
+    self.dependent_paths = set()
 
   def path_included(self, path):
-    for include_path in self.include_paths + self.dependent_paths:
+    for include_path in self.include_paths | self.dependent_paths:
       if subsumes(include_path, path):
         return True
     return False
 
-  def handle_changes(self, path_copies):
-    for path, copyfrom_path in path_copies.items():
-      if self.path_included(path) and copyfrom_path:
-        if not self.path_included(copyfrom_path):
-          self.dependent_paths.append(copyfrom_path)
+  def include_missing_copies(self, path_copies):
+    while True:
+      log("Cross-checking %d included paths with %d copies "
+          "for missing path dependencies..." % (
+            len(self.include_paths) + len(self.dependent_paths),
+            len(path_copies)),
+          1)
+      included_copies = []
+      for path, copyfrom_path in path_copies:
+        if self.path_included(path):
+          log("Adding copy '%s' -> '%s'" % (copyfrom_path, path), 1)
+          self.dependent_paths.add(copyfrom_path)
+          included_copies.append((path, copyfrom_path))
+      if not included_copies:
+        log("Found all missing path dependencies", 1)
+        break
+      for path, copyfrom_path in included_copies:
+        path_copies.remove((path, copyfrom_path))
+      log("Found %d new copy dependencies, need to re-check for more"
+        % len(included_copies), 1)
 
 def readline(stream):
   line = stream.readline()
@@ -151,7 +170,7 @@ def svn_log_stream_get_dependencies(stre
   line_buf = None
   last_revision = 0
   eof = False
-  path_copies = {}
+  path_copies = set()
   found_changed_path = False
 
   while not eof:
@@ -195,16 +214,15 @@ def svn_log_stream_get_dependencies(stre
         except EOFError:
           eof = True
           break
-        match = action_re.search(line)
+        match = copy_action_re.search(line)
         if match:
           found_changed_path = True
-          match = copy_action_re.search(line)
-          if match:
-            path_copies[sanitize_path(match.group(1))] = \
-              sanitize_path(match.group(2))
+          path_copies.add((sanitize_path(match.group(1)),
+                           sanitize_path(match.group(2))))
+        elif action_re.search(line):
+          found_changed_path = True
         else:
           break
-      dt.handle_changes(path_copies)
 
     # Finally, skip any log message lines.  (If there are none,
     # remember the last line we read, because it probably has
@@ -221,6 +239,7 @@ def svn_log_stream_get_dependencies(stre
                          "'svn log' with the --verbose (-v) option when "
                          "generating the input to this script?")
 
+  dt.include_missing_copies(path_copies)
   return dt
 
 def analyze_logs(included_paths):



Mime
View raw message