Provide an error message to users if all their update targets are not working
copies rather than just telling them we skipped them.

The existing behavior is terribly confusing.  Why did we skip it?  The behavior
is there to allow things like `svn up *` where some of the paths end up not
being working copies.  But it comes at a tremendous cost.  This change tries
to walk the line by providing an error if all of the targets fail due to not
being working copies.  There still will some possible confusion if only some
of the targets fail due to not being working copies since you'll still get
only the skipped behavior, but without changing the notification API I don't
see a way around it.

* subversion/libsvn_client/update.c
  (svn_client_update4): return an error if all the targets aren't wcs.  It
    will still generate the skip message so users can still see what their
    targets are.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1565388 13f79535-47bb-0310-9956-ffa450edef68
Followup to r1565388, fix the tests I broke.

* subversion/tests/cmdline/basic_tests.py
  (basic_update): account for the error received when all targets aren't
    immediate children of a versioned path and add a test when there is
    a valid target, which doesn't generate an error.

* subversion/tests/cmdline/depth_tests.py
  (depth_immediates_bring_in_file): trying to bring in a node that is
    not an immediate child of a versioned path generates an error now.
    Remove a duplicate calculateion of the expected_status.

* subversion/tests/cmdline/merge_automatic_tests.py
  (cherry_pick): don't call sbox.simple_update() with the target that
    will be a relative path to the CWD as opposed to relative to the
    sandbox as simple_update() expects.
  (cherry1_fwd): Call sbox.simple_update() before cherry picking.

* subversion/tests/cmdline/update_tests.py
  (update_child_below_add): trying to update a node that is not a immediate
    child of a versioned path generates an error, but that is an immediate
    child does not both show as skipped.


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

* CHANGES:
* contrib/client-side/emacs/psvn.el:
* contrib/client-side/svn-merge-vendor.py:
* contrib/hook-scripts/remove-zombie-locks.py:
* contrib/server-side/svnmirror.sh:
* contrib/server-side/svnmirror-test.sh:
* notes/meetings/berlin-11-agenda:
* notes/unicode-composition-for-filenames:
* notes/wc-ng/conflict-storage:
* notes/wc-ng/conflict-storage-2.0:
* subversion/bindings/ctypes-python/test/wc.py:
* subversion/bindings/cxxhl/src/aprwrap/hash.hpp:
* subversion/bindings/cxxhl/tests/test_aprwrap.cpp:
* subversion/bindings/javahl/native/JNICriticalSection.h:
* subversion/bindings/javahl/native/JNIUtil.cpp:
* subversion/bindings/javahl/native/jniwrapper/jni_env.hpp:
* subversion/bindings/javahl/native/NativeStream.hpp:
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java:
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRemote.java:
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java:
* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java:
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java:
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java:
* subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java:
* subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNTests.java:
* subversion/bindings/swig/perl/native/Client.pm:
* subversion/include/private/svn_sqlite.h:
* subversion/include/private/svn_subr_private.h:
* subversion/include/svn_client.h:
* subversion/include/svn_client_mtcc.h:
* subversion/include/svn_diff.h:
* subversion/libsvn_fs_fs/rep-cache.c:
* subversion/libsvn_fs_x/rep-cache.c:
* subversion/libsvn_ra_serf/options.c:
* subversion/libsvn_subr/io.c:
* subversion/libsvn_subr/string.c:
* subversion/libsvn_subr/utf8proc.c:
* subversion/libsvn_wc/adm_crawler.c:
* subversion/libsvn_wc/diff_local.c:
* subversion/libsvn_wc/wc_db_update_move.c:
* subversion/libsvn_wc/wc-metadata.sql:
* subversion/svn/status-cmd.c:
* subversion/tests/cmdline/diff_tests.py:
* subversion/tests/cmdline/merge_tests.py:
* subversion/tests/cmdline/README:
* subversion/tests/cmdline/svnadmin_tests.py:
* subversion/tests/cmdline/svnauthz_tests.py:
* subversion/tests/cmdline/svndumpfilter_tests.py:
* subversion/tests/cmdline/svnrdump_tests.py:
* subversion/tests/cmdline/svntest/factory.py:
* subversion/tests/libsvn_wc/wc-queries-test.c:
* tools/dev/build-svn-deps-win.pl: Fix some typos.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1565530 13f79535-47bb-0310-9956-ffa450edef68
ra_serf: Do not compare the CommonName of a certificate if there are
subjectAltName extensions of the DNS type when validating the certificate
as per RFC 2818.

