* subversion/libsvn_fs_fs/id.c
  (svn_fs_fs__id_eq): Compare element-by-element for best portability.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1620602 13f79535-47bb-0310-9956-ffa450edef68
Make FSFS export the private APIs that svnfsfs comsumes.

Not much going on here, mainly moving lots of declarations
and definitions to the new svn_fs_fs_private.h header.

* build.conf
  (libsvn_fs_fs): Tell msvc what to export.

* subversion/include/private/svn_fs_fs_private.h
  (): New header file. Contents taken from the following headers.

* subversion/libsvn_fs_fs/fs.h
  (fs_fs_shared_txn_data_t,
   fs_fs_shared_data_t,
   fs_fs_dag_cache_t,
   fs_fs_data_t): Moved to the new header.

* subversion/libsvn_fs_fs/id.h
  (svn_fs_fs__id_part_t): Same.

* subversion/libsvn_fs_fs/index.h
  (SVN_FS_FS__ITEM_INDEX_*,
   SVN_FS_FS__ITEM_TYPE_*,
   svn_fs_fs__p2l_entry_t,
   svn_fs_fs__p2l_index_lookup,
   svn_fs_fs__p2l_get_max_offset,
   svn_fs_fs__l2p_index_from_p2l_entries,
   svn_fs_fs__p2l_index_from_p2l_entries): Same.

* subversion/libsvn_fs_fs/pack.h
  (svn_fs_fs__get_packed_offset): Same.

* subversion/libsvn_fs_fs/rev_file.h
  (svn_fs_fs__packed_number_stream_t,
   svn_fs_fs__revision_file_t,
   svn_fs_fs__open_pack_or_rev_file,
   svn_fs_fs__open_pack_or_rev_file_writable,
   svn_fs_fs__auto_read_footer,
   svn_fs_fs__close_revision_file): Same.

* subversion/libsvn_fs_fs/transaction.h
  (svn_fs_fs__add_index_data): Same.

* subversion/libsvn_fs_fs/util.h
  (svn_fs_fs__use_log_addressing): Same.

* subversion/libsvn_fs_fs/cached_data.c
  (): Add (now) missing #include.

* subversion/svnfsfs/dump-index-cmd.c,
  subversion/svnfsfs/load-index-cmd.c,
  subversion/svnfsfs/stats-cmd.c: 
  (): #include the new header instead of the lib-internal ones.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1620909 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_fs_fs/id.c
  (txn_id_parse): Tighten txn ID parser checks. Don't ignore garbage
                  between revision number and connecing '-'.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1620912 13f79535-47bb-0310-9956-ffa450edef68
Provide a test that covers the locale_independent_strtol function
recently added to FSFS' id parser.

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
  (id_parser_test): New test.
  (test_funcs): Register it.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1620913 13f79535-47bb-0310-9956-ffa450edef68
Revert r1620909 as requested by zhakov.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1620928 13f79535-47bb-0310-9956-ffa450edef68
Revert r1593015. Resolve text conflicts.

Suggested by: kotkov

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1620930 13f79535-47bb-0310-9956-ffa450edef68
Make 'svn status' ignore the thumbs.db files by default, which are 
created by the Windows explorer.

* subversion/include/svn_config.h
  (SVN_CONFIG__DEFAULT_GLOBAL_IGNORES_LINE_2): Add [Th]umbs.db.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1620955 13f79535-47bb-0310-9956-ffa450edef68
Revert the changes in [1] that added the new "http-pipelining" option.

The issue that triggered addition of this option - serf issue 135: ssl
renegotiation breaks when there are pipelined requests - has been solved
in serf directly.
More specifically: serf 1.4 will automatically disable http pipelining for
connections to a server that initiates a SSL renegotiation.

[1] r1619072, r1619074, r1619079.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621180 13f79535-47bb-0310-9956-ffa450edef68
FSFS Documentation update.  No functional change.

* subversion/libsvn_fs_fs/structure-indexes
  (): The final index data is no longer stored in separate files.

* subversion/libsvn_fs_fs/structure
  (): Same.
  (Revision file format): Describe the new f7 revision file footer.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621275 13f79535-47bb-0310-9956-ffa450edef68
* subversion/svnfsfs/dump-index-cmd.c
  (dump_index): The item number should be given in decimals because this
                is the same format as we use within the rev / pack file.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621276 13f79535-47bb-0310-9956-ffa450edef68
* subversion/svnfsfs/svnfsfs.c
  (cmd_table): Extend the --help contents for dump- and load-index.
               Describe the input and output format.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621277 13f79535-47bb-0310-9956-ffa450edef68
Fix the hinting function in svn_sort__array_lookup.

On trunk, we use it in a way that does not expose the breakage
caused by only comparing one side of the insertion position.
Take the opportunity to write clearer and less restrictive code
by special-casing insertion at the array boundaries.

* subversion/libsvn_subr/sorts.c
  (svn_sort__array_lookup): Rewrite the HINT evaluation code path.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621375 13f79535-47bb-0310-9956-ffa450edef68
Fix stalls during checkout/update over http(s): when one connection is slower
than the other connections, up to REQUEST_COUNT_TO_RESUME requests can queue
up on that connection. When that happens, ra_serf will completely stop sending
requests until the slower connection has catched up.

The solution is to assign requests to the connection with the least amount of
pending requests.

Note: requires serf trunk@2421.

* subversion/libsvn_ra_serf/update.c
  (get_best_connection): Add a better method to assign requests to connections,
      based on the minimum number of pending requests on a connections. Keep the
      current method of simply cycling connections for serf<1.4.0.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621596 13f79535-47bb-0310-9956-ffa450edef68
