[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-commits
Subject:    svn commit: r1829347 [7/7] - in /subversion/branches/better-pristines: ./ build/ build/ac-macros/ co
From:       brane () apache ! org
Date:       2018-04-17 9:19:06
Message-ID: 20180417091910.E93573A0338 () svn01-us-west ! apache ! org
[Download RAW message or body]

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/merge_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/merge_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/merge_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/merge_tests.py Tue \
Apr 17 09:19:05 2018 @@ -697,7 +697,7 @@ def simple_property_merges(sbox):
 def merge_similar_unrelated_trees(sbox):
   "merging similar trees ancestrally unrelated"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=1249. ##
+  ## See https://issues.apache.org/jira/browse/SVN-1249. ##
 
   sbox.build()
   wc_dir = sbox.wc_dir
@@ -3939,7 +3939,7 @@ def avoid_repeated_merge_on_subtree_with
                                        check_props=True)
 
   # Test for part of Issue #2821, see
-  # http://subversion.tigris.org/issues/show_bug.cgi?id=2821#desc22
+  # https://issues.apache.org/jira/browse/SVN-2821#desc22
   #
   # Revert all local changes.
   svntest.actions.run_and_verify_svn(None, [], 'revert', '-R', wc_dir)
@@ -6007,7 +6007,7 @@ def foreign_repos_does_not_update_mergei
 def avoid_reflected_revs(sbox):
   "avoid repeated merges for cyclic merging"
 
-  # See <http://subversion.tigris.org/issues/show_bug.cgi?id=2897>.
+  # See <https://issues.apache.org/jira/browse/SVN-2897>.
   #
   # This test cherry-picks some changes (all of them, in fact) from the
   # parent branch 'A' to the child branch 'A_COPY', and then tries to
@@ -8294,7 +8294,7 @@ def cherry_picking(sbox):
 def propchange_of_subdir_raises_conflict(sbox):
   "merge of propchange on subdir raises conflict"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=2969. ##
+  ## See https://issues.apache.org/jira/browse/SVN-2969. ##
 
   # Create a WC with a single branch
   sbox.build()