* subversion/libsvn_ra_serf/util.c
  (ssl_server_certificate): add a boolean to know if there were san
    entries, skip the CN match if there were and move the failure
    flag outside of the CN match code.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1565531 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: Remove 1.9.0 entries for things merged to 1.8.6


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1565539 13f79535-47bb-0310-9956-ffa450edef68
* tools/dist/backport.pl
  ($YES): Make 'YES=1' in the environment behaves as expected (and documented(!)).

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1565613 13f79535-47bb-0310-9956-ffa450edef68
Reuse RA sessions with update --parents.

Prior code would walk up the tree and open a new RA session for each missing
parent.  This meant over DAV that for n missing parents you needed n RA
sessions, and along with that (n*2)+1 OPTIONS requests.  This change still
needs n REPORT requests but that's a more intrustive change for later.

Using the new code and checking out the subversion tree with depth empty from
the ASF repo and then updating with --parents the deepest tree we have halves
the update time over the old code.

* subversion/libsvn_client/update.c
  (update_internal): Add a new ra_session_p argument and handle reparenting
    if the session can be reused.  Save any new ra_sessions in the ra_session_p
    argument for reuse.
  (svn_client__update_internal): Update the update_internal() calls.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1565920 13f79535-47bb-0310-9956-ffa450edef68
swig-pl: Modernize the SYNOPSIS example and talk about canonicalization.

* subversion/bindings/swig/perl/native/Client.pm
  (SYNOPSIS): Use a more modern example that fully sets up authentication in a
    way that matches the command line client.  Also canonicalize the target
    before passing it into the APIs.
  (PARAMETER NOTES): Talk about canonicalization.

Suggested by: Anton Yuzhaninov <citrin+svn{_AT_}citrin.ru>
(at least the notion that our documentation should mention canonicalization)


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1566230 13f79535-47bb-0310-9956-ffa450edef68
Style fixes.  No functional change.

* subversion/libsvn_ra_serf/util.c
  (ssl_server_cert): Use our indentation style consistently and change
    found_matching_hostname into a svn_boolean_t instead of an int.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1566503 13f79535-47bb-0310-9956-ffa450edef68
* get-deps.sh: Bump serf version we download to 1.3.4 and adjust URL to match
    the new location of serf source code release files.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1566504 13f79535-47bb-0310-9956-ffa450edef68
Do not include svn_private_config.h in JavaHL internal headers;
this can cause a mess when compiling without NLS on some platforms.
Specifically, the C++ <string> header might include libintl.h and
then fall afoul of the macro replacements of gettext &Co. from
our private header.

[in subversion/bindings/javahl/native]

* jniwrapper/jni_env.hpp: Do not include svn_private_config.h.
  (Java::Env::error_create_global_reference,
   Java::Env::error_get_contents_string,
   Java::Env::error_release_null_string,
   Java::Env::error_create_object_array,
   Java::Env::error_create_array,
   Java::Env::error_get_contents_array,
   Java::Env::error_release_null_array): New message translation methods.
    Use these wherever _() was formerly used in the header.
* jniwrapper/jni_exception.hpp
  (Java::Exception::throw_java_exception): Move implementation out-of-line.
* jniwrapper/jni_string.hpp
  (Java::String::MutableContents::set_value): Move implementation out-of-line.
* jniwrapper/jni_stack.hpp
  (unknown_cxx_exception_message, caught_java_exception_error):
   New message translation functions. Use these wherever _() was formerly
   used in the header.
