On Thu, 29 Nov 2007, kfogel@tigris.org wrote:
...
> --- branches/issue-2897/subversion/libsvn_ra_serf/mergeinfo.c (original)
> +++ branches/issue-2897/subversion/libsvn_ra_serf/mergeinfo.c Thu Nov 29 17:29:04 2007
> @@ -49,7 +49,7 @@
> CDATA from the mergeinfo items as we get them from the server. */
>
> typedef struct {
> -/* Needed by both mergeinfo reports. */
> + /* Needed by both mergeinfo reports. */
> apr_pool_t *pool;
> svn_stringbuf_t *curr_path;
> svn_stringbuf_t *curr_info;
> @@ -57,11 +57,11 @@
> svn_boolean_t done;
> svn_mergeinfo_inheritance_t inherit;
>
> -/* Needed by only mergeinfo-report. */
> + /* Needed by only mergeinfo-report. */
> const apr_array_header_t *paths;
> svn_revnum_t revision;
>
> -/* Needed by only commit-revs-for-merge-ranges-report. */
> + /* Needed by only commit-revs-for-merge-ranges-report. */
> const char *merge_target;
> const char *merge_source;
> svn_revnum_t min_commit_rev;
> @@ -279,8 +279,6 @@
> return body_bkt;
> }
>
> -/* Request a mergeinfo-report from the URL attached to SESSION,
> - and fill in the MERGEINFO hash with the results. */
> svn_error_t *
> svn_ra_serf__get_mergeinfo(svn_ra_session_t *ra_session,
> apr_hash_t **mergeinfo,
> @@ -372,8 +370,6 @@
> return SVN_NO_ERROR;
> }
>
> -/* Request a commit-revs-for-merge-ranges-report from the URL attached to
> - SESSION, and fill in the commit_rev_rangelist array with the results.*/
> svn_error_t *
> svn_ra_serf__get_commit_revs_for_merge_ranges(
> svn_ra_session_t *ra_session,
> @@ -455,7 +451,9 @@
> too old to understand the mergeinfo-report REPORT.
>
> ### It would be less expensive if we knew the server's
> - ### capabilities *before* sending our REPORT. */
> + ### capabilities *before* sending our REPORT.
> +
> + ### We can do that, with svn_ra_has_capability()... -Karl */
> if (err)
> {
> if (err->apr_err == SVN_ERR_UNSUPPORTED_FEATURE)
Most of these changes could've been made on trunk.
I've made this last RA change you suggest in r28172 (trunk),
changing svn_ra_get_mergeinfo() to check whether the server is
mergeinfo-capable before invoking the RA vtable's get_mergeinfo()
implementation. If the server is not mergeinfo-capable, we now
return an error with the code SVN_ERR_UNSUPPORTED_FEATURE.
- application/pgp-signature attachment: stored
Received on Sat Dec 1 07:09:57 2007