[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1141981 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_ra/ libsvn_ra_local/ libsvn_ra_neon/ libsvn_ra_serf/ libsvn_ra_svn/ mod_dav_svn/ mod_dav_svn/reports/ svnserve/

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Fri, 1 Jul 2011 20:14:54 +0300

pburba_at_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)

Also, you need to patch libsvn_ra_svn/protocol.

> * subversion/svnserve/serve.c
>
> (get_mergeinfo): Stop reporting back to the client if
> the server validated inherited mergeinfo.
>
> (serve): If SVN_RA_SVN_CAP_MERGEINFO is supported, then report
> SVN_RA_SVN_CAP_VALIDATE_INHERITED_MERGEINFO as well.
>
> Modified:
> subversion/trunk/subversion/include/svn_dav.h
> subversion/trunk/subversion/include/svn_ra.h
> subversion/trunk/subversion/include/svn_ra_svn.h
> subversion/trunk/subversion/libsvn_client/copy.c
> subversion/trunk/subversion/libsvn_client/merge.c
> subversion/trunk/subversion/libsvn_client/mergeinfo.c
> subversion/trunk/subversion/libsvn_client/mergeinfo.h
> subversion/trunk/subversion/libsvn_ra/deprecated.c
> subversion/trunk/subversion/libsvn_ra/ra_loader.c
> subversion/trunk/subversion/libsvn_ra/ra_loader.h
> subversion/trunk/subversion/libsvn_ra_local/ra_plugin.c
> subversion/trunk/subversion/libsvn_ra_neon/mergeinfo.c
> subversion/trunk/subversion/libsvn_ra_neon/options.c
> subversion/trunk/subversion/libsvn_ra_neon/ra_neon.h
> subversion/trunk/subversion/libsvn_ra_serf/mergeinfo.c
> subversion/trunk/subversion/libsvn_ra_serf/options.c
> subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h
> subversion/trunk/subversion/libsvn_ra_svn/client.c
> subversion/trunk/subversion/mod_dav_svn/reports/mergeinfo.c
> subversion/trunk/subversion/mod_dav_svn/version.c
> subversion/trunk/subversion/svnserve/serve.c
Received on 2011-07-01 19:15:43 CEST

This is an archived mail posted to the Subversion Dev mailing list.