@@ -8515,7 +8515,7 @@ def reverse_merge_prop_add_on_child(sbox
 def merge_target_with_non_inheritable_mergeinfo(sbox):
   "merge target with non inheritable mergeinfo"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=2970. ##
+  ## See https://issues.apache.org/jira/browse/SVN-2970. ##
 
   # Create a WC with a single branch
   sbox.build()
@@ -8547,7 +8547,7 @@ def merge_target_with_non_inheritable_me
   expected_output = wc.State(A_COPY_B_path, {
     'lambda' : Item(status='U '),
     })
-  # Issue #3642 http://subversion.tigris.org/issues/show_bug.cgi?id=3642
+  # Issue #3642 https://issues.apache.org/jira/browse/SVN-3642
   #
   # We don't expect A_COPY/B/F to have mergeinfo recorded on it because
   # not only is it unaffected by the merge at depth immediates, it could
@@ -8820,7 +8820,7 @@ def merge_from_renamed_branch_fails_whil
   #Merge r4 from A/RENAMED_C to A/C
   #Merge r2:5 from A/RENAMED_C to A/C <-- This fails tracked via #3032.
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=3032. ##
+  ## See https://issues.apache.org/jira/browse/SVN-3032. ##
 
   # Create a WC with a single branch
   sbox.build()
@@ -9250,7 +9250,7 @@ def new_subtrees_should_not_break_merge(
   # so we expect only subtree merges on A_COPY/D, A_COPY_D_H, and
   # A_COPY/D/H/nu.  The fact that A/D/H/nu doesn't exist at r6 should not cause
   # the merge to fail -- see
-  # http://subversion.tigris.org/issues/show_bug.cgi?id=3067#desc7.
+  # https://issues.apache.org/jira/browse/SVN-3067#desc7.
   expected_output = wc.State(A_COPY_path, {
     'D/H/omega': Item(status='U '),
     })
@@ -10495,7 +10495,7 @@ def reverse_merge_away_all_mergeinfo(sbo
 # Another test for issue #3067: 'subtrees with intersecting mergeinfo,
 # that don't exist at the start of a merge range shouldn't break the
 # merge'.  Specifically see
-# http://subversion.tigris.org/issues/show_bug.cgi?id=3067#desc5
+# https://issues.apache.org/jira/browse/SVN-3067#desc5
 @SkipUnless(server_has_mergeinfo)
 @Issues(3138,3067,4217)
 def dont_merge_revs_into_subtree_that_predate_it(sbox):
@@ -10614,7 +10614,7 @@ def dont_merge_revs_into_subtree_that_pr
   # Cherry harvest all eligible revisions from 'A/D/H' to 'H_COPY'.
   #
   # This is where we see the problem described in
-  # http://subversion.tigris.org/issues/show_bug.cgi?id=3067#desc5.
+  # https://issues.apache.org/jira/browse/SVN-3067#desc5.
   #
   # Use run_and_verify_svn() because run_and_verify_merge*() require
   # explicit revision ranges.
@@ -11786,7 +11786,7 @@ def subtree_source_missing_in_requested_
 # Another test for issue #3067: 'subtrees that don't exist at the start
 # or end of a merge range shouldn't break the merge'
 #
-# See http://subversion.tigris.org/issues/show_bug.cgi?id=3067#desc34
+# See https://issues.apache.org/jira/browse/SVN-3067#desc34
 @Issue(3067)
 @SkipUnless(server_has_mergeinfo)
 def subtrees_with_empty_mergeinfo(sbox):
@@ -13305,7 +13305,7 @@ def no_self_referential_filtering_on_add
   # how can any prop changes be merged to it?  The answer is that
   # the merge code does some quiet housekeeping, merging C_MOVED's
   # inherited mergeinfo into its incoming mergeinfo, see
-  # http://subversion.tigris.org/issues/show_bug.cgi?id=4309
+  # https://issues.apache.org/jira/browse/SVN-4309
   # This test is not covering issue #4309 so we let the current
   # behavior pass.
   expected_mergeinfo_output = wc.State(A_COPY_2_path, {
@@ -13374,7 +13374,7 @@ def no_self_referential_filtering_on_add
 
 #----------------------------------------------------------------------
 # Test for issue #3324
-# http://subversion.tigris.org/issues/show_bug.cgi?id=3324
+# https://issues.apache.org/jira/browse/SVN-3324
 @Issue(3324)
 @SkipUnless(server_has_mergeinfo)
 def merge_range_prior_to_rename_source_existence(sbox):
@@ -13881,7 +13881,7 @@ def dont_merge_gaps_in_history(sbox):
 
 #----------------------------------------------------------------------
 # Test for issue #3432 'Merge can record mergeinfo from natural history
-# gaps'.  See http://subversion.tigris.org/issues/show_bug.cgi?id=3432
+# gaps'.  See https://issues.apache.org/jira/browse/SVN-3432
 @Issue(3432)
 @SkipUnless(server_has_mergeinfo)
 def handle_gaps_in_implicit_mergeinfo(sbox):
@@ -15122,7 +15122,7 @@ def foreign_repos_del_and_props(sbox):
 
 #----------------------------------------------------------------------
 # Test for issue #3642 'immediate depth merges don't create proper subtree
-# mergeinfo'. See http://subversion.tigris.org/issues/show_bug.cgi?id=3642
+# mergeinfo'. See https://issues.apache.org/jira/browse/SVN-3642
 @Issue(3642)
 def immediate_depth_merge_creates_minimal_subtree_mergeinfo(sbox):
   "no spurious mergeinfo from immediate depth merges"
@@ -15817,7 +15817,7 @@ def subtree_merges_inherit_invalid_worki
 
 #----------------------------------------------------------------------
 # Test for issue #3686 'executable flag not correctly set on merge'
-# See http://subversion.tigris.org/issues/show_bug.cgi?id=3686
+# See https://issues.apache.org/jira/browse/SVN-3686
 @Issue(3686)
 @SkipUnless(server_has_mergeinfo)
 @SkipUnless(svntest.main.is_posix_os)

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/merge_tree_conflict_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/test \
s/cmdline/merge_tree_conflict_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff \
                ==============================================================================
                
--- subversion/branches/better-pristines/subversion/tests/cmdline/merge_tree_conflict_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/merge_tree_conflict_tests.py \
Tue Apr 17 09:19:05 2018 @@ -540,7 +540,7 @@ def merge_add_over_versioned_file_confli
 def mergeinfo_recording_in_skipped_merge(sbox):
   "mergeinfo recording in skipped merge"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=2829. ##
+  ## See https://issues.apache.org/jira/browse/SVN-2829. ##
 
   # Create a WC with a single branch
   sbox.build()
@@ -705,7 +705,7 @@ def del_differing_file(sbox):
 def tree_conflicts_and_obstructions(sbox):
   "tree conflicts and obstructions"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=3146. ##
+  ## See https://issues.apache.org/jira/browse/SVN-3146. ##
 
   sbox.build()
   wc_dir = sbox.wc_dir

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/mergeinfo_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/mergeinfo_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/mergeinfo_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/mergeinfo_tests.py \
Tue Apr 17 09:19:05 2018 @@ -196,7 +196,7 @@ def mergeinfo_on_unknown_url(sbox):
 
 # Test for issue #3126 'svn mergeinfo shows too few or too many
 # eligible revisions'.  Specifically
-# http://subversion.tigris.org/issues/show_bug.cgi?id=3126#desc5.
+# https://issues.apache.org/jira/browse/SVN-3126#desc5.
 @SkipUnless(server_has_mergeinfo)
 @Issue(3126)
 def non_inheritable_mergeinfo(sbox):

Propchange: subversion/branches/better-pristines/subversion/tests/cmdline/mod_dav_svn_tests.py
                
------------------------------------------------------------------------------
    svn:executable = *

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/shelf_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/shelf_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/shelf_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/shelf_tests.py Tue \
Apr 17 09:19:05 2018 @@ -44,22 +44,28 @@ Item = wc.StateItem
 
 #----------------------------------------------------------------------
 
-def shelve_unshelve_verify(sbox):
+def state_from_status(wc_dir):
+  _, output, _ = svntest.main.run_svn(None, 'status', '-v', '-u', '-q',
+                                      wc_dir)
+  return svntest.wc.State.from_status(output, wc_dir)
+
+def shelve_unshelve_verify(sbox, modifier):
   """Round-trip: shelve; verify all changes are reverted;
      unshelve; verify all changes are restored.
   """
 
   wc_dir = sbox.wc_dir
+  virginal_state = state_from_status(wc_dir)
+
+  # Make some changes to the working copy
+  modifier(sbox)
 
   # Save the modified state
-  _, output, _ = svntest.main.run_svn(None, 'status', '-v', '-u', '-q',
-                                      wc_dir)
-  modified_state = svntest.wc.State.from_status(output, wc_dir)
+  modified_state = state_from_status(wc_dir)
 
   # Shelve; check there are no longer any modifications
   svntest.actions.run_and_verify_svn(None, [],
                                      'shelve', 'foo')
-  virginal_state = svntest.actions.get_virginal_state(wc_dir, 1)
   svntest.actions.run_and_verify_status(wc_dir, virginal_state)
 
   # Unshelve; check the original modifications are here again
@@ -74,15 +80,13 @@ def shelve_unshelve(sbox, modifier):
      shelve and unshelve; verify changes are fully reverted and restored.
   """
 
-  sbox.build()
+  if not sbox.is_built():
+    sbox.build()
   was_cwd = os.getcwd()
   os.chdir(sbox.wc_dir)
   sbox.wc_dir = ''
 
-  # Make some changes to the working copy
-  modifier(sbox)
-
-  shelve_unshelve_verify(sbox)
+  shelve_unshelve_verify(sbox, modifier)
 
   os.chdir(was_cwd)
 
@@ -116,10 +120,8 @@ def shelve_adds(sbox):
   "shelve adds"
 
   def modifier(sbox):
-    sbox.simple_append('A/new', 'A new file\n')
-    sbox.simple_add('A/new')
-    sbox.simple_append('A/new2', 'A new file\n')
-    sbox.simple_add('A/new2')
+    sbox.simple_add_text('A new file\n', 'A/new')
+    sbox.simple_add_text('A new file\n', 'A/new2')
     sbox.simple_propset('p', 'v', 'A/new2')
 
   shelve_unshelve(sbox, modifier)
@@ -137,6 +139,36 @@ def shelve_deletes(sbox):
 
 #----------------------------------------------------------------------
 
+@XFail()
+def shelve_empty_adds(sbox):
+  "shelve empty adds"
+  sbox.build(empty=True)
+
+  def modifier(sbox):
+    sbox.simple_add_text('', 'empty')
+    sbox.simple_add_text('', 'empty-with-prop')
+    sbox.simple_propset('p', 'v', 'empty-with-prop')
+
+  shelve_unshelve(sbox, modifier)
+
+#----------------------------------------------------------------------
+
+@XFail()
+def shelve_empty_deletes(sbox):
+  "shelve empty deletes"
+  sbox.build(empty=True)
+  sbox.simple_add_text('', 'empty')
+  sbox.simple_add_text('', 'empty-with-prop')
+  sbox.simple_propset('p', 'v', 'empty-with-prop')
+  sbox.simple_commit()
+
+  def modifier(sbox):
+    sbox.simple_rm('empty', 'empty-with-prop')
+
+  shelve_unshelve(sbox, modifier)
+
+#----------------------------------------------------------------------
+
 def shelve_from_inner_path(sbox):
   "shelve from inner path"
 
@@ -148,18 +180,12 @@ def shelve_from_inner_path(sbox):
   os.chdir(sbox.ospath('A'))
   sbox.wc_dir = '..'
 
-  modifier(sbox)
-  shelve_unshelve_verify(sbox)
+  shelve_unshelve_verify(sbox, modifier)
 
   os.chdir(was_cwd)
 
 #----------------------------------------------------------------------
 
-def state_from_status(wc_dir):
-  _, output, _ = svntest.main.run_svn(None, 'status', '-v', '-u', '-q',
-                                      wc_dir)
-  return svntest.wc.State.from_status(output, wc_dir)
-
 def save_revert_restore(sbox, modifier1, modifier2):
   "Save 2 checkpoints; revert; restore 1st"
 
@@ -226,6 +252,89 @@ def shelve_mergeinfo(sbox):
 
   shelve_unshelve(sbox, modifier)
 
+#----------------------------------------------------------------------
+
+def unshelve_refuses_if_conflicts(sbox):
+  "unshelve refuses if conflicts"
+
+  def modifier1(sbox):
+    sbox.simple_append('alpha', 'A-mod1\nB\nC\nD\n', truncate=True)
+    sbox.simple_append('beta', 'A-mod1\nB\nC\nD\n', truncate=True)
+
+  def modifier2(sbox):
+    sbox.simple_append('beta', 'A-mod2\nB\nC\nD\n', truncate=True)
+
+  sbox.build(empty=True)
+  was_cwd = os.getcwd()
+  os.chdir(sbox.wc_dir)
+  sbox.wc_dir = ''
+  wc_dir = ''
+
+  sbox.simple_add_text('A\nB\nC\nD\n', 'alpha')
+  sbox.simple_add_text('A\nB\nC\nD\n', 'beta')
+  sbox.simple_commit()
+  initial_state = state_from_status(wc_dir)
+
+  # Make initial mods; remember this modified state
+  modifier1(sbox)
+  modified_state1 = state_from_status(wc_dir)
+  assert modified_state1 != initial_state
+
+  # Shelve; check there are no longer any local mods
+  svntest.actions.run_and_verify_svn(None, [],
+                                     'shelve', 'foo')
+  svntest.actions.run_and_verify_status(wc_dir, initial_state)
+
+  # Make a different local mod that will conflict with the shelf
+  modifier2(sbox)
+  modified_state2 = state_from_status(wc_dir)
+
+  # Try to unshelve; check it fails with an error about a conflict
+  svntest.actions.run_and_verify_svn(None, '.*[Cc]onflict.*',
+                                     'unshelve', 'foo')
+  # Check nothing changed in the attempt
+  svntest.actions.run_and_verify_status(wc_dir, modified_state2)
+
+#----------------------------------------------------------------------
+
+def shelve_binary_file_mod(sbox):
+  "shelve binary file mod"
+
+  sbox.build(empty=True)
+  sbox.simple_add_text('\0\1\2\3\4\5', 'bin')
+  sbox.simple_commit()
+  sbox.simple_update()
+
+  def modifier(sbox):
+    sbox.simple_append('bin', '\5\4\3\2\1\0', truncate=True)
+
+  shelve_unshelve(sbox, modifier)
+
+#----------------------------------------------------------------------
+
+def shelve_binary_file_add(sbox):
+  "shelve binary file add"
+
+  def modifier(sbox):
+    sbox.simple_add_text('\0\1\2\3\4\5', 'bin')
+
+  shelve_unshelve(sbox, modifier)
+
+#----------------------------------------------------------------------
+
+def shelve_binary_file_del(sbox):
+  "shelve binary file del"
+
+  sbox.build(empty=True)
+  sbox.simple_add_text('\0\1\2\3\4\5', 'bin')
+  sbox.simple_commit()
+  sbox.simple_update()
+
+  def modifier(sbox):
+    sbox.simple_rm('bin')
+
+  shelve_unshelve(sbox, modifier)
+
 
 ########################################################################
 # Run the tests
@@ -236,9 +345,15 @@ test_list = [ None,
               shelve_prop_changes,
               shelve_adds,
               shelve_deletes,
+              shelve_empty_adds,
+              shelve_empty_deletes,
               shelve_from_inner_path,
               checkpoint_basic,
               shelve_mergeinfo,
+              unshelve_refuses_if_conflicts,
+              shelve_binary_file_mod,
+              shelve_binary_file_add,
+              shelve_binary_file_del,
              ]
 
 if __name__ == '__main__':

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/svnadmin_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/svnadmin_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/svnadmin_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/svnadmin_tests.py \
Tue Apr 17 09:19:05 2018 @@ -1047,7 +1047,7 @@ def fsfs_recover_old_db_current(sbox):
 def load_with_parent_dir(sbox):
   "'svnadmin load --parent-dir' reparents mergeinfo"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=2983. ##
+  ## See https://issues.apache.org/jira/browse/SVN-2983. ##
   sbox.build(empty=True)
 
   dumpfile_location = os.path.join(os.path.dirname(sys.argv[0]),
@@ -1138,7 +1138,7 @@ def set_uuid(sbox):
 def reflect_dropped_renumbered_revs(sbox):
   "reflect dropped renumbered revs in svn:mergeinfo"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=3020. ##
+  ## See https://issues.apache.org/jira/browse/SVN-3020. ##
 
   sbox.build(empty=True)
 
@@ -1330,7 +1330,7 @@ def verify_with_invalid_revprops(sbox):
 #   2) Dump 'SOURCE-REPOS' in a series of incremental dumps and load
 #      each of them to 'TARGET-REPOS'.
 #
-# See http://subversion.tigris.org/issues/show_bug.cgi?id=3020#desc13
+# See https://issues.apache.org/jira/browse/SVN-3020#desc13
 @Issue(3020)
 def dont_drop_valid_mergeinfo_during_incremental_loads(sbox):
   "don't filter mergeinfo revs from incremental dump"
@@ -1516,7 +1516,7 @@ def dont_drop_valid_mergeinfo_during_inc
 
   # Check the resulting mergeinfo.  We expect the exact same results
   # as Part 3.
-  # See http://subversion.tigris.org/issues/show_bug.cgi?id=3020#desc16.
+  # See https://issues.apache.org/jira/browse/SVN-3020#desc16.
   svntest.actions.run_and_verify_svn(expected_output, [],
                                      'propget', 'svn:mergeinfo', '-R',
                                      sbox.repo_url)
@@ -1527,7 +1527,7 @@ def dont_drop_valid_mergeinfo_during_inc
 def hotcopy_symlink(sbox):
   "'svnadmin hotcopy' replicates symlink"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=2591. ##
+  ## See https://issues.apache.org/jira/browse/SVN-2591. ##
 
   # Create a repository.
   sbox.build(create_wc=False, empty=True)
@@ -1818,7 +1818,7 @@ def test_lslocks_and_rmlocks(sbox):
 def load_ranges(sbox):
   "'svnadmin load --revision X:Y'"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=3734. ##
+  ## See https://issues.apache.org/jira/browse/SVN-3734. ##
   sbox.build(empty=True)
 
   dumpfile_location = os.path.join(os.path.dirname(sys.argv[0]),
@@ -3802,6 +3802,28 @@ def dump_invalid_filtering_option(sbox):
                                           '--include', '/A/B/E',
                                           sbox.repo_dir)
 
+@Issue(4725)
+def load_issue4725(sbox):
+  """load that triggers issue 4725"""
+
+  sbox.build(empty=True)
+
+  sbox.simple_mkdir('subversion')
+  sbox.simple_commit()
+  sbox.simple_mkdir('subversion/trunk')
+  sbox.simple_mkdir('subversion/branches')
+  sbox.simple_commit()
+  sbox.simple_mkdir('subversion/trunk/src')
+  sbox.simple_commit()
+
+  _, dump, _ = svntest.actions.run_and_verify_svnadmin(None, [],
+                                                       'dump', '-q',
+                                                       sbox.repo_dir)
+
+  sbox2 = sbox.clone_dependent()
+  sbox2.build(create_wc=False, empty=True)
+  load_and_verify_dumpstream(sbox2, None, [], None, False, dump, '-M100')
+
 ########################################################################
 # Run the tests
 
@@ -3874,7 +3896,8 @@ test_list = [ None,
               dump_exclude_by_pattern,
               dump_include_by_pattern,
               dump_exclude_all_rev_changes,
-              dump_invalid_filtering_option
+              dump_invalid_filtering_option,
+              load_issue4725,
              ]
 
 if __name__ == '__main__':

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/svnauthz_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/svnauthz_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/svnauthz_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/svnauthz_tests.py \
Tue Apr 17 09:19:05 2018 @@ -197,9 +197,8 @@ def svnauthz_validate_txn_test(sbox):
   svntest.main.create_python_hook_script(pre_commit_hook, hook_instance)
   svntest.main.file_append(authz_path, 'x')
   expected_status.tweak('A/authz', status='  ', wc_rev=4)
-  if svntest.actions.run_and_verify_commit(wc_dir, expected_output,
-                                           expected_status):
-    raise svntest.Failure
+  svntest.actions.run_and_verify_commit(wc_dir, expected_output,
+                                        expected_status)
   expected_data = svntest.verify.ExpectedOutput("Exit 2\n", match_all=False)
   verify_logfile(logfilepath, expected_data)
 
@@ -275,9 +274,8 @@ def svnauthz_accessof_repo_test(sbox):
   expected_status.add({
     'A/authz'            :  Item(status='  ', wc_rev=2),
   })
-  if svntest.actions.run_and_verify_commit(wc_dir, expected_output,
-                                           expected_status):
-    raise svntest.Failure
+  svntest.actions.run_and_verify_commit(wc_dir, expected_output,
+                                        expected_status)
 
   # Anonymous access with no path, and no repository should be rw
   # since it returns the highest level of access granted anywhere.

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/svndumpfilter_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/svndumpfilter_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/svndumpfilter_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/svndumpfilter_tests.py \
Tue Apr 17 09:19:05 2018 @@ -83,7 +83,7 @@ def filter_and_return_output(dump, bufsi
 def reflect_dropped_renumbered_revs(sbox):
   "reflect dropped renumbered revs in svn:mergeinfo"
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=2982. ##
+  ## See https://issues.apache.org/jira/browse/SVN-2982. ##
 
   # Test svndumpfilter with include option
   sbox.build(empty=True)
@@ -134,7 +134,7 @@ def svndumpfilter_loses_mergeinfo(sbox):
   "svndumpfilter loses mergeinfo"
   #svndumpfilter loses mergeinfo if invoked without --renumber-revs
 
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=3181. ##
+  ## See https://issues.apache.org/jira/browse/SVN-3181. ##
 
   sbox.build(empty=True)
   dumpfile_location = os.path.join(os.path.dirname(sys.argv[0]),
@@ -217,7 +217,7 @@ def _simple_dumpfilter_test(sbox, dumpfi
 @Issue(2697)
 def dumpfilter_with_targets(sbox):
   "svndumpfilter --targets blah"
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=2697. ##
+  ## See https://issues.apache.org/jira/browse/SVN-2697. ##
 
   sbox.build(empty=True)
 
@@ -677,7 +677,7 @@ def accepts_deltas(sbox):
 @Issue(4234)
 def dumpfilter_targets_expect_leading_slash_prefixes(sbox):
   "dumpfilter targets expect leading '/' in prefixes"
-  ## See http://subversion.tigris.org/issues/show_bug.cgi?id=4234. ##
+  ## See https://issues.apache.org/jira/browse/SVN-4234. ##
 
   sbox.build(empty=True)
 

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/svnrdump_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/svnrdump_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/svnrdump_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/svnrdump_tests.py \
Tue Apr 17 09:19:05 2018 @@ -455,7 +455,7 @@ def reflect_dropped_renumbered_revs(sbox
 #   2) Dump 'SOURCE-REPOS' in a series of incremental dumps and load
 #      each of them to 'TARGET-REPOS'.
 #
-# See http://subversion.tigris.org/issues/show_bug.cgi?id=3020#desc13
+# See https://issues.apache.org/jira/browse/SVN-3020#desc13
 #
 # This test replicates svnadmin_tests.py 20 'don't filter mergeinfo revs
 # from incremental dump' but uses 'svnrdump [dump|load]' in place of
@@ -704,7 +704,7 @@ def dont_drop_valid_mergeinfo_during_inc
 
   # Check the resulting mergeinfo.  We expect the exact same results
   # as Part 3.
-  # See http://subversion.tigris.org/issues/show_bug.cgi?id=3020#desc16.
+  # See https://issues.apache.org/jira/browse/SVN-3020#desc16.
   svntest.actions.run_and_verify_svn(expected_output, [],
                                      'propget', 'svn:mergeinfo', '-R',
                                      sbox.repo_url)

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/svnserveautocheck.sh
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/svnserveautocheck.sh?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/svnserveautocheck.sh \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/svnserveautocheck.sh \
Tue Apr 17 09:19:05 2018 @@ -31,6 +31,14 @@
 # distribution; it's easiest to just run it as "make svnserveautocheck".
 # Like "make check", you can specify further options like
 # "make svnserveautocheck FS_TYPE=bdb TESTS=subversion/tests/cmdline/basic.py".
+#
+# Other environment variables that can be passed:
+#
+#  make svnserveautocheck CACHE_REVPROPS=1   # run svnserve --cache-revprops
+#
+#  make svnserveautocheck BLOCK_READ=1       # run svnserve --block-read on
+#
+#  make svnserveautocheck THREADED=1         # run svnserve -T
 
 PYTHON=${PYTHON:-python}
 
@@ -124,6 +132,10 @@ if [ ${CACHE_REVPROPS:+set} ]; then
   SVNSERVE_ARGS="$SVNSERVE_ARGS --cache-revprops on"
 fi
 
+if [ ${BLOCK_READ:+set} ]; then
+  SVNSERVE_ARGS="$SVNSERVE_ARGS --block-read on"
+fi
+
 "$SERVER_CMD" -d -r "$ABS_BUILDDIR/subversion/tests/cmdline" \
             --listen-host 127.0.0.1 \
             --listen-port $SVNSERVE_PORT \

Propchange: subversion/branches/better-pristines/subversion/tests/cmdline/svntest/mergetrees.py
  ('svn:executable' removed)

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/svntest/verify.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/svntest/verify.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/svntest/verify.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/svntest/verify.py \
Tue Apr 17 09:19:05 2018 @@ -256,6 +256,24 @@ class RegexListOutput(ExpectedOutput):
   def display_differences(self, message, label, actual):
     display_lines(message, self.expected, actual, label + ' (regexp)', label)
 
+    assert actual is not None
+    if not isinstance(actual, list):
+      actual = [actual]
+
+    if self.match_all:
+      logger.warn('DIFF ' + label + ':')
+      if len(self.expected) != len(actual):
+        logger.warn('# Expected %d lines; actual %d lines' %
+                    (len(self.expected), len(actual)))
+      for e, a in map(None, self.expected_res, actual):
+        if e is not None and a is not None and e.match(a):
+          logger.warn("|  " + a.rstrip())
+        else:
+          if e is not None:
+            logger.warn("| -" + e.pattern.rstrip())
+          if a is not None:
+            logger.warn("| +" + a.rstrip())
+
   def insert(self, index, line):
     self.expected.insert(index, line)
     self.expected_res = [re.compile(e) for e in self.expected]
@@ -305,6 +323,9 @@ class UnorderedRegexListOutput(ExpectedO
     assert actual is not None
     if not isinstance(actual, list):
       actual = [actual]
+    else:
+      # copy the list so we can remove elements without affecting caller
+      actual = actual[:]
 
     if len(self.expected) != len(actual):
       return False
@@ -323,6 +344,27 @@ class UnorderedRegexListOutput(ExpectedO
     display_lines(message, self.expected, actual,
                   label + ' (regexp) (unordered)', label)
 
+    assert actual is not None
+    if not isinstance(actual, list):
+      actual = [actual]
+    else:
+      # copy the list so we can remove elements without affecting caller
+      actual = actual[:]
+
+    logger.warn('DIFF ' + label + ':')
+    if len(self.expected) != len(actual):
+      logger.warn('# Expected %d lines; actual %d lines' %
+                  (len(self.expected), len(actual)))
+    for e in self.expected:
+      expect_re = re.compile(e)
+      for actual_line in actual:
+        if expect_re.match(actual_line):
+          actual.remove(actual_line)
+          break
+      else:
+        logger.warn("| -" + expect_re.pattern.rstrip())
+    for a in actual:
+      logger.warn("| +" + a.rstrip())
 
 class AlternateOutput(ExpectedOutput):
   """Matches any one of a list of ExpectedOutput instances.

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/svnversion_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/svnversion_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/svnversion_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/svnversion_tests.py \
Tue Apr 17 09:19:05 2018 @@ -71,9 +71,8 @@ def svnversion_test(sbox):
   expected_output = wc.State(wc_dir, {'A/mu' : Item(verb='Sending')})
   expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
   expected_status.tweak('A/mu', wc_rev=2)
-  if svntest.actions.run_and_verify_commit(wc_dir,
-                                           expected_output, expected_status):
-    raise svntest.Failure
+  svntest.actions.run_and_verify_commit(wc_dir,
+                                        expected_output, expected_status)
 
   # Unmodified, mixed
   svntest.actions.run_and_verify_svnversion(wc_dir, repo_url,
@@ -98,13 +97,12 @@ def svnversion_test(sbox):
                       + 'appended mu text')
   expected_disk.tweak('iota',
                       contents=expected_disk.desc['A/D/gamma'].contents)
-  if svntest.actions.run_and_verify_switch(wc_dir, iota_path, gamma_url,
-                                           expected_output,
-                                           expected_disk,
-                                           expected_status,
-                                           [],
-                                           False, '--ignore-ancestry'):
-    raise svntest.Failure
+  svntest.actions.run_and_verify_switch(wc_dir, iota_path, gamma_url,
+                                        expected_output,
+                                        expected_disk,
+                                        expected_status,
+                                        [],
+                                        False, '--ignore-ancestry')
 
   # Prop modified, mixed, part wc switched
   svntest.actions.run_and_verify_svnversion(wc_dir, repo_url,

Modified: subversion/branches/better-pristines/subversion/tests/cmdline/update_tests.py
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/tests/cmdline/update_tests.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/subversion/tests/cmdline/update_tests.py \
                (original)
+++ subversion/branches/better-pristines/subversion/tests/cmdline/update_tests.py Tue \
Apr 17 09:19:05 2018 @@ -480,7 +480,7 @@ def update_to_rev_zero(sbox):
 def receive_overlapping_same_change(sbox):
   "overlapping identical changes should not conflict"
 
-  ### (See http://subversion.tigris.org/issues/show_bug.cgi?id=682.)
+  ### (See https://issues.apache.org/jira/browse/SVN-682.)
   ###
   ### How this test works:
   ###

Propchange: subversion/branches/better-pristines/subversion/tests/libsvn_delta/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Apr 17 09:19:05 2018
@@ -8,6 +8,7 @@ vdelta-test
 random-test
 xml-output-test
 svndiff-test
+svndiff-stream-test
 window-test
 editor-test
 combined

Modified: subversion/branches/better-pristines/tools/client-side/svn-mergeinfo-normalizer/help-cmd.c
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/client-si \
de/svn-mergeinfo-normalizer/help-cmd.c?rev=1829347&r1=1829346&r2=1829347&view=diff \
                ==============================================================================
                
--- subversion/branches/better-pristines/tools/client-side/svn-mergeinfo-normalizer/help-cmd.c \
                (original)
+++ subversion/branches/better-pristines/tools/client-side/svn-mergeinfo-normalizer/help-cmd.c \
Tue Apr 17 09:19:05 2018 @@ -163,7 +163,7 @@ svn_min__help(apr_getopt_t *os,
                                                              pool)),
                          pool);
 #endif
-#ifdef SVN_HAVE_GNOME_KEYRING
+#if (defined(SVN_HAVE_GNOME_KEYRING) || defined(SVN_HAVE_LIBSECRET))
   svn_stringbuf_appendcstr(version_footer, "* Gnome Keyring\n");
 #endif
 #ifdef SVN_HAVE_GPG_AGENT

Modified: subversion/branches/better-pristines/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/client-si \
de/svn-mergeinfo-normalizer/wc_mergeinfo.c?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c \
                (original)
+++ subversion/branches/better-pristines/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c \
Tue Apr 17 09:19:05 2018 @@ -112,8 +112,8 @@ static int
 compare_mergeinfo(const void *lhs,
                   const void *rhs)
 {
-  const mergeinfo_t *lhs_mi = *(const mergeinfo_t **)lhs;
-  const mergeinfo_t *rhs_mi = *(const mergeinfo_t **)rhs;
+  const mergeinfo_t *lhs_mi = *(const mergeinfo_t *const *)lhs;
+  const mergeinfo_t *rhs_mi = *(const mergeinfo_t *const *)rhs;
 
   return strcmp(lhs_mi->local_path, rhs_mi->local_path);
 }

Modified: subversion/branches/better-pristines/tools/client-side/svn-viewspec.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/client-side/svn-viewspec.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/client-side/svn-viewspec.py (original)
+++ subversion/branches/better-pristines/tools/client-side/svn-viewspec.py Tue Apr 17 \
09:19:05 2018 @@ -121,6 +121,8 @@ DEPTH_FILES      = 'files'
 DEPTH_IMMEDIATES = 'immediates'
 DEPTH_INFINITY   = 'infinity'
 
+os_system = None
+args = None
 
 class TreeNode:
     """A representation of a single node in a Subversion sparse
@@ -159,8 +161,8 @@ def svn_path_compare_paths(path1, path2)
     NOTE: Stolen unapologetically from Subversion's Python bindings
     module svn.core."""
 
-    path1_len = len(path1);
-    path2_len = len(path2);
+    path1_len = len(path1)
+    path2_len = len(path2)
     min_len = min(path1_len, path2_len)
     i = 0
 
@@ -280,10 +282,10 @@ def checkout_tree(base_url, revision, tr
     if revision != -1:
         revision_str = "--revision=%d " % (revision)
     if is_top:
-        os.system('svn checkout "%s" "%s" --depth=%s %s'
+        os_system('svn checkout "%s" "%s" --depth=%s %s'
                   % (base_url, target_dir, depth, revision_str))
     else:
-        os.system('svn update "%s" --set-depth=%s %s'
+        os_system('svn update "%s" --set-depth=%s %s'
                   % (target_dir, depth, revision_str))
     child_names = tree_node.children.keys()
     child_names.sort(svn_path_compare_paths)
@@ -304,27 +306,34 @@ def checkout_spec(viewspec, target_dir):
 
 def usage_and_exit(errmsg=None):
     stream = errmsg and sys.stderr or sys.stdout
-    msg = __doc__.replace("__SCRIPTNAME__", os.path.basename(sys.argv[0]))
+    msg = __doc__.replace("__SCRIPTNAME__", os.path.basename(args[0]))
     stream.write(msg)
     if errmsg:
         stream.write("ERROR: %s\n" % (errmsg))
-    sys.exit(errmsg and 1 or 0)
+        return 1
+    return 0
+
+def main(os_sys, args_in):
+    global os_system
+    global args
+    os_system = os_sys
+    args = args_in
 
-def main():
-    argc = len(sys.argv)
+    argc = len(args)
     if argc < 2:
-        usage_and_exit('Not enough arguments.')
-    subcommand = sys.argv[1]
+        return usage_and_exit('Not enough arguments.')
+    subcommand = args[1]
     if subcommand == 'help':
-        usage_and_exit()
+        return usage_and_exit()
     elif subcommand == 'help-format':
         msg = FORMAT_HELP.replace("__SCRIPTNAME__",
-                                  os.path.basename(sys.argv[0]))
+                                  os.path.basename(args[0]))
         sys.stdout.write(msg)
+        return 1
     elif subcommand == 'examine':
         if argc < 3:
-            usage_and_exit('No viewspec file specified.')
-        fp = (sys.argv[2] == '-') and sys.stdin or open(sys.argv[2], 'r')
+            return usage_and_exit('No viewspec file specified.')
+        fp = (args[2] == '-') and sys.stdin or open(args[2], 'r')
         viewspec = parse_viewspec(fp)
         sys.stdout.write("Url: %s\n" % (viewspec.base_url))
         revision = viewspec.revision
@@ -336,13 +345,14 @@ def main():
         viewspec.tree.dump(True)
     elif subcommand == 'checkout':
         if argc < 3:
-            usage_and_exit('No viewspec file specified.')
+            return usage_and_exit('No viewspec file specified.')
         if argc < 4:
-            usage_and_exit('No target directory specified.')
-        fp = (sys.argv[2] == '-') and sys.stdin or open(sys.argv[2], 'r')
-        checkout_spec(parse_viewspec(fp), sys.argv[3])
+            return usage_and_exit('No target directory specified.')
+        fp = (args[2] == '-') and sys.stdin or open(args[2], 'r')
+        checkout_spec(parse_viewspec(fp), args[3])
     else:
-        usage_and_exit('Unknown subcommand "%s".' % (subcommand))
+        return usage_and_exit('Unknown subcommand "%s".' % (subcommand))
 
 if __name__ == "__main__":
-    main()
+    if main(os.system, sys.argv):
+        sys.exit(1)

Modified: subversion/branches/better-pristines/tools/dev/svnmover/svnmover.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dev/svnmover/svnmover.c?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dev/svnmover/svnmover.c (original)
+++ subversion/branches/better-pristines/tools/dev/svnmover/svnmover.c Tue Apr 17 \
09:19:05 2018 @@ -4042,7 +4042,7 @@ display_version(apr_getopt_t *os, svn_bo
   version_footer = svn_stringbuf_create(ra_desc_start, pool);
   SVN_ERR(svn_ra_print_modules(version_footer, pool));
 
-  SVN_ERR(svn_opt_print_help4(NULL, "svnmover", TRUE, _quiet, FALSE,
+  SVN_ERR(svn_opt_print_help5(NULL, "svnmover", TRUE, _quiet, FALSE,
                               version_footer->data,
                               NULL, NULL, NULL, NULL, NULL, pool));
 

Modified: subversion/branches/better-pristines/tools/dev/svnraisetreeconflict/svnraisetreeconflict.c
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dev/svnra \
isetreeconflict/svnraisetreeconflict.c?rev=1829347&r1=1829346&r2=1829347&view=diff \
                ==============================================================================
                
--- subversion/branches/better-pristines/tools/dev/svnraisetreeconflict/svnraisetreeconflict.c \
                (original)
+++ subversion/branches/better-pristines/tools/dev/svnraisetreeconflict/svnraisetreeconflict.c \
Tue Apr 17 09:19:05 2018 @@ -52,7 +52,7 @@
 static svn_error_t *
 version(apr_pool_t *pool)
 {
-  return svn_opt_print_help4(NULL, "svnraisetreeconflict", TRUE, FALSE, FALSE,
+  return svn_opt_print_help5(NULL, "svnraisetreeconflict", TRUE, FALSE, FALSE,
                              NULL, NULL, NULL, NULL, NULL, NULL, pool);
 }
 

Modified: subversion/branches/better-pristines/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dev/unix-build/Makefile.svn?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/better-pristines/tools/dev/unix-build/Makefile.svn Tue Apr 17 \
09:19:05 2018 @@ -1135,13 +1135,54 @@ ruby-clean:
 $(DISTDIR)/$(RUBY_DIST):
 	cd $(DISTDIR) && $(FETCH_CMD) $(RUBY_URL)
 
+$(RUBY_OBJDIR)/openssl_missing.patch:
+	mkdir -p $(dir $@)
+	echo > $@.tmp 'Index: ext/openssl/openssl_missing.h'
+	echo >> $@.tmp '--- ext/openssl/openssl_missing.h.orig'
+	echo >> $@.tmp '+++ ext/openssl/openssl_missing.h'
+	echo >> $@.tmp '@@ -119,6 +119,9 @@ void ossl_HMAC_CTX_free(HMAC_CTX *);'
+	echo >> $@.tmp ' #if !defined(HAVE_X509_STORE_SET_EX_DATA)'
+	echo >> $@.tmp ' #  define X509_STORE_set_ex_data(x, idx, data) \'
+	echo >> $@.tmp ' 	CRYPTO_set_ex_data(&(x)->ex_data, (idx), (data))'
+	echo >> $@.tmp '+#endif'
+	echo >> $@.tmp '+'
+	echo >> $@.tmp '+#if !defined(HAVE_X509_STORE_GET_EX_NEW_INDEX)'
+	echo >> $@.tmp ' #  define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \'
+	echo >> $@.tmp ' 	CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, (l), (p), \'
+	echo >> $@.tmp ' 				(newf), (dupf), (freef))'
+	echo >> $@.tmp '@@ -192,6 +195,7 @@ void ossl_X509_REQ_get0_signature(const \
X509_REQ *, co' +	echo >> $@.tmp ' #endif'
+	echo >> $@.tmp ' '
+	echo >> $@.tmp ' #if !defined(HAVE_OPAQUE_OPENSSL)'
+	echo >> $@.tmp '+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < \
0x2070000fL' +	echo >> $@.tmp ' #define IMPL_PKEY_GETTER(_type, _name) \'
+	echo >> $@.tmp ' static inline _type *EVP_PKEY_get0_##_type(EVP_PKEY *pkey) { \'
+	echo >> $@.tmp ' 	return pkey->pkey._name; }'
+	echo >> $@.tmp '@@ -243,6 +247,7 @@ IMPL_PKEY_GETTER(EC_KEY, ec)'
+	echo >> $@.tmp ' #undef IMPL_PKEY_GETTER'
+	echo >> $@.tmp ' #undef IMPL_KEY_ACCESSOR2'
+	echo >> $@.tmp ' #undef IMPL_KEY_ACCESSOR3'
+	echo >> $@.tmp '+#endif'
+	echo >> $@.tmp ' #endif /* HAVE_OPAQUE_OPENSSL */'
+	echo >> $@.tmp ' '
+	echo >> $@.tmp ' #if defined(HAVE_AUTHENTICATED_ENCRYPTION) && \
!defined(EVP_CTRL_AEAD_GET_TAG)' +	mv -f $@.tmp $@
+
+ifeq ($(UNAME),OpenBSD)
+RUBY_SSL_EX_NEW_DATA_PATCH = sed -i -e '/^have_func("X509_STORE_set_ex_data")$$/ { \
p; s/^.*$$/\have_func("X509_STORE_get_ex_new_index")/; }' +else
+RUBY_SSL_EX_NEW_DATA_PATCH = true
+endif
+
 # retrieve ruby
 #
-$(RUBY_OBJDIR)/.retrieved: $(DISTDIR)/$(RUBY_DIST)
+$(RUBY_OBJDIR)/.retrieved: $(DISTDIR)/$(RUBY_DIST) \
$(RUBY_OBJDIR)/openssl_missing.patch  $(call do_check_sha256,$(RUBY_DIST))
 	[ -d $(RUBY_OBJDIR) ] || mkdir -p $(RUBY_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(RUBY_DIST)
 	-which ghead && sed -i -e "s/head -c/ghead -c/" $(RUBY_SRCDIR)/configure
+	$(RUBY_SSL_EX_NEW_DATA_PATCH) $(RUBY_SRCDIR)/ext/openssl/extconf.rb
+	cd $(RUBY_SRCDIR) && patch -p0 < $(RUBY_OBJDIR)/openssl_missing.patch
 	touch $@
 
 ifeq ($(THREADING),yes)
@@ -2112,7 +2153,7 @@ svn-check-javahl:
 	-if [ $(ENABLE_JAVA_BINDINGS) = yes ]; then \
 		(cd $(svn_builddir) && \
 			env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
-			env MAKEFLAGS= make $(JAVAHL_CHECK_TARGET) 2>&1) | \
+			MAKEFLAGS= make $(JAVAHL_CHECK_TARGET) 2>&1) | \
 				tee $(svn_builddir)/tests.log.bindings.javahl; \
 	fi
 

Modified: subversion/branches/better-pristines/tools/dev/wc-ng/svn-wc-db-tester.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dev/wc-ng/svn-wc-db-tester.c?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dev/wc-ng/svn-wc-db-tester.c \
                (original)
+++ subversion/branches/better-pristines/tools/dev/wc-ng/svn-wc-db-tester.c Tue Apr \
17 09:19:05 2018 @@ -44,7 +44,7 @@
 static svn_error_t *
 version(apr_pool_t *pool)
 {
-  return svn_opt_print_help4(NULL, "svn-wc-db-tester", TRUE, FALSE, FALSE,
+  return svn_opt_print_help5(NULL, "svn-wc-db-tester", TRUE, FALSE, FALSE,
                              NULL, NULL, NULL, NULL, NULL, NULL, pool);
 }
 

Modified: subversion/branches/better-pristines/tools/dist/backport.pl
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dist/backport.pl?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dist/backport.pl (original)
+++ subversion/branches/better-pristines/tools/dist/backport.pl Tue Apr 17 09:19:05 \
2018 @@ -9,11 +9,11 @@ use v5.10.0; # needed for $^V
 # experimental and "subject to change" in v5.18 (see perl5180delta).  Every
 # use of it now triggers a warning.
 #
-# As of Perl v5.24.1, the semantics of given/when provided by Perl are
+# As of Perl v5.26.1, the semantics of given/when provided by Perl are
 # compatible with those expected by the script, so disable the warning for
 # those Perls.  But don't try to disable the the warning category on Perls
 # that don't know that category, since that breaks compilation.
-no if (v5.17.0 le $^V and $^V le v5.24.1),
+no if (v5.17.0 le $^V and $^V le v5.26.1),
    warnings => 'experimental::smartmatch';
 
 # Licensed to the Apache Software Foundation (ASF) under one

Modified: subversion/branches/better-pristines/tools/dist/release.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dist/release.py?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dist/release.py (original)
+++ subversion/branches/better-pristines/tools/dist/release.py Tue Apr 17 09:19:05 \
2018 @@ -102,7 +102,7 @@ tool_versions = {
 
 # The version that is our current recommended release
 # ### TODO: derive this from svn_version.h; see ../../build/getversion.py
-recommended_release = '1.9'
+recommended_release = '1.10'
 
 # Some constants
 repos = 'https://svn.apache.org/repos/asf/subversion'
@@ -737,8 +737,12 @@ def sign_candidates(args):
     def sign_file(filename):
         asc_file = open(filename + '.asc', 'a')
         logging.info("Signing %s" % filename)
-        proc = subprocess.check_call(['gpg', '-ba', '-o', '-', filename],
-                                     stdout=asc_file)
+        if args.userid:
+            proc = subprocess.check_call(['gpg', '-ba', '-u', args.userid,
+                                         '-o', '-', filename], stdout=asc_file)
+        else:
+            proc = subprocess.check_call(['gpg', '-ba', '-o', '-', filename],
+                                         stdout=asc_file)
         asc_file.close()
 
     target = get_target(args)
@@ -828,11 +832,14 @@ def create_tag(args):
                               (args.version.major, args.version.minor,
                                args.version.patch + 1))
 
+        HEAD = subprocess.check_output(['svn', 'info', '--show-item=revision',
+                                        '--', url]).strip()
+        HEAD = int(HEAD)
         def file_object_for(relpath):
             fd = tempfile.NamedTemporaryFile()
             url = branch + '/' + relpath
             fd.url = url
-            subprocess.check_call(['svn', 'cat', '%s@%d' % (url, args.revnum)],
+            subprocess.check_call(['svn', 'cat', '%s@%d' % (url, HEAD)],
                                   stdout=fd)
             return fd
 
@@ -846,7 +853,7 @@ def create_tag(args):
 
         svn_version_h.seek(0, os.SEEK_SET)
         STATUS.seek(0, os.SEEK_SET)
-        subprocess.check_call(['svnmucc', '-r', str(args.revnum),
+        subprocess.check_call(['svnmucc', '-r', str(HEAD),
                                '-m', 'Post-release housekeeping: '
                                      'bump the %s branch to %s.'
                                % (branch.split('/')[-1], str(new_version)),
@@ -956,6 +963,7 @@ def get_sha1info(args):
     target = get_target(args)
 
     sha1s = glob.glob(os.path.join(target, 'subversion*-%s*.sha1' % args.version))
+    sha1s.sort()
 
     class info(object):
         pass
@@ -1398,6 +1406,10 @@ def main():
     subparser.add_argument('--target',
                     help='''The full path to the directory containing
                             release artifacts.''')
+    subparser.add_argument('--userid',
+                    help='''The (optional) USER-ID specifying the key to be
+                            used for signing, such as '110B1C95' (Key-ID). If
+                            omitted, uses the default key.''')
 
     # Setup the parser for the post-candidates subcommand
     subparser = subparsers.add_parser('post-candidates',

Modified: subversion/branches/better-pristines/tools/dist/templates/rc-news.ezt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dist/templates/rc-news.ezt?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dist/templates/rc-news.ezt (original)
+++ subversion/branches/better-pristines/tools/dist/templates/rc-news.ezt Tue Apr 17 \
09:19:05 2018 @@ -11,7 +11,7 @@
    <a href="">release
    announcement</a> for more information about this release, and the
    <a href="/docs/release-notes/[major-minor].html">release notes</a> and 
-   <a href="http://svn.apache.org/repos/asf/subversion/tags/[version]/CHANGES"> 
+   <a href="https://svn.apache.org/repos/asf/subversion/tags/[version]/CHANGES"> 
    change log</a> for information about what will eventually be
    in the [version_base] release.</p> 
  

Modified: subversion/branches/better-pristines/tools/dist/templates/rc-release-ann.ezt
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dist/templates/rc-release-ann.ezt?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dist/templates/rc-release-ann.ezt \
                (original)
+++ subversion/branches/better-pristines/tools/dist/templates/rc-release-ann.ezt Tue \
Apr 17 09:19:05 2018 @@ -5,7 +5,7 @@ Subject: [[]ANNOUNCE] Apache Subversion
 I'm happy to announce the release of Apache Subversion [version].
 Please choose the mirror closest to you by visiting:
 
-    http://subversion.apache.org/download.cgi#[anchor]
+    https://subversion.apache.org/download.cgi#[anchor]
 
 The SHA1 checksums are:
 
@@ -19,9 +19,9 @@ SHA-512 checksums are available at:
 
 PGP Signatures are available at:
 
-    http://www.apache.org/dist/subversion/subversion-[version].tar.bz2.asc
-    http://www.apache.org/dist/subversion/subversion-[version].tar.gz.asc
-    http://www.apache.org/dist/subversion/subversion-[version].zip.asc
+    https://www.apache.org/dist/subversion/subversion-[version].tar.bz2.asc
+    https://www.apache.org/dist/subversion/subversion-[version].tar.gz.asc
+    https://www.apache.org/dist/subversion/subversion-[version].zip.asc
 
 For this release, the following people have provided PGP signatures:
 
@@ -57,13 +57,18 @@ end users please.
 
 Release notes for the [major-minor].x release series may be found at:
 
-    http://subversion.apache.org/docs/release-notes/[major-minor].html
+    https://subversion.apache.org/docs/release-notes/[major-minor].html
 
 You can find the list of changes between [version] and earlier versions at:
 
-    http://svn.apache.org/repos/asf/subversion/tags/[version]/CHANGES
+    https://svn.apache.org/repos/asf/subversion/tags/[version]/CHANGES
 
 Questions, comments, and bug reports to users@subversion.apache.org.
 
 Thanks,
 - The Subversion Team
+
+--
+To unsubscribe, please see:
+
+    https://subversion.apache.org/mailing-lists.html#unsubscribing

Modified: subversion/branches/better-pristines/tools/dist/templates/stable-news.ezt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dist/templates/stable-news.ezt?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dist/templates/stable-news.ezt \
                (original)
+++ subversion/branches/better-pristines/tools/dist/templates/stable-news.ezt Tue Apr \
17 09:19:05 2018 @@ -12,8 +12,8 @@
 [end]   Please see the
    <a href=""
    >release announcement</a> and the
-   <a href="http://svn.apache.org/repos/asf/subversion/tags/[version]/CHANGES"
-   >change log</a> for more information about this release.</p> 
+   <a href="/docs/release-notes/[major-minor]"
+   >release notes</a> for more information about this release.</p> 
  
 <p>To get this release from the nearest mirror, please visit our
    <a href="/download.cgi#[anchor]">download page</a>.</p> 

Modified: subversion/branches/better-pristines/tools/dist/templates/stable-release-ann.ezt
                
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/tools/dist/templates/stable-release-ann.ezt?rev=1829347&r1=1829346&r2=1829347&view=diff
 ==============================================================================
--- subversion/branches/better-pristines/tools/dist/templates/stable-release-ann.ezt \
                (original)
+++ subversion/branches/better-pristines/tools/dist/templates/stable-release-ann.ezt \
Tue Apr 17 09:19:05 2018 @@ -7,7 +7,7 @@ To: announce@subversion.apache.org, user
 I'm happy to announce the release of Apache Subversion [version].
 Please choose the mirror closest to you by visiting:
 
-    http://subversion.apache.org/download.cgi#[anchor]
+    https://subversion.apache.org/download.cgi#[anchor]
 [if-any dot-zero]
 This is a stable feature release of the Apache Subversion open source
 version control system.
@@ -30,22 +30,27 @@ SHA-512 checksums are available at:
 
 PGP Signatures are available at:
 
-    http://www.apache.org/dist/subversion/subversion-[version].tar.bz2.asc
-    http://www.apache.org/dist/subversion/subversion-[version].tar.gz.asc
-    http://www.apache.org/dist/subversion/subversion-[version].zip.asc
+    https://www.apache.org/dist/subversion/subversion-[version].tar.bz2.asc
+    https://www.apache.org/dist/subversion/subversion-[version].tar.gz.asc
+    https://www.apache.org/dist/subversion/subversion-[version].zip.asc
 
 For this release, the following people have provided PGP signatures:
 
 [siginfo]
 Release notes for the [major-minor].x release series may be found at:
 
-    http://subversion.apache.org/docs/release-notes/[major-minor].html
+    https://subversion.apache.org/docs/release-notes/[major-minor].html
 
 You can find the list of changes between [version] and earlier versions at:
 
-    http://svn.apache.org/repos/asf/subversion/tags/[version]/CHANGES
+    https://svn.apache.org/repos/asf/subversion/tags/[version]/CHANGES
 
 Questions, comments, and bug reports to users@subversion.apache.org.
 
 Thanks,
 - The Subversion Team
+
+--
+To unsubscribe, please see:
+
+    https://subversion.apache.org/mailing-lists.html#unsubscribing


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic