Add an erratum for svn_fs_props_changed and svn_fs_contents_changed.

* notes/api-errata/1.9
  (): New folder.  It's the first erratum for 1.9.

* notes/api-errata/1.9/fs001.txt
  (): New file.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618880 13f79535-47bb-0310-9956-ffa450edef68
Fix few formalities in our errata section.

* notes/api-errata/1.8/fs001.txt
  (): Fix typo and enable Id keyword expansion.

* notes/api-errata/1.9/fs001.txt
  (): Use plural to be consistent with other reports.
      Enable Id keyword expansion and use native EOL style.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618882 13f79535-47bb-0310-9956-ffa450edef68
Eliminate a warning about svn_wc__conflict_description2_dup().

This function is a public function with a private name.  Shortly,
svn_wc_conflict_description3_t will be removed.  So I'm leaving
the svn_wc__conflict_description2_dup() as deprecated but replacing
it with a now appropriately named svn_wc_conflict_description2_dup().

* subversion/include/svn_wc.h
  (svn_wc_conflict_description2_dup): New function.
  (svn_wc__conflict_description2_dup): Adjust the comment appropriately.
  (svn_wc_conflict_description2_t): Adjust the name of the dup function to
    modify if you change this.

* subversion/libsvn_wc/util.c
  (svn_wc_conflict_description2_dup): Moved from deprecated.c and renamed
    from svn_wc__conflict_description2_dup().

* subversion/libsvn_wc/deprecated.c
  (svn_wc__conflict_description2_dup): New implementation that just wraps
    svn_wc_conflict_description2_dup().

* subversion/libsvn_wc/info.c
  (svn_wc_info_dup): Adjust caller.



git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618883 13f79535-47bb-0310-9956-ffa450edef68
Move deprecated svn_diff_mem_string_output_merge() into the deprecated file.

* subversion/libsvn_diff/diff_memory.c
  (svn_diff_mem_string_output_merge): Remove from here...

* subversion/libsvn_diff/deprecated.c
  (svn_diff_mem_string_output_merge): and put it here.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618888 13f79535-47bb-0310-9956-ffa450edef68
Revise JavaHL's ISVNRepos.hotcopy API.

[in subversion/bindings/javahl]
* src/org/apache/subversion/javahl/ISVNRepos.java,
  src/org/apache/subversion/javahl/SVNRepos.java
  (ISVNRepos.hotcopy): Add an overload that adds a notification
   callback to match svn_repos_hotcopy3.

* src/org/apache/subversion/javahl/ReposNotifyInformation.java
  (ReposNotifyInformation.Action): Add new enum constants for 1.9.


* native/SVNRepos.h, native/SVNRepos.cpp
  (SVNRepos::hotcopy): Update.
* native/org_apache_subversion_javahl_SVNRepos.cpp
  (Java_org_apache_subversion_javahl_SVNRepos_hotcopy): Update JNI wrapper.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618894 13f79535-47bb-0310-9956-ffa450edef68
* notes/api-errata/1.9/fs001.txt
  (): Fix confusing inefficient/efficient typo and improve wording
      in a couple of more places.

Found by: rhuijben

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618895 13f79535-47bb-0310-9956-ffa450edef68
Undo the introduction of svn_wc_conflict_description3_t.

Instead of revving svn_wc_conflict_description2_t ("desc2"), we can extend the
struct with a pointer to private data to be accessed via functions.
This approach avoids an unwieldy cascade of changes to callbacks and other API
elements which already use desc2. This commit does not add new private data
or accessor functions for desc2 -- that is future work.

Discussed with philip, julianfoad, rhuijben, and breser.

* subversion/include/private/svn_wc_private.h
  (svn_wc__get_tree_conflict, svn_wc__add_tree_conflict): Switch back to desc2.
  (svn_wc__cd3_to_cd2, svn_wc__cd3_array_to_cd2_array ): Remove declaration.

* subversion/include/svn_wc.h
  (svn_wc_conflict_description_private_t): New typedef.
  (svn_wc_conflict_description3_t): Remove.
  (svn_wc_conflict_description2_t): Enhance documentation based on improvements
   made for desc3. Extend this structure with a pointer to private data.
  (svn_wc_conflict_description_create_text3,
   svn_wc_conflict_description_create_prop3,
   svn_wc_conflict_description_create_tree3,
   svn_wc__conflict_description3_dup,
   svn_wc_conflict_resolver_func3_t): Un-declare.
  (svn_wc_conflict_description_create_text2,
   svn_wc_conflict_description_create_prop2,
   svn_wc_conflict_description_create_tree2,
   svn_wc_conflict_resolver_func2_t): Un-deprecate.
  (svn_wc_info_t): Remove 'conflicts2' field.

* subversion/libsvn_client/merge.c
  (merge_dir_baton_t): Document that 'new_tree_conflicts' array now has
   desc2 elements again.
  (record_tree_conflict, merge_file_opened, merge_dir_opened): Use desc2.

* subversion/libsvn_wc/conflicts.c
  (local_change_map): Rename back to reason_map for consistency.
  (incoming_change_map): Rename back to action_map for consistency.
  (svn_wc__conflict_skel_add_tree_conflict,
   svn_wc__conflict_read_prop_conflict,
   svn_wc__conflict_read_tree_conflict): Rename local_change and
   incoming_change parameters back to reason and action for consistency.
  (generate_propconflict, resolve_text_conflict, read_text_conflict_desc,
   svn_wc__conflict_invoke_resolver, read_prop_conflict_descs,
   svn_wc__read_conflicts, conflict_status_walker): Use desc2.
  (eval_text_conflict_func_result): Rename 'merged_abspath' parameter back to
   'merged_file' for consistency. Use desc2.

* subversion/libsvn_wc/deprecated.c
  (svn_wc__status2_from_3): Use desc2.
  (svn_wc_conflict_description_create_text2,
   svn_wc_conflict_description_create_prop2,
   svn_wc_conflict_description_create_tree2): Moved back to libsvn_wc/util.c.


* subversion/libsvn_wc/entries.c
  (read_one_entry, write_entry): Use desc2.

* subversion/libsvn_wc/info.c
  (svn_wc_info_dup, build_info_for_node, svn_wc__get_info): Use desc2 and drop
   support for removed 'conflicts2' member of svn_wc_info_t.

* subversion/libsvn_wc/tree_conflicts.c
  (svn_wc__deserialize_conflict, svn_wc__serialize_conflict,
   svn_wc__add_tree_conflict, svn_wc__get_tree_conflict): Use desc2.

* subversion/libsvn_wc/tree_conflicts.h
  (svn_wc__serialize_conflict,
   svn_wc__deserialize_conflict): Tweak declarations for desc2.

* subversion/libsvn_wc/upgrade.c
  (read_tree_conflicts, migrate_single_tree_conflict_data,
   svn_wc__upgrade_conflict_skel_from_raw): Use desc2.

* subversion/libsvn_wc/util.c
  (svn_wc_conflict_description_create_text3,
   svn_wc_conflict_description_create_prop3,
   svn_wc_conflict_description_create_tree3,
   svn_wc__conflict_description3_dup,
   svn_wc__cd3_array_to_cd2_array, svn_wc__cd3_to_cd2): Remove.
  (svn_wc_conflict_description_create_text2,
   svn_wc_conflict_description_create_prop2,
   svn_wc_conflict_description_create_tree2): Move back here
   from libsvn_wc/deprecated.c

* subversion/libsvn_wc/wc.h
  (svn_wc__read_conflicts): Change mention in docstring back to desc2.

* subversion/svn/cl-conflicts.c
  (svn_cl__get_human_readable_prop_conflict_description,
   svn_cl__get_human_readable_tree_conflict_description,
   append_tree_conflict_info_xml, svn_cl__append_conflict_info_xml): Use desc2.

