Fix an XML parsing bug.  (This bug is probably never actually
triggered in the wild because our wire protocols always use XML
namespaces with prefixes.)

* subversion/libsvn_ra_serf/xml.c
  (svn_ra_serf__expand_ns): When expanding namespaces, recognize
    default namespaces (those without a prefix), too.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397296 13f79535-47bb-0310-9956-ffa450edef68
Sync the 'http-dynamic-prop-namespaces' branch with recent trunk changes.
(Merged /subversion/trunk:r1397055-1397298.)

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/http-dynamic-prop-namespaces@1397299 13f79535-47bb-0310-9956-ffa450edef68
Followup to r1396826 by using the correct revision number type, rather than
apr_uint64_t unconditionally.

* subversion/libsvn_fs_fs/tree.c
  (cache_entry_t, cache_lookup): Use long int for the hash value.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397331 13f79535-47bb-0310-9956-ffa450edef68
Partly revert r1358515: we cannot use the input buffer as an
unchanged output buffer because it is not 0-terminated.
So, this will break our invariants on svn_stringbuf_t.

* subversion/libsvn_delta/svndiff.c
  (zlib_decode): drop copyless_allowed flag
  (decode_window,
   svn__decompress): update callers
  (svn__compress): formatting fix


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397389 13f79535-47bb-0310-9956-ffa450edef68
Fix a bug leaving part of a struct uninitialized, and another part overwritten
with invalid data.

* subversion/libsvn_wc/conflicts.c
  (read_prop_conflicts): Set the correct field with the conflict reason.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397425 13f79535-47bb-0310-9956-ffa450edef68
On the 'http-dynamic-prop-namespaces' branch: fix the way we build out
the extended property namespace URIs to avoid assertions.

* subversion/mod_dav_svn/deadprops.c
  (propname_to_davname): Use apr_pstrcat() and svn_path_uri_encode()
    rather than svn_path_url_add_component2() because the namespace
    base URI isn't canonical (it has a trailing slash) and we don't
    need (or really want) to run this thing through canonicalization
    routines -- to us, it's just a string with a known, fixed prefix.
  (davname_to_propname): Use svn_path_url_decode on a string splice
    (of sorts) rather than invoking the very picky svn_uri_* APIs.

* subversion/libsvn_ra_serf/property.c
  (svn_ra_serf__wirename_from_svnname, svn_ra_serf__svnname_from_wirename):
    Do the same things here.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/http-dynamic-prop-namespaces@1397563 13f79535-47bb-0310-9956-ffa450edef68
On the 'http-dynamic-prop-namespaces' branch: 

Ugh.  Simplify, simplify, simplify.

Ditch the whole scan-ahead, namespace-mapping complexity in favor of
simplicity:  properties in the "svn" and "custom" namespaces use
prefixes, oddball others use xmlns="" attributes.

"I don't plan to spend much time here," I said.  Heh...

* subversion/libsvn_ra_serf/commit.c
  (commit_context_t): Remove 'propname_to_xmlname' and
    'xmlprefix_to_xmlns' hashes.
  (populate_prop_maps): Remove as unused.
  (walker_baton_t): Remove 'propname_to_xmlname' hash.
  (proppatch_walker): Don't use mapping hashes.  Just use predefined
    prefixes for namespaces that have them, and "xmlns=" attributes
    otherwise.
  (create_proppatch_body): Revert all the dynamic prefix definition
    stuff.
  (open_root): Use svn_ra_serf__wirename_from_svnname() to properly
    determine the property's name and namespace.
  (change_dir_prop, change_file_prop): Don't mess with property maps
    any longer.
  (svn_ra_serf__get_commit_editor): Don't populate removed baton
    members.
  (svn_ra_serf__change_rev_prop): Populate the commit context's
    'use_ext_prop_ns' member.  Use svn_ra_serf__wirename_from_svnname()
    to property determine the property's name and namespace.

* subversion/libsvn_ra_serf/ra_serf.h,
* subversion/libsvn_ra_serf/xml.c
  (svn_ra_serf__add_open_tag_attrs_buckets): Remove as unused.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/http-dynamic-prop-namespaces@1397722 13f79535-47bb-0310-9956-ffa450edef68
Due to public request: apply rep-sharing to equal data reps within
the same transaction. 

The idea is simple. When writing a noderev to the txn folder,
write another file named by the rep's SHA1 and store the rep
struct in there. Lookup is then straight-forward.

