Sync FSX with FSFS:
Merge and adapt revisions r1531982 and r1604717 from libsvn_fs_fs.
Various conflicts were caused by reordered code and renamed functions
in FSX.  Lots of additonal code / callers to be adapted.

This ports the revision_file_t abstraction to FSX.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635317 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1635317: Fix build.

* subversion/libsvn_fs_x/rev_file.h
  (svn_fs_x__init_revision_file): Remove this unused and conflicting
                                  declaration.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635318 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge and adapt revisions r1604416, r1604417 and 1604421 from libsvn_fs_fs.
The usual conflicts caused by reordered code and renamed functions in FSX
had to be resolved.

This ports the "indexes as part of the rev / pack file" changes to FSX.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635346 13f79535-47bb-0310-9956-ffa450edef68
Make FSX tests pass again.

* subversion/tests/libsvn_fs_x/fs-x-pack-test.c
  (pack_filesystem): Don't test for separate index files anymore.
                     That info is now part of the rev / pack file.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635375 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1604802, r1604824, r1604836, r1604902, r1604911,
r1604925, r1605060, r1605065, r1605068, r1605071, r1605072 and r1605073
from libsvn_fs_fs.  Fix the usual text conflicts caused by reordered code
and renamed functions in FSX.

This ports dual pool paradigm introduction in the lower data access layer
to FSX.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635377 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1604947, r1605064, r1605188, r1605189 and r1605191 from
libsvn_fs_fs and resolve the usual FSX conflicts.

This ports various 'svn log' memory consumption improvements to FSX.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635497 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1605075 and r1605197 and r1606551 from libsvn_fs_fs
and resolve the usual FSX conflicts.

This ports pool usage improvements to FSX.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635498 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1606142, r1606144 and r1606551 from libsvn_fs_fs and
resolve a minor text conflict.

This ports an index data initialization fix to FSX.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635500 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1606132 from libsvn_fs_fs, adapt the code and resolve
the usual FSX conflicts.

This switches the svn_fs_x__revision_file API to the two-pool paradigm.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635509 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1606514, r1606526, r1606528, r1607572 and r1623007
from libsvn_fs_fs, resolve the usual FSX conflicts and adapt the code
to FSX.

This port adds the "index (re-)creation utilities" to FSX.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635528 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Manually port revisions r1605444, r1606554 and r160674 from libsvn_fs_fs.

These patches switch writing revision zero from using a full template to
a generating the index sections.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635598 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1612810, r1613872, r1616338, r1616339, r1617688, r1618138,
r1628738, r1629857 and r1629865 from libsvn_fs_fs and resolve the usual FSX
conflicts.

This ports the latest hotcopy improvements to FSX.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635612 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1615351 and r1623379 from libsvn_fs_fs and resolve the
usual FSX ordering and naming conflicts.

This ports the latest locking improvements to FSX.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635614 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1635528: Fix FSX index rewrite code for empty regions.

* subversion/libsvn_fs_x/index.c
  (svn_fs_x__l2p_index_from_p2l_entries): If we skip an item, the resulting
                                          list will be one item shorter.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635638 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:
Merge revisions r1603499, r1604903, r1605059, r1615348, r1617586 and
r1618153 from libsvn_fs_fs and resolve a few text conflicts.

These are just comment / docstring fixes.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635642 13f79535-47bb-0310-9956-ffa450edef68
Remove unused functions from FSX.

* subversion/libsvn_fs_x/low_level.h
  (svn_fs_x__parse_revision_trailer,
   svn_fs_x__unparse_revision_trailer): Drop as FSX rev / pack files don't
                                        have revision trailers.

* subversion/libsvn_fs_x/low_level.c
  (svn_fs_x__parse_revision_trailer,
   svn_fs_x__unparse_revision_trailer): Ditto.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635643 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_client/resolved.c
  (svn_client__resolve_conflicts): Avoid unneeded check once we now at least
    one conflict remains.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635750 13f79535-47bb-0310-9956-ffa450edef68
Avoid creating an unneeded ra-session per 'svn checkout' and per update of
directory external by passing an optional ra session to a few more internal
libsvn_client functions.

* subversion/libsvn_client/checkout.c
  (svn_client__checkout_internal): Move output arguments to front. Accept
    optional existing ra session. Pass ra session to
    svn_client__update_internal.
  (svn_client_checkout3): Update caller.

* subversion/libsvn_client/client.h
  (svn_client__update_internal,
   svn_client__checkout_internal):
      Move output arguments to front. Accept optional existing ra session.
  (svn_client__handle_externals): Accept optional existing ra session.

* subversion/libsvn_client/copy.c
  (repos_to_wc_copy_single): Update caller. Remove unneeded local variable, as
      we can just pass the variable from our caller.

* subversion/libsvn_client/externals.c
  (switch_dir_external): Accept ra session from caller. Update caller.
  (handle_external_item_change): Accept ra session from caller. Use this if
     possible to avoid always creating another ra session. Update caller.
  (handle_externals_change,
   svn_client__handle_externals): Pass ra session.

* subversion/libsvn_client/switch.c
  (switch_internal): Update caller.

* subversion/libsvn_client/update.c
  (update_internal): Separate pool handling. Reorder arguments to standard.
    Update caller.
  (svn_client__update_internal): Move output arguments to front. Accept
    optional existing ra session. Use iterpool.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635753 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:  Block (record-only merge) revisions
r1603487, r1615352, r1618151, r1618641, r1618653, r1618662, r1621275,
r1621635, r1622960, r1624011, r1628762, r1629875, r1631075, r1631185
r1631239 and r1633232 from libsvn_fs_fs.

These patches concern code paths, usually backward compat & upgrade,
that don't exist in FSX.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1635817 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX with FSFS:  Block (record-only merge) revisions
r1620909, r1620928, r1632776, r1632849, r1632851, r1632852, r1632853,
r1632856, r1632857, r1632868 and 1633618 from libsvn_fs_fs.

These changes convern svnfsfs functionality and need a completely
different implementation for FSX.

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