* subversion/svn/cl-conflicts.h
  (svn_cl__get_human_readable_prop_conflict_description,
   svn_cl__get_human_readable_tree_conflict_description,
   svn_cl__append_conflict_info_xml): Change declarations for desc2.

* subversion/svn/cl.h
  (svn_cl__conflict_func_interactive): Change declaration back to desc2.

* subversion/svn/conflict-callbacks.c
  (show_diff, show_conflicts, merge_prop_conflict, show_prop_conflict,
   edit_prop_conflict, handle_text_conflict,  handle_prop_conflict,
   handle_tree_conflict, handle_obstructed_add,
   conflict_func_interactive): Use desc2. In handle_prop_conflict, restore
   workaround for wrongly filled in fields in desc2 for now.

* subversion/svn/info-cmd.c
  (print_info_xml, print_info): Use desc2.

* subversion/svn/status.c
  (print_status): Use desc2.

* subversion/tests/libsvn_wc/conflict-data-test.c
  (compare_version, compare_file_content, compare_prop_conflict,
   tree_conflict_create, test_deserialize_tree_conflict,
   test_read_write_tree_conflicts, test_serialize_tree_conflict): Use desc2.

* tools/dev/svnraisetreeconflict/svnraisetreeconflict.c
  (raise_tree_conflict): Use desc2.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618906 13f79535-47bb-0310-9956-ffa450edef68
Remove the (currently) final deprecation warning from JavaHL.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.cpp
  (Java_org_apache_subversion_javahl_util_DiffLib_nativeFileMerge):
   Use svn_diff_file_output_merge3.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618907 13f79535-47bb-0310-9956-ffa450edef68
Follow up to r1618906: Fix assignment to wrong pointer type.

* subversion/libsvn_wc/deprecated.c
  (svn_wc__status2_from_3): Convert from svn_wc_conflict_description2_t
   instead of copying to a pointer of type svn_wc_conflict_description_t.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618911 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1618906: Resolve a deprecation warning.

* subversion/libsvn_wc/tree_conflicts.c
  (svn_wc__get_tree_conflict): Call non-deprecated
   svn_wc_conflict_description2_dup() function.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1618912 13f79535-47bb-0310-9956-ffa450edef68
Fix the last remaining deprecation warning in JavaHL.

* subversion/bindings/javahl/native/deprecated.cpp: New file.
  (SVNClient::mergeReintegrate): Move implementation to here ...
* subversion/bindings/javahl/native/SVNClient.cpp
  (SVNClient::mergeReintegrate): ... from here.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619067 13f79535-47bb-0310-9956-ffa450edef68
Remove the "checked" option from svn_mutex_t.  Update all callers
and remove the regression test.

The reason is that there seems to be no portable way (e.g. via a
series of conversions) to use APR atomic CAS operations with
apr_os_thread_t.

* subversion/include/private/svn_mutex.h
  (svn_mutex__init): Remove CHECKED option.

* subversion/include/svn_error_codes.h
  (SVN_ERR_RECURSIVE_LOCK): Remove as it has no users anymore.
  (SVN_ERR_INVALID_INPUT): Update number.

* subversion/libsvn_subr/mutex.c
  (svn_mutex__t): Remove all aux. members that were used for mutex
                  checking only.  Make sure we don't end up with an
                  empty struct on systems that don't support threads.
  (svn_mutex__init,
   svn_mutex__lock, 
   svn_mutex__unlock): Remove all mutex the checking code.

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
  (never_reached,
   lock_again,
   recursive_locking): Remove test case for "checked" mutexes.
  (test_funcs): Remove test from list.

* subversion/libsvn_fs_base/bdb/env.c
  (bdb_init_cb): Update mutex init call.

* subversion/libsvn_fs_fs/fs.c
  (fs_serialized_init): Same.

* subversion/libsvn_fs/fs-loader.c
  (synchronized_initialize): Same.

* subversion/libsvn_fs_x/fs.c
  (x_serialized_init): Same.