* jniwrapper/jni_base.cpp: Include svn_private_config.h.
  (Java::Env::error_create_global_reference,
   Java::Env::error_get_contents_string,
   Java::Env::error_release_null_string,
   Java::Env::error_create_object_array,
   Java::Env::error_create_array,
   Java::Env::error_get_contents_array,
   Java::Env::error_release_null_array,
   Java::String::MutableContents::set_value,
   Java::Exception::throw_java_exception,
   unknown_cxx_exception_message,
   caught_java_exception_error): Implement here.

* jniwrapper/jni_string_map.hpp: Do nto include svn_private_config.h ...
* jniwrapper/jni_string_map.cpp: ... but include it here instead.

* NativeStream.hpp: Do not include svn_private_config.h.
  (JavaHL::NativeInputStream::set_stream,
   JavaHL::NativeOutpuStream::set_stream): Move implementation out-of-line.
* NativeStream.hpp
  (JavaHL::NativeInputStream::set_stream,
   JavaHL::NativeOutpuStream::set_stream): Implement here.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1566578 13f79535-47bb-0310-9956-ffa450edef68
Follow up to r1566578: Fix a couple thinkos and typos in JavaHL
message localization.

* subversion/bindings/javahl/native/jniwrapper/jni_base.cpp: Include <memory>.
  (make_typed_error): Renamed from error_printf, declared nothrow(),
   and uses the non-throwing memory allocator. Updated all callers.
  (Java::Env::error_get_contents_array,
   Java::Env::error_release_null_array): Properly define as Env methods.
  (Java::Env::error_release_null_string,
  Java::Env::error_release_null_array): Change error message wording
   to match the other messages from Java::Env.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1566606 13f79535-47bb-0310-9956-ffa450edef68
Add tests for the broken SQLite STAT3 and STAT4 options and disallow their
use with SQLite 3.8.1 through 3.8.3 (inclusive).

* build/ac-macros/sqlite.m4
  (SVN_SQLITE_BROKEN_OPTIONS): New macro.
  (SVN_LIB_SQLITE): Use our new macro.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1566960 13f79535-47bb-0310-9956-ffa450edef68
Runtime check for SQLITE STAT bug.

Using SVN_ERR_UNSUPPORTED_FEATURE because using SVN_ERR_SQLITE_ERROR
just gets cleared and eventually we print a generic error about the 
working copy being corrupt.  Plan to add a new error code for things
like this in a separate commit for easier backports.

* subversion/libsvn_subr/sqlite.c
  (svn_sqlite__open): When using known bugy versions of SQLite check
    for the ENABLE_STAT3 and ENABLE_STAT4 options and error out.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1566977 13f79535-47bb-0310-9956-ffa450edef68
Add new error code for runtime compatibility tests.

* subversion/include/svn_error_codes.h
  (SVN_ERR_UNSUPPORTED_DEPENDENCY): New.

* subversion/libsvn_subr/sqlite.c
  (svn_sqlite__open): Use the new code.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1566978 13f79535-47bb-0310-9956-ffa450edef68
For TXN IDs in FSX, use a single integer instead of a two-part struct.
This allows for packing the TXN ID into the same struct that holds
the revision info for committed data.

Most of this commit is code churn replacing (pointers to) structs with
the new integer value.  Similarly, NULL values cannot be used anymore
and must be replaced by the new SVN_FS_X__INVALID_TXN_ID constant.

* subversion/libsvn_fs_x/id.h
  (svn_fs_x__txn_id_t): Define the new data type for TXN IDs. 
  (SVN_FS_X__INVALID_TXN_ID): Define the corresponding NULL constant.
  (svn_fs_x__id_txn_parse,
   svn_fs_x__id_txn_unparse): Drop.  These will be replaced by new
                              private API functions in utils.h
  (svn_fs_x__id_txn_used,
   svn_fs_x__id_txn_reset, 
   svn_fs_x__txn_id_t svn_fs_x__id_txn_id,
   svn_fs_x__id_txn_create_root,
   svn_fs_x__id_txn_create): Switch TXN_ID type in these APIs
                             from struct to integer type.