Eliminate dependency on fs_fs_data_t from svnfsfs code.

The approach is threefold.  Firstly, use our own block size constants
as the API allows arbitrary values.  Secondly, make the stats command
accept any repository format because we are using the generic access 
functions provided FSFS.  And thirdly, read the repository dimensions
once during open() and add the svn_fs_fs__* private APIs to retrieve
them where missing.

* subversion/libsvn_fs_fs/fs_fs.h
  (svn_fs_fs__shard_size,
   svn_fs_fs__min_unpacked_rev): Declare new private API to access data
                                 usually read directly from fs_fs_data_t.

* subversion/libsvn_fs_fs/fs_fs.c
  (svn_fs_fs__shard_size,
   svn_fs_fs__min_unpacked_rev): Implement them.

* subversion/svnfsfs/svnfsfs.h
  (REV_FILE_BLOCK_SIZE,
   INDEX_BLOCK_SIZE): Define our rev file and index access granularities.

* subversion/svnfsfs/dump-index-cmd.c
  (dump_index): Use our constants instead of an fs_fs_data_t access.

* subversion/svnfsfs/stats-cmd.c
  (fs_t): Add members to store the repository dimensions.
  (fs_open): Query and store the repo dimensions.  Remove the obsolete
             FS format check.
  (read_phys_pack_file): Replace access to fs_fs_data_t with the new
                         fs_t members.
  (read_phys_revision_file): Same. Also, fix progress for non-shared repos.
  (read_item,
   read_log_rev_or_packfile): Use our constants instead of an fs_fs_data_t
                              access.
  (read_log_pack_file): Replace access to fs_fs_data_t with the new
                        fs_t members.
  (read_log_revision_file): Same. Also, fix progress for non-shared repos.
  (read_revisions): Replace access to fs_fs_data_t with the new fs_t members.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621635 13f79535-47bb-0310-9956-ffa450edef68
* subversion/include/svn_wc.h
  (svn_wc_get_changelists): Add a doc string, modeled on the doc string of
    the wrapper function svn_client_get_changelists().

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621945 13f79535-47bb-0310-9956-ffa450edef68
Set svn:auto-props on project to root to automatically set 
svn:eol-style=native for new text files.

Discussion: http://svn.haxx.se/dev/archive-2014-08/0106.shtml

* trunk/
  (svn:auto-props): Add svn:eol-style=native for *.c, *.cpp, *.h, *.hpp, 
   *.py, *.pl, *.rb, *.txt, README and BRANCH-README.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621946 13f79535-47bb-0310-9956-ffa450edef68
Set svn:eol-style native on several files.

* subversion/bindings/ctypes-python/README
* subversion/bindings/cxxhl/README
* subversion/include/private/README
* subversion/include/private/svn_cert.h
* subversion/libsvn_subr/bit_array.c
* subversion/libsvn_subr/utf8proc/README
* subversion/mod_dav_svn/status.c
* subversion/tests/libsvn_subr/bit-array-test.c
* subversion/tests/manual/README
  Set native svn:eol-style.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621954 13f79535-47bb-0310-9956-ffa450edef68
Implement changelist filtering in WC diffs by post-filtering.

This work was triggered by a bug report sent in by Peter Galcik, who noticed
that svn 1.8 crashed when requesting a repos-WC diff with changelist
filtering. In fixing that crash I noticed that the changelist filtering was
deficient in several other respects.

Changes are passed through a changelist-filtering 'diff processor'. This
approach is similar to how diff reversal and some other options are now
handled, and should be easier to get right and to maintain than embedding
changelist filtering in both of the diff implementations. On the other hand,
this approach will usually be less efficient than a pre-filtering approach.

TODO: We need tests for changelist filtering. I tested this patch by hand,
not comprehensively.

* subversion/libsvn_wc/diff.h
  (svn_wc__diff_local_only_file,
   svn_wc__diff_local_only_dir,
   svn_wc__diff_base_working_diff): Remove changelist filtering.
  (svn_wc__changelist_filter_tree_processor_create): New.

* subversion/libsvn_wc/diff_editor.c
  (edit_baton_t ,
   make_edit_baton,
   svn_wc__diff_base_working_diff,
   walk_local_nodes_diff,
   svn_wc__diff_local_only_file,
   svn_wc__diff_local_only_dir,
   handle_local_only): Remove changelist filtering.
  (close_file): Make sure we don't expect to see a valid checksum if we're
    skipping the node, as the sender may not have sent a diff at all.
  (svn_wc__get_diff_editor): Wrap the diff processor in a changelist
    filtering diff processor.
  (filter_tree_baton_t,
   filter_*,
   svn_wc__changelist_filter_tree_processor_create): New.

* subversion/libsvn_wc/diff_local.c
  (diff_baton,
   diff_status_callback): Remove changelist filtering.
  (svn_wc__diff7): Wrap the diff processor in a changelist


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621978 13f79535-47bb-0310-9956-ffa450edef68
Clean up code, following r1621978.

* subversion/libsvn_wc/diff_editor.c
  (filter_file_opened): Simplify by using an existing function. Remove a
    debugging print.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1621981 13f79535-47bb-0310-9956-ffa450edef68
Following up on r1621978, add missing implementation for some cases
of skipping children in added directories.

Found by: julianfoad

* subversion/libsvn_wc/diff_editor.c
  (svn_wc__diff_local_only_dir): Properly handle depth empty and the
    skip children flag.


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