* subversion/libsvn_fs_fs/fs_fs.c
  (svn_fs_fs__put_node_revision): also look for SHA1-named files
  (get_shared_rep): write SHA1-named files

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397773 13f79535-47bb-0310-9956-ffa450edef68
Fix building of SWIG bindings on OS X.

The GNOME Keyring support is not built if we are on DARWIN or Windows.
core.i of SWIG looks for SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC to
determine if GNOME Keyring support should be built.  DARWIN gets defined from
the CPPFLAGS.  However, we were not passing CPPFLAGS to SWIG (which is just a
glorified C Pre-Processor), so the constant we are looking for gets defined in
the SWIG pass and SWIG includes and wraps our helper function.  Then the C
compiler builds core.c and now the keyring support is not included since
we pass CPPFLAGS into the compiler.  Resulting in an error.

* build.conf: Need to pass the CPPFLAGS to SWIG.



git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397844 13f79535-47bb-0310-9956-ffa450edef68
Fix check-swig-py and check-swig-rb targets on OS X.

OS X needs the DYLD_LIBRARY_PATH env variable set in order to find the libraries
to link against.  In Python's case we have setup_path.py which is supposed to
be a good place to do this.  However, it won't work since it sets the
environment variables after python is already running and OS X's dynamic linker
only reads the environment variables at startup.

* Makefile.in
  (check-swig-py, check-swig-rb): Build a DYLD_LIBRARY_PATH variable if needed.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397846 13f79535-47bb-0310-9956-ffa450edef68
Code cleanup: factor out common parts of Ev2(?) code in svnserve.

* subversion/svnserve/serve.c
  (get_normalized_repo_rel_path,
   get_revision_root): new common sub-routines
  (fetch_props_func,
   fetch_kind_func, 
   fetch_base_func): use those

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397866 13f79535-47bb-0310-9956-ffa450edef68
Fix the SVN_DEBUG_CACHE_MEMBUFFER support.
Obviously, no-one activated that code for a while ... ;)

* subversion/libsvn_subr/cache-membuffer.c
  (entry_key_t): move declaration further up
  (store_key_part): update to our new key type
  (DEBUG_CACHE_MEMBUFFER_TAG,
   DEBUG_CACHE_MEMBUFFER_INIT_TAG): make 'tag' always be a pointer
  (membuffer_cache_set_internal): ensure you have the entry before
   accessing it
  (membuffer_cache_get_internal): fix buffer reference
  (membuffer_cache_set_partial_internal): always update the tag info
  (membuffer_cache_set_partial): fix tag macro usage


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397871 13f79535-47bb-0310-9956-ffa450edef68
For people with copious amounts of RAM (> 512GB), we may run
into the APR allocation limit of 4GB per apr_palloc.  Thus, limit the
cache segment size accordingly.

* subversion/libsvn_subr/cache-membuffer.c
  (MAX_SEGMENT_SIZE): declare new constant
  (svn_cache__membuffer_cache_create): limit the segment size

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1397967 13f79535-47bb-0310-9956-ffa450edef68
On the 'http-dynamic-prop-namespaces' branch: update BRANCH-README.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/http-dynamic-prop-namespaces@1397991 13f79535-47bb-0310-9956-ffa450edef68
On the 'http-dynamic-prop-namespaces' branch: update BRANCH-README.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/http-dynamic-prop-namespaces@1397993 13f79535-47bb-0310-9956-ffa450edef68
Add missing 'prop-mods' and 'text-mods' attributes in the changed paths
section of the output of 'log -v --xml'.  When these attributes were added
in r877688 (first released in 1.7.0), they were accidentally only included
for copied paths.

Patch by: Першин Юрий Петрович <pershin@prosoftsystems.ru>

* subversion/svn/log-cmd.c
  (log_entry_receiver_xml): Always include 'prop-mods' and 'text-mods'
    attributes for changed paths.


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

* subversion/svn/conflict-callbacks.c
  (handle_text_conflict): Use ASCII art rather than :-[A-Z].

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1398147 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_delta/editor.c
  (marker_done,
   marker_allow_add,
   marker_allow_alter,
   marker_added_dir): fix "constant should be initialized" warning


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1398189 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_delta/svndiff.c
  (send_simple_insertion_window): fix conversion warning by explicit cast
* subversion/libsvn_fs_fs/fs_fs.c
  (parse_packed_revprops,
   get_contents,
   get_dir_contents,
   pack_revprops_shard): ditto.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1398190 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_delta/text_delta.c
  (svn_txdelta_send_contents): fix "non-standard initialization" warning
* subversion/libsvn_repos/reporter.c
  (delta_proplists): ditto


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