* subversion/libsvn_fs_x/id.c
  (fs_x__id_t): Use the new data type to store the TXN_ID member.
  (txn_id_parse): Simplify calling the new utils API function.
  (svn_fs_x__id_txn_used,
   svn_fs_x__id_txn_reset): Update function signature and "no value" handling.
  (svn_fs_x__id_txn_parse,
   svn_fs_x__id_txn_unparse): Drop.
  (svn_fs_x__id_txn_id,
   svn_fs_x__id_is_txn): Update function signatures and TXN_ID references. 
  (svn_fs_x__id_unparse): Update serializer to write the TXN_ID as a single
                          value instead of a value pair.
  (svn_fs_x__id_eq): The struct has become smaller. 
  (svn_fs_x__id_check_related): TXN_ID-based checks are now simple.
  (svn_fs_x__id_txn_create_root,
   svn_fs_id_t *svn_fs_x__id_create_root): Update function signatures and
                                           TXN_ID references.

  (svn_fs_x__id_create_root,
   svn_fs_x__id_rev_create,
   svn_fs_x__id_parse): Update TXN_ID references and "no value" handling.


* subversion/libsvn_fs_x/util.h
  (svn_fs_x__txn_name,
   svn_fs_x__txn_by_name): Declare new utility API functions that
                           convert TXN IDs from / to string.
  (svn_fs_x__path_txn_dir,
   svn_fs_x__path_txn_sha1,
   svn_fs_x__path_txn_changes,
   svn_fs_x__path_l2p_proto_index,
   svn_fs_x__path_p2l_proto_index,
   svn_fs_x__path_txn_props,
   svn_fs_x__path_txn_props_final,
   svn_fs_x__path_txn_next_ids,
   svn_fs_x__path_txn_item_index,
   svn_fs_x__path_txn_proto_rev,
   svn_fs_x__path_txn_proto_rev_lock): Switch TXN_ID type in these APIs
                                       from struct to integer type.

* subversion/libsvn_fs_x/util.c
  (svn_fs_x__txn_name,
   svn_fs_x__txn_by_name): Implement these new conversion functions using
                           out base36 converters.
  (combine_txn_id_string): Call the new TXN_ID -> string conversion API.
  (svn_fs_x__path_txn_dir,
   svn_fs_x__path_txn_sha1,
   svn_fs_x__path_txn_changes,
   svn_fs_x__path_l2p_proto_index,
   svn_fs_x__path_p2l_proto_index,
   svn_fs_x__path_txn_props,
   svn_fs_x__path_txn_props_final,
   svn_fs_x__path_txn_next_ids,
   svn_fs_x__path_txn_item_index,
   svn_fs_x__path_txn_proto_rev,
   svn_fs_x__path_txn_proto_rev_lock): Switch TXN_ID types in function
                                       signatures.

* subversion/libsvn_fs_x/cached_data.c
  (open_and_seek_revision,
   open_and_seek_transaction,
   open_and_seek_representation,
   get_node_revision_body,
   svn_fs_x__get_mergeinfo_count,
   create_rep_state_body,
   build_rep_list,
   auto_set_start_offset,
   get_dir_contents,
   svn_fs_x__get_proplist,
   svn_fs_x__get_changes,
   block_read): Update function callers to use numbers instead of
                pointers for txn_ids.

* subversion/libsvn_fs_x/verify.c
  (compare_l2p_to_p2l_index,
   compare_p2l_to_l2p_index): Ditto.

* subversion/libsvn_fs_x/changes.c
  (binary_change_t): Document mapping of TXN_IDs onto ID part structs.
  (append_change,
   svn_fs_x__changes_get_list,
   svn_fs_x__changes_get_list_func): Change storage and retrieval of
                                     TXN IDs accordingly.

* subversion/libsvn_fs_x/dag.h
  (svn_fs_x__dag_set_entry,
   svn_fs_x__dag_txn_root,
   svn_fs_x__dag_txn_base_root,
   svn_fs_x__dag_clone_child,
   svn_fs_x__dag_clone_root,
   svn_fs_x__dag_delete,
   svn_fs_x__dag_make_file,
   svn_fs_x__dag_make_dir,
   svn_fs_x__dag_copy):
   svn_fs_x__path_txn_proto_rev_lock): Switch TXN_ID type in these APIs
                                       from struct to integer type.
