Sergey A. Lipnevich <sergey@optimaltec.com> (sergeyli)


Patch
r846868, r846796, r846795, r846789, r846787, r846779, r846755, r846748, r846747, r846746, r846745, r846744

r846868 | sergeyli | 2003-08-19 10:13:03 -0500 (Tue, 19 Aug 2003)

Refactor ELEM_unknown manipulations into a separate crude function.

* subversion/libsvn_ra_dav/util.c
  (handle_unknown): new function to handle ELEM_unknown elements.
  (shim_startelm, shim_endelm): use the new handle_unknown function.
  (lookup_elem, shim_startelm): change declaration to follow the standard.


r846796 | sergeyli | 2003-08-12 20:39:20 -0500 (Tue, 12 Aug 2003)

Change unrelated to Neon 0.24 migration.

* subversion/libsvn_ra_dav/props.c
  (end_element): rewrite property value handling so that svn_string_create is
  not called twice for the same cdata.


r846795 | sergeyli | 2003-08-12 20:37:50 -0500 (Tue, 12 Aug 2003)

This completes migration to Neon 0.24 API, with two exceptions: SSL doesn't
work, and some tests produce a warning, "Test driver returned a status code."

* subversion/libsvn_ra_dav/util.c
  (shim_endelm): when handling ELEM_unknown element, pass actual XML namespace
  and element name into "old-style" endelm_cb handler. Remove whitespace
  trimming for contents of all elements.


r846789 | sergeyli | 2003-08-12 13:08:10 -0500 (Tue, 12 Aug 2003)

Merge back from trunk, r 6615:6714 incl.

r846787 | sergeyli | 2003-08-12 12:46:41 -0500 (Tue, 12 Aug 2003)

Intermediate merge of changes from neon-0.24 branch, r 6615:6712 incl.

r846779 | sergeyli | 2003-08-11 18:12:56 -0500 (Mon, 11 Aug 2003)

* subversion/tests/clients/cmdline/davautocheck.sh
  File moved. Added description and usage instructions.
  Changed paths to accomodate the script at the new location.

* subversion/libsvn_ra_dav/ra_dav.h
  (svn_ra_dav__xml_elm_t, svn_ra_dav__xml_validate_cb,
   svn_ra_dav__xml_startelm_cb, svn_ra_dav__xml_endelm_cb,
   svn_ra_dav__xml_push_handler): add documentation.

* subversion/libsvn_ra_dav/util.c
  (lookup_elem, shim_startelm, shim_cdata, shim_endelm): add documentation.


r846755 | sergeyli | 2003-08-08 15:35:26 -0500 (Fri, 08 Aug 2003)

* subversion/libsvn_ra_dav/session.c:
  (client_ssl_callback, svn_ra_dav__open): only define-out the SSL processing if
  Neon 0.24 is used, leave everything intact for 0.23.9.


r846748 | sergeyli | 2003-08-07 23:41:25 -0500 (Thu, 07 Aug 2003)

* subversion/libsvn_ra_dav/util.c:
  (shim_startelm): If element is not found, return DECLINE, not ABORT.


r846747 | sergeyli | 2003-08-07 22:38:21 -0500 (Thu, 07 Aug 2003)

Added code for Neon 0.24 support, christened as "the shim" by MBK.

* subversion/libsvn_ra_dav/ra_dav.h:
  Define constants and types no longer supported by Neon 0.24:
    SVN_RA_DAV__XML_VALID
    SVN_RA_DAV__XML_INVALID
    SVN_RA_DAV__XML_DECLINE
    SVN_RA_DAV__XML_CDATA
    SVN_RA_DAV__XML_COLLECT
    svn_ra_dav__xml_elmid
    svn_ra_dav__xml_elm_t
    svn_ra_dav__xml_validate_cb
    svn_ra_dav__xml_startelm_cb
    svn_ra_dav__xml_endelm_cb
    ELEM_unknown
    ELEM_root
    ELEM_UNUSED
    ELEM_207_first
    ELEM_multistatus
    ELEM_response
    ELEM_responsedescription
    ELEM_href
    ELEM_propstat
    ELEM_prop
    ELEM_status
    ELEM_207_UNUSED
    ELEM_PROPS_UNUSED
  Define SVN_RA_DAV__NEED_NEON_SHIM if Neon 0.24 is used.

* subversion/libsvn_ra_dav/session.c:
  (client_ssl_callback, svn_ra_dav__open): define out the SSL-related code
  in anticipation of the future fix. Marked as FIXME in comments.

* subversion/libsvn_ra_dav/util.c:
  (neon_shim_baton_t): new type to facilitate transition to new Neon API.
  (svn_ra_dav__xml_push_handler): define a version of this function for
  new Neon API.
  (lookup_elem): new function to find XML element in the defined tables.
  (shim_startelm, shim_cdata, shim_endelm): callbacks for new Neon API.
 
