On Fri, Jul 1, 2011 at 1:14 PM, Daniel Shahaf <d...@daniel.shahaf.name> wrote: > pbu...@apache.org wrote on Fri, Jul 01, 2011 at 16:31:22 -0000: >> Author: pburba >> Date: Fri Jul 1 16:31:21 2011 >> New Revision: 1141981 >> >> URL: http://svn.apache.org/viewvc?rev=1141981&view=rev >> Log: >> Get svn_ra_get_mergeinfo2 out of the business of communicating server >> capabilities via an in-out parameter and use our standard server capabilities >> mechanism instead. >> >> * subversion/include/svn_dav.h >> >> (SVN_DAV_NS_DAV_SVN_MERGEINFO_VALIDATION): New DAV header. >> >> * subversion/include/svn_ra.h >> >> (svn_ra_get_mergeinfo2): Change the kludgey input-output parameter for >> inherited mergeinfo validation to an input only parameter that simply >> requests validation, whether or not the server can do it. >> >> (SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO): New capability. >> >> * subversion/include/svn_ra_svn.h >> >> (SVN_RA_SVN_CAP_VALIDATE_INHERITED_MERGEINFO): New ra_svn capability map >> to SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO. >> >> * subversion/libsvn_client/copy.c >> >> (calculate_target_mergeinfo): Update call to >> svn_client__get_repos_mergeinfo(). >> >> * subversion/libsvn_client/merge.c >> >> (merge_cmd_baton_t.mergeinfo_validation_capable): New member. >> >> (get_invalid_inherited_mergeinfo): Just try to get invalid mergeinfo, let >> the caller worry about whether the server has the capability or not. >> >> (get_full_mergeinfo, >> inherit_implicit_mergeinfo_from_parent, >> ensure_implicit_mergeinfo, >> filter_merged_revisions, >> calculate_remaining_ranges): Add mergeinfo validation parameter indicating >> whether to validate inherited mergeinfo or not. >> >> (populate_remaining_ranges, >> do_file_merge): Update calls to get_full_mergeinfo(), >> ensure_implicit_mergeinfo(), and calculate_remaining_ranges(). >> >> (do_merge): Initialize new merge_cmd_baton_t member. >> >> (find_unmerged_mergeinfo, >> calculate_left_hand_side): Update call to svn_ra_get_mergeinfo2(). >> >> * subversion/libsvn_client/mergeinfo.h >> >> (svn_client__get_repos_mergeinfo, >> svn_client__get_repos_mergeinfo_catalog): Change the input-output >> parameter for inherited mergeinfo validation to an input only >> parameter. >> >> * subversion/libsvn_client/mergeinfo.c >> >> (svn_client__get_repos_mergeinfo, >> svn_client__get_repos_mergeinfo_catalog): Account for the switch >> from in-out parameter to in-only parameter. >> >> (svn_client__get_wc_or_repos_mergeinfo_catalog): Update call to >> svn_client__get_repos_mergeinfo_catalog(). >> >> (get_mergeinfo): Update call to svn_client__get_repos_mergeinfo_catalog(). >> >> * subversion/libsvn_ra/deprecated.c >> >> (svn_ra_get_mergeinfo): Update call to svn_ra_get_mergeinfo2(). >> >> * subversion/libsvn_ra/ra_loader.c >> >> (svn_ra_get_mergeinfo2): Account for changes to svn_ra_get_mergeinfo2(). >> >> * subversion/libsvn_ra/ra_loader.h >> >> (get_mergeinfo): Account for changes to svn_ra_get_mergeinfo2(). >> >> * subversion/libsvn_ra_local/ra_plugin.c >> >> (svn_ra_local__get_mergeinfo): Account for changes to >> svn_ra_get_mergeinfo2(). >> >> (svn_ra_local__has_capability): Check for new >> SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO capability. >> >> * subversion/libsvn_ra_neon/mergeinfo.c >> >> (mergeinfo_baton): Remove validated_inherited_mergeinfo member. >> >> (mergeinfo_report_elements): Remove ELEM_validate_inherited_mergeinfo >> element. >> >> (start_element): Remove handler for ELEM_validate_inherited_mergeinfo. >> >> (svn_ra_neon__get_mergeinfo): Account for changes to >> svn_ra_get_mergeinfo2(). >> >> * subversion/libsvn_ra_neon/options.c >> >> (parse_capabilities): Parse new >> SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO capability. >> >> (svn_ra_neon__has_capability): Handle new >> SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO capability. >> >> * subversion/libsvn_ra_neon/ra_neon.h >> >> (svn_ra_neon__get_mergeinfo): Account for changes to >> svn_ra_get_mergeinfo2(). >> >> * subversion/libsvn_ra_serf/mergeinfo.c >> >> (mergeinfo_state_e.MERGEINFO_VALIDATED): Remove. >> >> (struct mergeinfo_context_t.validated_inherited_mergeinfo): Remove. >> >> (start_element): Don't handle SVN_DAV__VALIDATE_INHERITED, no production >> server will ever send it. >> >> (svn_ra_serf__get_mergeinfo): Account for changes to >> svn_ra_get_mergeinfo2(). >> >> * subversion/libsvn_ra_serf/options.c >> >> (capabilities_headers_iterator_callback): Parse new >> SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO capability. >> >> (svn_ra_serf__has_capability): Handle new >> SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO capability. >> >> (cdata_handler): Remove handler for defunct >> mergeinfo_state_e.MERGEINFO_VALIDATED. >> >> * subversion/libsvn_ra_serf/ra_serf.h >> >> (svn_ra_serf__get_mergeinfo): Account for changes to >> svn_ra_get_mergeinfo2(). >> >> * subversion/libsvn_ra_svn/client.c >> >> (ra_svn_get_mergeinfo): Account for changes to svn_ra_get_mergeinfo2(). >> Stop expecting optional response from server that mergeinfo was >> validated. >> >> (ra_svn_has_capability): Handle new >> SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO capability. >> >> * subversion/mod_dav_svn/reports/mergeinfo.c >> >> (dav_svn__get_mergeinfo_report): Stop reporting back to the client if >> the server validated inherited mergeinfo. >> >> * subversion/mod_dav_svn/version.c >> >> (get_vsn_options): Add SVN_RA_SVN_CAP_VALIDATE_INHERITED_MERGEINFO >> to reported capabilities list. >> > > Wrong change, you shouldn't use SVN_RA_SVN_* in mod_dav_svn. (Yes, this > means every capability has several distinct names: an ra_dav wire name, > an ra_svn wire name, and a public API name)
Hi Daniel, That was a typo in the log message, SVN_DAV_NS_DAV_SVN_MERGEINFO_VALIDATION is used in the code. I fixed the log message. > Also, you need to patch libsvn_ra_svn/protocol. Done r1142038. Paul