* subversion/libsvn_fs_x/dag.c
  (set_entry,
   make_entry,
   svn_fs_x__dag_set_entry,
   svn_fs_x__dag_txn_root,
   svn_fs_x__dag_txn_base_root,
   svn_fs_x__dag_clone_child,
   svn_fs_x__dag_clone_root,
   svn_fs_x__dag_delete,
   svn_fs_x__dag_make_file,
   svn_fs_x__dag_make_dir,
   svn_fs_x__dag_copy):
   svn_fs_x__path_txn_proto_rev_lock): Switch TXN_ID types in function
                                       signatures; they are all pass-
                                       through values.

* subversion/libsvn_fs_x/fs.h
  (fs_x_shared_txn_data_t,
   representation_t): Use the new TXN_ID type instead of the old structs.

* subversion/libsvn_fs_x/index.h
  (svn_fs_x__item_offset): Switch TXN_ID type from struct to integer type.
 
* subversion/libsvn_fs_x/index.c
  (l2p_proto_index_lookup): Switch TXN_ID type in function signature; it is
                            a simple pass-through value.
  (svn_fs_x__item_offset): Switch TXN_ID type in function signature and
                           update "no value" handling.

* subversion/libsvn_fs_x/low_level.c
  (svn_fs_x__parse_representation,
   read_rep_offsets,
   svn_fs_x__unparse_representation,
   svn_fs_x__unparse_representation): Adapt to TXN ID API changes.

* subversion/libsvn_fs_x/noderevs.c
  (shared_representation_t): Use the new data type for the TXN ID member.
  (svn_fs_x__write_noderevs_container,
   svn_fs_x__read_noderevs_container): Simplify as we only need to write
                                       and read single values instead of
                                       structs for TXN IDs.
 
* subversion/libsvn_fs_x/transaction.h
  (svn_fs_x__txn_get_id,
   svn_fs_x__txn_changes_fetch,
   svn_fs_x__get_txn,
   svn_fs_x__reserve_copy_id,
   svn_fs_x__create_node,
   svn_fs_x__set_entry,
   svn_fs_x__add_change,
   svn_fs_x__create_successor,
   svn_fs_x__get_txn_ids): Switch TXN_ID type from struct to integer type.

* subversion/libsvn_fs_x/transaction.c
  (fs_txn_data_t): Use the new data type for the TXN ID member.
  (svn_fs_x__txn_get_id): Update signature and TXN_ID reference.
  (get_shared_txn,
   free_shared_txn): Update signature, TXN_ID references and comparison.

  (unlock_proto_rev_baton): Use the new data type for the TXN ID member.
  (unlock_proto_rev_body): Update references to TXN_ID and use the new
                           utlis API to convert TXN_IDs into strings.
  (unlock_proto_rev,
   unlock_proto_rev_list_locked): Update signature and TXN_ID reference.

  (get_writable_proto_rev_baton): Use the new data type for the TXN ID member.
  (get_writable_proto_rev_body): Update references to TXN_ID and use the new
                                 utlis API to convert TXN_IDs into strings.
  (get_writable_proto_rev): Update signature and TXN_ID reference.

  (purge_shared_txn_body,
   purge_shared_txn): Switch baton from struct to pointer the new TXN_ID.

  (store_sha1_rep_mapping):  Update TXN_ID reference.
  (svn_fs_x__txn_changes_fetch,
   create_new_txn_noderev_from_rev): Update signatures.
  (create_txn_dir): Update signatures as well as TXN_ID references and
                    use the new utlis API to convert a TXN_ID into string.
  (svn_fs_x__create_txn): Update TXN_ID references.
  (get_txn_proplist): Use new TXN_ID type in signature and update
                      TXN_ID value check.
  (change_txn_props): Update TXN_ID references.
  (svn_fs_x__get_txn,
   write_next_ids,
   read_next_ids,
   get_new_txn_node_id,
   svn_fs_x__reserve_copy_id,
   svn_fs_x__create_node): Use new TXN_ID type in signature - pass-through
                           parameters only. 

  (svn_fs_x__purge_txn): Update TXN_ID references and types and use the new
                         utlis API to convert TXN_IDs into strings.
  (set_uniquifier): Update TXN_ID reference.
  (svn_fs_x__set_entry): Update signature and TXN_ID references.
  (svn_fs_x__add_change,
   store_l2p_index_entry,
   store_p2l_index_entry,
   allocate_item_index,
   svn_fs_x__create_successor,
   write_hash_delta_rep): Use new TXN_ID type in signature --
                          they are pass-through parameters only.
  (get_shared_rep,
   rep_write_contents_close,
   svn_fs_x__set_proplist): Update TXN_ID references.
  (write_hash_delta_rep): Use new TXN_ID type in signature --
                          they are pass-through parameters only
  (write_final_rev): Use the new TXN_ID type internally and udapte
                     all TXN_ID references.
  (write_final_changed_path_info,
   verify_locks): Use new TXN_ID type in signature.
  (verify_moves): Switch the signature to using the full TXN object
                  and get the base revision from that since TXN_IDs
                  don't provide this info anymore.
  (write_final_revprop): Use new TXN_ID type in signature and adapt
                         to signature changes in called functions.
  (svn_fs_x__open_txn,
   svn_fs_x__delete_node_revision): Update references to TXN_IDs.
  (svn_fs_x__get_txn_ids): Use new TXN_ID type in signature.