* build/buildcheck.sh:
  (NEON_WANTED_REGEX): adjust to allow Neon version 0.24 and up.


r846746 | sergeyli | 2003-08-07 20:57:52 -0500 (Thu, 07 Aug 2003)

Make all Neon callbacks return SVN_RA_DAV__XML_VALID (alias of NE_XML_VALID)
instead of just zero.

* subversion/libsvn_ra_dav/merge.c
  (start_element, end_element): see above.
 
* subversion/libsvn_ra_dav/props.c
  (start_element, end_element): see above.
 
* subversion/libsvn_ra_dav/fetch.c
  (drev_validate_element, drev_end_element, start_element, end_element): see
  above.

* subversion/libsvn_ra_dav/options.c
  (start_element, end_element): see above.

* subversion/libsvn_ra_dav/util.c
  (start_err_element, end_err_element): see above.


r846745 | sergeyli | 2003-08-07 20:40:05 -0500 (Thu, 07 Aug 2003)

The migration strategy is to complete as much abstraction changes as possible
using Neon 0.23.9, and make sure all tests pass. Then, there's going to be
little change for Neon 0.24, hopefully not touching any files but ra_dav.h
and util.c.
The replacements have been done using `perl -pi -e' command, so I have to
apologize if the lines got longer than 80 characters in some files.

* subversion/libsvn_ra_dav/log.c:
* subversion/libsvn_ra_dav/merge.c:
* subversion/libsvn_ra_dav/options.c:
* subversion/libsvn_ra_dav/props.c:
* subversion/libsvn_ra_dav/fetch.c:
* subversion/libsvn_ra_dav/ra_dav.h:
* subversion/libsvn_ra_dav/util.c:
  Series of rename operations to prepare for Neon 0.24, but work with
  Neon 0.23.9. All tests succeed over DAV with Neon 0.23.9.
    SVN_RA_DAV__XML_VALID       <- NE_XML_VALID
    SVN_RA_DAV__XML_INVALID     <- NE_XML_INVALID
    SVN_RA_DAV__XML_DECLINE     <- NE_XML_DECLINE
    SVN_RA_DAV__XML_CDATA       <- NE_XML_CDATA
    SVN_RA_DAV__XML_COLLECT     <- NE_XML_COLLECT
    svn_ra_dav__xml_elmid       <- ne_xml_elmid
    svn_ra_dav__xml_elm_t       <- struct ne_xml_elm
    svn_ra_dav__xml_validate_cb <- ne_xml_validate_cb
    svn_ra_dav__xml_startelm_cb <- ne_xml_startelm_cb
    svn_ra_dav__xml_endelm_cb   <- ne_xml_endelm_cb
    ELEM_unknown                <- NE_ELM_unknown
    ELEM_root                   <- NE_ELM_root
    ELEM_UNUSED                 <- NE_ELM_UNUSED
    ELEM_207_first              <- NE_ELM_207_first
    ELEM_multistatus            <- NE_ELM_multistatus
    ELEM_response               <- NE_ELM_response
    ELEM_responsedescription    <- NE_ELM_responsedescription
    ELEM_href                   <- NE_ELM_href
    ELEM_propstat               <- NE_ELM_propstat
    ELEM_prop                   <- NE_ELM_prop
    ELEM_status                 <- NE_ELM_status
    ELEM_207_UNUSED             <- NE_ELM_207_UNUSED
    ELEM_PROPS_UNUSED           <- NE_ELM_PROPS_UNUSED
  
* subversion/libsvn_ra_dav/fetch.c:
  Uses ELEM_SVN_prop instead of ELEM_prop as redefined in ra_dav.h.

* subversion/libsvn_ra_dav/ra_dav.h:
  (svn_ra_dav__xml_push_handler): declaration of new function implemented
  in util.c.
  Definitions to support all the renames stated above.
  ELEM_prop was renamed to ELEM_SVN_prop to differentiate between prop tag
  in DAV: namespace and the same tag in Subversion namespace
    ELEM_SVN_prop               <- ELEM_prop

* subversion/libsvn_ra_dav/util.c:
  (svn_ra_dav__xml_push_handler): new function on top of ne_xml_push_handler,
  adds memory pool as the last parameter. This parameter is not used with
  Neon 0.23.9, but will be with Neon 0.24.


r846744 | sergeyli | 2003-08-07 17:50:14 -0500 (Thu, 07 Aug 2003)

* subversion/libsvn_ra_dav/props.c
  (start_element, end_element): Return NE_XML_INVALID instead of number 1.
* subversion/libsvn_ra_dav/fetch.c
  (CHKERR): Return NE_XML_INVALID instead of number 1.
* davautocheck.sh: script to create HTTPD configuration and run some or all
  DAV tests, all automatically and with many parameters detected or generated.
  More suitable for release or "blanket" testing than for debugging. Executes
  all tests if run without parameters, or executes a specific test if run like
  this: davautocheck.sh basic 3.