Re: issue #1169 patch strategy
From: Matt Kraai <kraai_at_alumni.cmu.edu>
Date: 2003-03-07 21:33:19 CET
On Fri, Mar 07, 2003 at 01:38:51PM -0600, cmpilato@collab.net wrote:
OK, in that case, would someone please test the following patch
I'll take up your RA->get_dir() patch next.
Matt
-- Oink! Partially fix issue #1169: * subversion/include/svn_ra.h (svn_ra_plugin_t): Add pool argument to get_dated_revision. * subversion/libsvn_ra_dav/ra_dav.h (svn_ra_dav__get_dated_revision): Add pool argument. * subversion/libsvn_ra_dav/fetch.c (svn_ra_dav__get_dated_revision): Add pool argument. * subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__get_dated_revision): Likewise. * subversion/libsvn_ra_svn/client.c (ra_svn_get_dated_rev): Likewise. * subversion/bindings/ruby/ra.c (ra_get_dated_revision): Pass pool to get_dated_revision. * subversion/libsvn_client/revisions.c (svn_client__get_revision_number): Likewise. Index: subversion/include/svn_ra.h =================================================================== --- subversion/include/svn_ra.h (revision 5241) +++ subversion/include/svn_ra.h (working copy) @@ -288,7 +288,8 @@ /** Get the latest revision number at time @a time. */ svn_error_t *(*get_dated_revision) (void *session_baton, svn_revnum_t *revision, - apr_time_t tm); + apr_time_t tm, + apr_pool_t *pool); /** Set the property @a name to @a value on revision @a rev. * Index: subversion/libsvn_ra_local/ra_plugin.c =================================================================== --- subversion/libsvn_ra_local/ra_plugin.c (revision 5241) +++ subversion/libsvn_ra_local/ra_plugin.c (working copy) @@ -283,12 +283,13 @@ static svn_error_t * svn_ra_local__get_dated_revision (void *session_baton, svn_revnum_t *revision, - apr_time_t tm) + apr_time_t tm, + apr_pool_t *pool) { svn_ra_local__session_baton_t *baton = (svn_ra_local__session_baton_t *) session_baton; - SVN_ERR (svn_repos_dated_revision (revision, baton->repos, tm, baton->pool)); + SVN_ERR (svn_repos_dated_revision (revision, baton->repos, tm, pool)); return SVN_NO_ERROR; } Index: subversion/libsvn_client/revisions.c =================================================================== --- subversion/libsvn_client/revisions.c (revision 5241) +++ subversion/libsvn_client/revisions.c (working copy) @@ -63,7 +63,8 @@ if (revision->kind == svn_opt_revision_number) *revnum = revision->value.number; else if (revision->kind == svn_opt_revision_date) - SVN_ERR (ra_lib->get_dated_revision (sess, revnum, revision->value.date)); + SVN_ERR (ra_lib->get_dated_revision (sess, revnum, revision->value.date, + pool)); else if (revision->kind == svn_opt_revision_head) SVN_ERR (ra_lib->get_latest_revnum (sess, revnum, pool)); else if (revision->kind == svn_opt_revision_unspecified) Index: subversion/bindings/ruby/ra.c =================================================================== --- subversion/bindings/ruby/ra.c (revision 5241) +++ subversion/bindings/ruby/ra.c (working copy) @@ -482,7 +482,8 @@ sec = NUM2LONG (rb_funcall (aDate, rb_intern ("tv_sec"), 0)); usec = NUM2LONG (rb_funcall (aDate, rb_intern ("tv_usec"), 0)); err = ra->plugin->get_dated_revision (ra->session_baton, &revision, - apr_time_make(sec, usec)); + apr_time_make(sec, usec), + ra->pool); } if (err) Index: subversion/libsvn_ra_svn/client.c =================================================================== --- subversion/libsvn_ra_svn/client.c (revision 5241) +++ subversion/libsvn_ra_svn/client.c (working copy) @@ -409,10 +409,9 @@ } static svn_error_t *ra_svn_get_dated_rev(void *sess, svn_revnum_t *rev, - apr_time_t tm) + apr_time_t tm, apr_pool_t *pool) { svn_ra_svn_conn_t *conn = sess; - apr_pool_t *pool = conn->pool; SVN_ERR(svn_ra_svn_write_cmd(conn, pool, "get-dated-rev", "c", svn_time_to_cstring(tm, pool))); Index: subversion/libsvn_ra_dav/ra_dav.h =================================================================== --- subversion/libsvn_ra_dav/ra_dav.h (revision 5241) +++ subversion/libsvn_ra_dav/ra_dav.h (working copy) @@ -76,7 +76,8 @@ svn_error_t *svn_ra_dav__get_dated_revision (void *session_baton, svn_revnum_t *revision, - apr_time_t timestamp); + apr_time_t timestamp, + apr_pool_t *pool); svn_error_t *svn_ra_dav__change_rev_prop (void *session_baton, svn_revnum_t rev, Index: subversion/libsvn_ra_dav/fetch.c =================================================================== --- subversion/libsvn_ra_dav/fetch.c (revision 5241) +++ subversion/libsvn_ra_dav/fetch.c (working copy) @@ -1464,26 +1464,27 @@ svn_error_t *svn_ra_dav__get_dated_revision (void *session_baton, svn_revnum_t *revision, - apr_time_t timestamp) + apr_time_t timestamp, + apr_pool_t *pool) { svn_ra_session_t *ras = session_baton; const char *body; svn_error_t *err; - body = apr_psprintf(ras->pool, + body = apr_psprintf(pool, "<?xml version=\"1.0\" encoding=\"utf-8\"?>" "<S:dated-rev-report xmlns:S=\"" SVN_XML_NAMESPACE "\" " "xmlns:D=\"DAV:\">" "<D:creationdate>%s</D:creationdate>" "</S:dated-rev-report>", - svn_time_to_cstring(timestamp, ras->pool)); + svn_time_to_cstring(timestamp, pool)); *revision = SVN_INVALID_REVNUM; err = svn_ra_dav__parsed_request(ras, "REPORT", ras->root.path, body, NULL, drev_report_elements, drev_validate_element, drev_start_element, drev_end_element, - revision, NULL, ras->pool); + revision, NULL, pool); if (err && err->apr_err == SVN_ERR_UNSUPPORTED_FEATURE) return svn_error_quick_wrap(err, "Server does not support date-based " "operations."); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org For additional commands, e-mail: dev-help@subversion.tigris.orgReceived on Fri Mar 7 21:33:01 2003 |
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.