On Fri, Jul 1, 2011 at 1:14 PM, Daniel Shahaf <d.s_at_daniel.shahaf.name> wrote:
> 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)
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
Received on 2011-07-01 21:29:21 CEST