You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2015/09/21 17:27:08 UTC
svn commit: r1704320 [4/4] - in /subversion/branches/move-tracking-2: ./
build/ build/generator/ build/generator/templates/ subversion/
subversion/bindings/javahl/native/jniwrapper/ subversion/include/
subversion/include/private/ subversion/libsvn_clie...
Modified: subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/stream-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/stream-test.c?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/stream-test.c (original)
+++ subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/stream-test.c Mon Sep 21 15:26:27 2015
@@ -32,74 +32,6 @@
#include "../svn_test.h"
-struct stream_baton_t
-{
- svn_filesize_t capacity_left;
- char current;
- apr_size_t max_read;
-};
-
-/* Implements svn_stream_t.read_fn. */
-static svn_error_t *
-read_handler(void *baton,
- char *buffer,
- apr_size_t *len)
-{
- struct stream_baton_t *btn = baton;
- int i;
-
- /* Cap the read request to what we actually support. */
- if (btn->max_read < *len)
- *len = btn->max_read;
- if (btn->capacity_left < *len)
- *len = (apr_size_t)btn->capacity_left;
-
- /* Produce output */
- for (i = 0; i < *len; ++i)
- {
- buffer[i] = btn->current + 1;
- btn->current = (btn->current + 1) & 0x3f;
-
- btn->capacity_left--;
- }
-
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-data_available_handler(void *baton,
- svn_boolean_t *data_available)
-{
- struct stream_baton_t *btn = baton;
- *data_available = btn->capacity_left > 0;
-
- return SVN_NO_ERROR;
-}
-
-/* Return a stream that produces CAPACITY characters in chunks of at most
- * MAX_READ chars. The first char will be '\1' followed by '\2' etc. up
- * to '\x40' and then repeating the cycle until the end of the stream.
- * Allocate the result in RESULT_POOL. */
-static svn_stream_t *
-create_test_read_stream(svn_filesize_t capacity,
- apr_size_t max_read,
- apr_pool_t *result_pool)
-{
- svn_stream_t *stream;
- struct stream_baton_t *baton;
-
- baton = apr_pcalloc(result_pool, sizeof(*baton));
- baton->capacity_left = capacity;
- baton->current = 0;
- baton->max_read = max_read;
-
- stream = svn_stream_create(baton, result_pool);
- svn_stream_set_read2(stream, read_handler, NULL);
- svn_stream_set_data_available(stream, data_available_handler);
-
- return stream;
-}
-
/*------------------------ Tests --------------------------- */
static svn_error_t *
@@ -872,70 +804,6 @@ test_stream_compressed_read_full(apr_poo
return SVN_NO_ERROR;
}
-/* Utility function verifying that LINE contains LENGTH characters read
- * from a stream returned by create_test_read_stream(). C is the first
- * character expected in LINE. */
-static svn_error_t *
-expect_line_content(svn_stringbuf_t *line,
- char start,
- apr_size_t length)
-{
- apr_size_t i;
- char c = start - 1;
-
- SVN_TEST_ASSERT(line->len == length);
- for (i = 0; i < length; ++i)
- {
- SVN_TEST_ASSERT(line->data[i] == c + 1);
- c = (c + 1) & 0x3f;
- }
-
- return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-test_stream_buffered_wrapper(apr_pool_t *pool)
-{
- apr_pool_t *iterpool = svn_pool_create(pool);
- svn_stringbuf_t *line;
- svn_boolean_t eof = FALSE;
- apr_size_t read = 0;
-
- /* At least a few stream chunks (16k) worth of data. */
- const apr_size_t stream_length = 100000;
-
- /* Our source stream delivers data in very small chunks only.
- * This requires multiple reads per line while readline will hold marks
- * etc. */
- svn_stream_t *stream = create_test_read_stream(stream_length, 19, pool);
- stream = svn_stream_wrap_buffered_read(stream, pool);
-
- /* We told the stream not to supports seeking to the start. */
- SVN_TEST_ASSERT_ERROR(svn_stream_seek(stream, NULL),
- SVN_ERR_STREAM_SEEK_NOT_SUPPORTED);
-
- /* Read all lines. Check EOF detection. */
- while (!eof)
- {
- /* The local pool ensures that marks get cleaned up. */
- svn_pool_clear(iterpool);
- SVN_ERR(svn_stream_readline(stream, &line, "\n", &eof, iterpool));
-
- /* Verify that we read the correct data and the full stream. */
- if (read == 0)
- SVN_ERR(expect_line_content(line, 1, '\n' - 1));
- else if (eof)
- SVN_ERR(expect_line_content(line, '\n' + 1, stream_length - read));
- else
- SVN_ERR(expect_line_content(line, '\n' + 1, 63));
-
- /* Update bytes read. */
- read += line->len + 1;
- }
-
- return SVN_NO_ERROR;
-}
-
/* The test table. */
static int max_threads = 1;
@@ -967,8 +835,6 @@ static struct svn_test_descriptor_t test
"test svn_stringbuf_from_stream"),
SVN_TEST_PASS2(test_stream_compressed_read_full,
"test compression for streams without partial read"),
- SVN_TEST_PASS2(test_stream_buffered_wrapper,
- "test buffering read stream wrapper"),
SVN_TEST_NULL
};
Propchange: subversion/branches/move-tracking-2/tools/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 21 15:26:27 2015
@@ -82,4 +82,4 @@
/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-1702602
+/subversion/trunk/tools:1606692-1704317
Modified: subversion/branches/move-tracking-2/tools/buildbot/slaves/bb-openbsd/svncheck-bindings.sh
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/buildbot/slaves/bb-openbsd/svncheck-bindings.sh?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/buildbot/slaves/bb-openbsd/svncheck-bindings.sh (original)
+++ subversion/branches/move-tracking-2/tools/buildbot/slaves/bb-openbsd/svncheck-bindings.sh Mon Sep 21 15:26:27 2015
@@ -25,7 +25,7 @@ set -x
branch="$(basename $(svn info . | grep ^URL | cut -d' ' -f2))"
export MALLOC_OPTIONS=S
(cd .. && gmake BRANCH="$branch" THREADING="no" ENABLE_PERL_BINDINGS="no" svn-check-bindings)
-grep -q "^Result: PASS$" tests.log.bindings.pl || exit 1
+#grep -q "^Result: PASS$" tests.log.bindings.pl || exit 1
grep -q "^OK$" tests.log.bindings.py || exit 1
tail -n 1 tests.log.bindings.rb | grep -q ", 0 failures, 0 errors" || exit 1
#TODO javahl
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=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/client-side/bash_completion (original)
+++ subversion/branches/move-tracking-2/tools/client-side/bash_completion Mon Sep 21 15:26:27 2015
@@ -1152,6 +1152,9 @@ _svnadmin ()
--use-pre-commit-hook --use-post-commit-hook \
--bypass-prop-validation -M --memory-cache-size"
;;
+ lstxns)
+ cmdOpts="-r --revision"
+ ;;
lock|unlock)
cmdOpts="--bypass-hooks"
;;
Modified: subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/analyze-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/analyze-cmd.c?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/analyze-cmd.c (original)
+++ subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/analyze-cmd.c Mon Sep 21 15:26:27 2015
@@ -40,14 +40,16 @@ svn_min__analyze(apr_getopt_t *os,
{
svn_min__cmd_baton_t *cmd_baton = baton;
- /* If no option is given, default to "remove redundant sub-node m/i". */
+ /* If no option is given, default to "remove all you can". */
if ( !cmd_baton->opt_state->remove_redundants
&& !cmd_baton->opt_state->remove_obsoletes
- && !cmd_baton->opt_state->combine_ranges)
+ && !cmd_baton->opt_state->combine_ranges
+ && !cmd_baton->opt_state->remove_redundant_misaligned)
{
cmd_baton->opt_state->remove_redundants = TRUE;
cmd_baton->opt_state->remove_obsoletes = TRUE;
cmd_baton->opt_state->combine_ranges = TRUE;
+ cmd_baton->opt_state->remove_redundant_misaligned = TRUE;
}
cmd_baton->opt_state->run_analysis = TRUE;
Modified: subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/logic.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/logic.c?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/logic.c (original)
+++ subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/logic.c Mon Sep 21 15:26:27 2015
@@ -752,6 +752,161 @@ remove_overlapping_history(svn_rangelist
return SVN_NO_ERROR;
}
+/* Show the results of an attempt at "misaligned branch elision".
+ * SOURCE_BRANCH was to be elided because TARGET_BRANCH would cover it all.
+ * There were MISSING revisions exclusively in SOURCE_BRANCH. OPT_STATE
+ * filters the output and SCRATCH_POOL is used for temporary allocations.
+ */
+static svn_error_t *
+show_misaligned_branch_elision(const char *source_branch,
+ const char *target_branch,
+ svn_rangelist_t *missing,
+ svn_min__opt_state_t *opt_state,
+ apr_pool_t *scratch_pool)
+{
+ if (opt_state->verbose || opt_state->run_analysis)
+ {
+ if (missing->nelts)
+ {
+ SVN_ERR(svn_cmdline_printf(scratch_pool,
+ _(" CANNOT elide MISALIGNED branch %s\n"
+ " to likely correctly aligned branch %s\n"),
+ source_branch, target_branch));
+ SVN_ERR(print_ranges(missing,
+ _("revisions not merged from likely correctly"
+ " aligned branch: "),
+ scratch_pool));
+ }
+ else
+ {
+ SVN_ERR(svn_cmdline_printf(scratch_pool,
+ _(" elide misaligned branch %s\n"
+ " to likely correctly aligned branch %s\n"),
+ source_branch, target_branch));
+ }
+ }
+
+ return SVN_NO_ERROR;
+}
+
+/* Search MERGEINFO for branches that are sub-branches of one another.
+ * If exactly one of them shares the base with the FS_PATH to which the m/i
+ * is attached, than this is likely the properly aligned branch while the
+ * others are misaligned.
+ *
+ * Using LOG, determine those misaligned branches whose operative merged
+ * revisions are already covered by the merged revisions of the likely
+ * correctly aligned branch. In that case, remove those misaligned branch
+ * entries from MERGEINFO.
+ *
+ * OPT_STATE filters the output and SCRATCH_POOL is used for temporaries.
+ */
+static svn_error_t *
+remove_redundant_misaligned_branches(svn_min__log_t *log,
+ const char *fs_path,
+ svn_mergeinfo_t mergeinfo,
+ svn_min__opt_state_t *opt_state,
+ apr_pool_t *scratch_pool)
+{
+ apr_pool_t *iterpool = svn_pool_create(scratch_pool);
+ int i, k;
+ const char *base_name = svn_dirent_basename(fs_path, scratch_pool);
+ apr_array_header_t *sorted_mi;
+
+ sorted_mi = svn_sort__hash(mergeinfo,
+ svn_sort_compare_items_lexically,
+ scratch_pool);
+
+ for (i = 0; i < sorted_mi->nelts - 1; i = k)
+ {
+ const char *item_path, *sub_item_path;
+ int maybe_aligned_index = -1;
+ int maybe_aligned_found = 0;
+ int sub_branch_count = 0;
+
+ svn_pool_clear(iterpool);
+
+ /* Find the range of branches that are sub-branches of the one at I. */
+ item_path = APR_ARRAY_IDX(sorted_mi, i, svn_sort__item_t).key;
+ if (!strcmp(base_name, svn_dirent_basename(item_path, iterpool)))
+ {
+ maybe_aligned_index = i;
+ maybe_aligned_found = 1;
+ }
+
+ for (k = i + 1; k < sorted_mi->nelts; ++k)
+ {
+ sub_item_path = APR_ARRAY_IDX(sorted_mi, k, svn_sort__item_t).key;
+ if (!svn_dirent_is_ancestor(item_path, sub_item_path))
+ break;
+
+ if (!strcmp(base_name,
+ svn_dirent_basename(sub_item_path, iterpool)))
+ {
+ maybe_aligned_index = k;
+ maybe_aligned_found++;
+ }
+ }
+
+ /* Found any? If so, did we identify exactly one of them as likely
+ * being properly aligned? */
+ sub_branch_count = k - i - 1;
+ if ((maybe_aligned_found != 1) || (sub_branch_count == 0))
+ continue;
+
+ /* Try to elide all misaligned branches individually. */
+ for (k = i; k < i + sub_branch_count + 1; ++k)
+ {
+ svn_sort__item_t *source_item, *target_item;
+ svn_rangelist_t *missing, *dummy;
+
+ /* Is this one of the misaligned branches? */
+ if (k == maybe_aligned_index)
+ continue;
+
+ source_item = &APR_ARRAY_IDX(sorted_mi, k, svn_sort__item_t);
+ target_item = &APR_ARRAY_IDX(sorted_mi, maybe_aligned_index,
+ svn_sort__item_t);
+
+ /* Elide into sub-branch or parent branch (can't be equal here).
+ * Because we only know these are within the I tree, source and
+ * target may be siblings. Check that they actually have an
+ * ancestor relationship.
+ */
+ if (k < maybe_aligned_index)
+ {
+ if (!svn_dirent_is_ancestor(source_item->key, target_item->key))
+ continue;
+ }
+ else
+ {
+ if (!svn_dirent_is_ancestor(target_item->key, source_item->key))
+ continue;
+ }
+
+ /* Determine which revisions are MISSING in target. */
+ SVN_ERR(svn_rangelist_diff(&missing, &dummy,
+ source_item->value, target_item->value,
+ TRUE, iterpool));
+ missing = svn_min__operative(log, source_item->key, missing,
+ iterpool);
+
+ /* Show the result and elide the branch if we can. */
+ SVN_ERR(show_misaligned_branch_elision(source_item->key,
+ target_item->key,
+ missing,
+ opt_state,
+ iterpool));
+ if (!missing->nelts)
+ svn_hash_sets(mergeinfo, source_item->key, NULL);
+ }
+ }
+
+ svn_pool_destroy(iterpool);
+
+ return SVN_NO_ERROR;
+}
+
/* Try to elide as many lines from SUBTREE_MERGEINFO for node at FS_PATH as
* possible using LOG and LOOKUP. OPT_STATE determines if we may remove
* deleted branches. Elision happens by comparing the node's mergeinfo
@@ -824,8 +979,8 @@ remove_lines(svn_min__log_t *log,
continue;
}
- /* We don't know how to handle reverse ranges (there should be none).
- So, we must check for them - just to be sure. */
+ /* We don't know how to handle non-recursive ranges (they are legal,
+ * though). So, we must check for them - just to be sure. */
non_recursive_ranges = find_non_recursive_ranges(subtree_ranges,
iterpool);
if (non_recursive_ranges->nelts)
@@ -1274,7 +1429,15 @@ normalize(apr_array_header_t *wc_mergein
SVN_ERR(show_elision_header(parent_path, relpath, opt_state,
scratch_pool));
- /* Modify the mergeinfo here. */
+ /* Get rid of some of the easier cases of misaligned branches.
+ * Directly modify the orignal mergeinfo. */
+ if (opt_state->remove_redundant_misaligned)
+ SVN_ERR(remove_redundant_misaligned_branches(log, fs_path,
+ subtree_mergeinfo,
+ opt_state, iterpool));
+
+ /* Modify this copy of the mergeinfo.
+ * If we can elide it all, drop the original. */
subtree_mergeinfo_copy = svn_mergeinfo_dup(subtree_mergeinfo,
iterpool);
Modified: subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/mergeinfo-normalizer.h
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/mergeinfo-normalizer.h?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/mergeinfo-normalizer.h (original)
+++ subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/mergeinfo-normalizer.h Mon Sep 21 15:26:27 2015
@@ -67,6 +67,7 @@ typedef struct svn_min__opt_state_t
svn_boolean_t remove_obsoletes;
svn_boolean_t combine_ranges;
svn_boolean_t remove_redundants;
+ svn_boolean_t remove_redundant_misaligned;
svn_boolean_t run_analysis;
/* trust server SSL certs that would otherwise be rejected as "untrusted" */
Modified: subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/normalize-cmd.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/normalize-cmd.c?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/normalize-cmd.c (original)
+++ subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/normalize-cmd.c Mon Sep 21 15:26:27 2015
@@ -43,7 +43,8 @@ svn_min__normalize(apr_getopt_t *os,
/* If no option is given, default to "remove redundant sub-node m/i". */
if ( !cmd_baton->opt_state->remove_redundants
&& !cmd_baton->opt_state->remove_obsoletes
- && !cmd_baton->opt_state->combine_ranges)
+ && !cmd_baton->opt_state->combine_ranges
+ && !cmd_baton->opt_state->remove_redundant_misaligned)
cmd_baton->opt_state->remove_redundants = TRUE;
SVN_ERR(svn_min__run_normalize(baton, pool));
Modified: subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c (original)
+++ subversion/branches/move-tracking-2/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c Mon Sep 21 15:26:27 2015
@@ -88,6 +88,7 @@ typedef enum svn_min__longopt_t {
opt_remove_obsoletes,
opt_remove_redundant,
opt_combine_ranges,
+ opt_remove_redundant_misaligned
} svn_cl__longopt_t;
@@ -177,6 +178,10 @@ const apr_getopt_option_t svn_min__optio
N_("Remove mergeinfo on sub-nodes if it is\n"
" "
"redundant with the parent mergeinfo.")},
+ {"remove-redundant-misaligned", opt_remove_redundant_misaligned, 0,
+ N_("Remove mergeinfo of a misaligned branch if it\n"
+ " "
+ "is already covered by a correctly aligned one.\n")},
{"combine-ranges", opt_combine_ranges, 0,
N_("Try to combine adjacent revision ranges\n"
" "
@@ -238,14 +243,16 @@ const svn_opt_subcommand_desc2_t svn_min
" branches.\n"
),
{opt_targets, opt_depth, 'v',
- opt_remove_obsoletes, opt_remove_redundant, opt_combine_ranges} },
+ opt_remove_obsoletes, opt_remove_redundant,
+ opt_remove_redundant_misaligned, opt_combine_ranges} },
{ "normalize", svn_min__normalize, { 0 }, N_
("Normalize / reduce the mergeinfo throughout the working copy sub-tree.\n"
"usage: normalize [WCPATH...]\n"
"\n"
- " If neither --remove-obsoletes, --remove-redundant nor --combine-ranges\n"
- " option is given, --remove-redundant will be used implicitly.\n"
+ " If neither --remove-obsoletes, --remove-redundant, --combine-ranges\n"
+ " nor --remove-redundant-misaligned option is given, --remove-redundant\n"
+ " will be used implicitly.\n"
"\n"
" In non-verbose mode, only general progress as well as a summary before\n"
" and after the normalization process will be shown. Note that sub-node\n"
@@ -278,6 +285,9 @@ const svn_opt_subcommand_desc2_t svn_min
" mergeinfo because they did not change it.\n"
" remove deleted branch - The branch no longer exists in the repository.\n"
" We will remove its mergeinfo line.\n"
+ " elide misaligned branch- All revisions merged from that misaligned\n"
+ " branch have also been merged from the likely\n"
+ " correctly aligned branch.\n"
" CANNOT elide branch - Mergeinfo differs from parent's significantly\n"
" and can't be elided because ...\n"
" revisions not movable to parent\n"
@@ -300,6 +310,12 @@ const svn_opt_subcommand_desc2_t svn_min
" MISSING in parent - The branch for the parent node exists in the\n"
" repository but is not in its mergeinfo.\n"
" The sub-tree mergeinfo will not be elided.\n"
+ " CANNOT elide MISALIGNED branch\n"
+ " The misaligned branch cannot be elide because\n"
+ " the revisions listed ...\n"
+ " revisions not merged from likely correctly aligned branch\n"
+ " ... here have not also been merged from the\n"
+ " likely correctly aligned branch.\n"
" MISALIGNED branch - There is no such branch for the parent node.\n"
" The sub-tree mergeinfo cannot be elided.\n"
" REVERSE RANGE(S) found - The mergeinfo contains illegal reverse ranges.\n"
@@ -310,7 +326,8 @@ const svn_opt_subcommand_desc2_t svn_min
" branches will be removed. In verbose mode, a list of branches that\n"
" could not be removed will be shown per node.\n"),
{opt_targets, opt_depth, opt_dry_run, 'q', 'v',
- opt_remove_obsoletes, opt_remove_redundant, opt_combine_ranges} },
+ opt_remove_obsoletes, opt_remove_redundant,
+ opt_remove_redundant_misaligned, opt_combine_ranges} },
{ "remove-branches", svn_min__remove_branches, { 0 }, N_
("Read a list of branch names from the given file and remove all\n"
@@ -565,6 +582,9 @@ sub_main(int *exit_code, int argc, const
case opt_combine_ranges:
opt_state.combine_ranges = TRUE;
break;
+ case opt_remove_redundant_misaligned:
+ opt_state.remove_redundant_misaligned = TRUE;
+ break;
default:
/* Hmmm. Perhaps this would be a good place to squirrel away
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=1704320&r1=1704319&r2=1704320&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 Sep 21 15:26:27 2015
@@ -79,7 +79,7 @@ SERF_OLD_VER = 0.3.1
CYRUS_SASL_VER = 2.1.25
SQLITE_VER = 3080500
LIBMAGIC_VER = 5.19
-RUBY_VER = 1.8.7-p358
+RUBY_VER = 1.8.7-p374
BZ2_VER = 1.0.6
PYTHON_VER = 2.7.8
JUNIT_VER = 4.10
@@ -107,7 +107,7 @@ SHA256_${NEON_DIST} = 2962cfcb5d30f3272e
SHA256_${CYRUS_SASL_DIST} = 418c16e6240a4f9b637cbe3d62937b9675627bad27c622191d47de8686fe24fe
SHA256_${SQLITE_DIST} = 98c33abe4106e508e73fda648b2657ac9e969fe24695f543dcde68cc71f3091b
SHA256_${LIBMAGIC_DIST} = 9484b3bbda1acc7b13a4f71031a85ce10c77bd0ffec7226741a219ef587e3a7c
-SHA256_${RUBY_DIST} = 9e0856d58830e08f1e38233947d859898ae09d4780cb1a502108e41308de33cb
+SHA256_${RUBY_DIST} = 876eeeaaeeab10cbf4767833547d66d86d6717ef48fd3d89e27db8926a65276c
SHA256_${BZ2_DIST} = a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd
SHA256_${PYTHON_DIST} = 74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557
SHA256_${JUNIT_DIST} = 36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a
@@ -156,7 +156,7 @@ SERF_OLD_URL = https://svn.apache.org/re
SQLITE_URL = https://www.sqlite.org/2014/$(SQLITE_DIST)
CYRUS_SASL_URL = ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/$(CYRUS_SASL_DIST)
LIBMAGIC_URL = ftp://ftp.astron.com/pub/file/$(LIBMAGIC_DIST)
-RUBY_URL = http://ftp.ruby-lang.org/pub/ruby/1.8/$(RUBY_DIST)
+RUBY_URL = https://cache.ruby-lang.org/pub/ruby/1.8/$(RUBY_DIST)
BZ2_URL = http://bzip.org/$(BZ2_VER)/$(BZ2_DIST)
PYTHON_URL = https://python.org/ftp/python/$(PYTHON_VER)/$(PYTHON_DIST)
JUNIT_URL = https://downloads.sourceforge.net/project/junit/junit/$(JUNIT_VER)/$(JUNIT_DIST)
@@ -597,6 +597,8 @@ httpd-reset:
httpd-clean:
-(cd $(HTTPD_OBJDIR) && env MAKEFLAGS= make clean)
+ -rm ${HTTPD_OBJDIR}/chil-engine.diff
+ -rm ${HTTPD_OBJDIR}/ssl3.diff
# fetch distfile for httpd
$(DISTDIR)/$(HTTPD_DIST):
@@ -620,14 +622,31 @@ $(HTTPD_OBJDIR)/chil-engine.diff:
echo >>$@.tmp ' ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,'
mv -f $@.tmp $@
+$(HTTPD_OBJDIR)/ssl3.diff:
+ mkdir -p $(dir $@)
+ echo >$@.tmp '--- support/ab.c.orig Mon Sep 14 15:33:46 2015'
+ echo >>$@.tmp '+++ support/ab.c Mon Sep 14 15:34:15 2015'
+ echo >>$@.tmp '@@ -2232,8 +2232,10 @@'
+ echo >>$@.tmp ' } else if (strncasecmp(optarg, "SSL2", 4) == 0) {'
+ echo >>$@.tmp ' meth = SSLv2_client_method();'
+ echo >>$@.tmp ' #endif'
+ echo >>$@.tmp '+#ifndef OPENSSL_NO_SSL3'
+ echo >>$@.tmp ' } else if (strncasecmp(optarg, "SSL3", 4) == 0) {'
+ echo >>$@.tmp ' meth = SSLv3_client_method();'
+ echo >>$@.tmp '+#endif'
+ echo >>$@.tmp ' #ifdef HAVE_TLSV1_X'
+ echo >>$@.tmp ' } else if (strncasecmp(optarg, "TLS1.1", 6) == 0) {'
+ echo >>$@.tmp ' meth = TLSv1_1_client_method();'
+ mv -f $@.tmp $@
# retrieve httpd
$(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$(HTTPD_DIST) \
- $(HTTPD_OBJDIR)/chil-engine.diff
+ $(HTTPD_OBJDIR)/chil-engine.diff $(HTTPD_OBJDIR)/ssl3.diff
$(call do_check_sha256,$(HTTPD_DIST))
[ -d $(HTTPD_OBJDIR) ] || mkdir -p $(HTTPD_OBJDIR)
tar -C $(SRCDIR) -zxf $(DISTDIR)/$(HTTPD_DIST)
cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/chil-engine.diff
+ cd $(HTTPD_SRCDIR) && patch -p0 < $(HTTPD_OBJDIR)/ssl3.diff
cp $(HTTPD_SRCDIR)/modules/ssl/ssl_toolkit_compat.h \
$(HTTPD_SRCDIR)/modules/ssl/ssl_toolkit_compat.h.orig
sed '/^#define HAVE_SSL_RAND_EGD/d' \
@@ -1053,6 +1072,11 @@ $(RUBY_OBJDIR)/.retrieved: $(DISTDIR)/$(
$(call do_check_sha256,$(RUBY_DIST))
[ -d $(RUBY_OBJDIR) ] || mkdir -p $(RUBY_OBJDIR)
tar -C $(SRCDIR) -zxf $(DISTDIR)/$(RUBY_DIST)
+ grep -v 'OSSL_SSL_METHOD_ENTRY(SSLv3' \
+ $(RUBY_SRCDIR)/ext/openssl/ossl_ssl.c > \
+ $(RUBY_SRCDIR)/ext/openssl/ossl_ssl.c.nossl3
+ mv $(RUBY_SRCDIR)/ext/openssl/ossl_ssl.c.nossl3 \
+ $(RUBY_SRCDIR)/ext/openssl/ossl_ssl.c
touch $@
ifeq ($(THREADING),yes)
Modified: subversion/branches/move-tracking-2/tools/dev/x509-parser.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/tools/dev/x509-parser.c?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/tools/dev/x509-parser.c (original)
+++ subversion/branches/move-tracking-2/tools/dev/x509-parser.c Mon Sep 21 15:26:27 2015
@@ -158,7 +158,7 @@ int main (int argc, const char *argv[])
}
else if (argc == 1)
{
- err = svn_stream_for_stdin(&in, pool);
+ err = svn_stream_for_stdin2(&in, TRUE, pool);
}
else
err = svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL, _("Too many arguments"));
Modified: subversion/branches/move-tracking-2/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/win-tests.py?rev=1704320&r1=1704319&r2=1704320&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/win-tests.py (original)
+++ subversion/branches/move-tracking-2/win-tests.py Mon Sep 21 15:26:27 2015
@@ -31,6 +31,7 @@ import os, sys, subprocess
import filecmp
import shutil
import traceback
+import logging
try:
# Python >=3.0
import configparser
@@ -59,7 +60,6 @@ def _usage_exit():
print(" -u URL, --url=URL : run ra_dav or ra_svn tests against URL;")
print(" will start svnserve for ra_svn tests")
print(" -v, --verbose : talk more")
- print(" -q, --quiet : talk less")
print(" -f, --fs-type=type : filesystem type to use (fsfs is default)")
print(" -c, --cleanup : cleanup after running a test")
print(" -t, --test=TEST : Run the TEST test (all is default); use")
@@ -108,6 +108,8 @@ def _usage_exit():
print(" --config-file : Configuration file for tests")
print(" --fsfs-sharding : Specify shard size (for fsfs)")
print(" --fsfs-packing : Run 'svnadmin pack' automatically")
+ print(" -q, --quiet : Deprecated; this is the default.")
+ print(" Use --set-log-level instead.")
sys.exit(0)
@@ -141,7 +143,7 @@ if len(args) > 1:
print('Warning: non-option arguments after the first one will be ignored')
# Interpret the options and set parameters
-base_url, fs_type, verbose, quiet, cleanup = None, None, None, None, None
+base_url, fs_type, verbose, cleanup = None, None, None, None
repo_loc = 'local repository.'
objdir = 'Debug'
log = 'tests.log'
@@ -187,8 +189,7 @@ for opt, val in opts:
fs_type = val
elif opt in ('-v', '--verbose'):
verbose = 1
- elif opt in ('-q', '--quiet'):
- quiet = 1
+ log_level = logging.DEBUG
elif opt in ('-c', '--cleanup'):
cleanup = 1
elif opt in ('-t', '--test'):
@@ -250,7 +251,7 @@ for opt, val in opts:
elif opt == '--log-to-stdout':
log_to_stdout = 1
elif opt == '--log-level':
- log_level = val
+ log_level = getattr(logging, val, None) or int(val)
elif opt == '--ssl-cert':
ssl_cert = val
elif opt == '--exclusive-wc-locks':
@@ -999,7 +1000,6 @@ if not test_javahl and not test_swig:
opts.fs_type = fs_type
opts.http_library = 'serf'
opts.server_minor_version = server_minor_version
- opts.verbose = not quiet
opts.cleanup = cleanup
opts.enable_sasl = enable_sasl
opts.parallel = parallel
Propchange: subversion/branches/move-tracking-2/win-tests.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 21 15:26:27 2015
@@ -86,4 +86,4 @@
/subversion/branches/verify-at-commit/win-tests.py:1462039-1462408
/subversion/branches/verify-keep-going/win-tests.py:1439280-1546110
/subversion/branches/wc-collate-path/win-tests.py:1402685-1480384
-/subversion/trunk/win-tests.py:1606692-1701347
+/subversion/trunk/win-tests.py:1606692-1704317