* subversion/libsvn_ra_svn/cyrus_auth.c
  (sasl_mutex_alloc_cb_internal,
   svn_ra_svn__sasl_common_init): Same.

* subversion/libsvn_subr/cache-inprocess.c
  (svn_cache__create_inprocess): Same.

* subversion/libsvn_subr/cache-membuffer.c
  (svn_cache__membuffer_cache_create,
   svn_cache__create_membuffer_cache): Same. 

* subversion/libsvn_subr/dso.c
  (svn_dso_initialize2): Same.

* subversion/libsvn_subr/named_atomic.c
  (init_thread_mutex): Same.

* subversion/libsvn_subr/object_pool.c
  (svn_object_pool__create): Same.

* subversion/libsvn_subr/root_pools.c
  (svn_root_pools__create): Same.

* subversion/libsvn_subr/utf.c
  (svn_utf_initialize2): Same.

* subversion/svnserve/logger.c
  (logger__create_for_stderr, 
   logger__create): Same.

* subversion/tests/svn_test_main.c
  (svn_test_main): Same.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619068 13f79535-47bb-0310-9956-ffa450edef68
* configure.ac
  (CMAINTAINERFLAGS): Add -Wbad-function-cast, warnings show up in FSX.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619069 13f79535-47bb-0310-9956-ffa450edef68
Explicitly state the limitations of our freeze API.  Since r1619068,
we can't error out on these conditions anymore.  No functional change.

* subversion/include/svn_fs.h
  (svn_fs_freeze): List limitations an their implications.

* subversion/include/svn_repos.h
  (svn_repos_freeze): Same.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619070 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1619068.  Missed a conditionally compiled caller.

* subversion/libsvn_subr/cache-membuffer.c
  (svn_cache__membuffer_cache_create): Update svn_mutex__init caller.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619071 13f79535-47bb-0310-9956-ffa450edef68
Add an option "http-pipelining" to the servers configuration, so that a user
can disable HTTP pipelining in case that causes problems, e.g. during SSL
renegotiation triggered by the server to request a client certificate.

* subversion/include/svn_config.h
  (SVN_CONFIG_OPTION_HTTP_PIPELINING): New boolean config option.

* subversion/libsvn_ra_serf/ra_serf.h
  (struct svn_ra_serf__session_t): New member variable http_pipelining.

* subversion/libsvn_ra_serf/serf.c
  (load_config): Load the value of the new option from the servers file. If not
       set, use 'HTTP pipelining is enabled' by default.
  (svn_ra_serf__open,
   ra_serf_dup_session): Set the max. nr. of outstanding requests to 1
       if HTTP pipelining is disabled.

* subversion/libsvn_ra_serf/update.c
  (open_connection_if_needed): Set the max. nr. of outstanding requests to 1
       if HTTP pipelining is disabled.

* subversion/libsvn_subr/config_file.c
  (svn_config_ensure): Add the 'http-pipelining' option in the comment section
       of the initial servers file.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619072 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: list the new 'http-pipelining' config option.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619074 13f79535-47bb-0310-9956-ffa450edef68
Replace weird code that uses magic numbers and produces warnings
in maintainer mode with equally weird code that does not use magic
numbers and avoids the warnings.

* subversion/libsvn_delta/svndiff.c
  (SVNDIFF_V0, SVNDIFF_V1): New; svndiff header represenations.
  (SVNDIFF_HEADER_SIZE): New.
  (write_handler): Use the above new stuff instead of magic
   numbers and string literals.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619075 13f79535-47bb-0310-9956-ffa450edef68
swig-py: Add close to the core.Stream class.

* subversion/bindings/swig/python/svn/core.py
  (Stream.read, Stream.write): Raise a ValueError when the stream isn't open.
  (Stream.close): New function.

Patch by: Alexey Neyman <stilor{_at_}att.net>


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619077 13f79535-47bb-0310-9956-ffa450edef68
* configure.ac: Followup to r1619075, we no longer need to disable the
   string-plus-int compiler warning.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1619078 13f79535-47bb-0310-9956-ffa450edef68