* subversion/libsvn_fs_x/tree.c
  (fs_txn_root_data_t): Use the new data type for the TXN_ID member.
  (make_txn_root): Use new TXN_ID type in signature.
  (svn_fs_x__txn_id_t): Same and update TXN_ID reference.

  (add_change,
   merge): Use new TXN_ID type in signature.
  (make_path_mutable,
   x_change_node_prop,
   x_make_dir,
   x_delete_node): Use the correct TXN_ID type internally.
  (copy_helper): Same and use the root objects to access the TXN
                 base revision because the TXN_ID does no longer
                 provide that information.
  (x_make_file,
   apply_textdelta,
   apply_text): Use the correct TXN_ID type internally.
  (make_txn_root): Update TXN_ID type in signature, update TXN_ID
                   references and call the new string conversion API.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1567023 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_subr/sqlite.c
  (svn_sqlite__open): Unblock STAT3/STAT4 when using the Sqlite 3.8.3.1
    release that should be out later this week, using a snippet from
    http://www.sqlite.org/src/info/4c86b126f2


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1567034 13f79535-47bb-0310-9956-ffa450edef68
In the Windows build: make it much easier to apply a define through
all projects when building via project systems such as Visual Studio
by adding an optional -D option to gen-make.py.

* build/generator/gen_win.py
  (get_win_defines): Add cpp_defines when set.
  
* build/generator/gen_win_dependencies.py
  Initialize cpp_defines. Parse -D options. 
  
* gen-make.py
  Allow and document -D option.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1567046 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_subr/sqlite.c
  (svn_sqlite__open): Explicitly set some sqlite defaults to avoid packagers
    to accidentally enable unexpected behavior via 'harmless' global sqlite
    flags. Add compiletime option for diagnosing some sqlite usage problems.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1567064 13f79535-47bb-0310-9956-ffa450edef68
Update a query to work slightly faster and to reduce the dependency on
explicitly unspecified sqlite behavior.

This fixes 30 op-depth tests when running the tests with our verification
triggers in maintainer mode *combined with*
SVN_SQLITE_REVERSE_UNORDERED_SELECTS.

Note that this problem doesn't affect non maintainer mode behavior, as
we don't rely on the ordering there.

* subversion/libsvn_wc/wc-queries.sql
  (STMT_INSERT_DELETE_FROM_NODE_RECURSIVE): Tweak query to force inserting
    the rows in a strict order. Assume that the op-root matches our check.

  (STMT_INSERT_DELETE_LIST): Update to match
    STMT_INSERT_DELETE_FROM_NODE_RECURSIVE, to make sure notifications
    match actual behavior.


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