[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: Paul Burba <ptburba_at_gmail.com>
Date: Fri, 1 Jul 2011 15:28:47 -0400

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

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.