On 06/23/2011 07:18 PM, Dirk Thomas wrote:
> Well, since issue 3931 was fixed today
> ('svn log' is returning log of unrelated path when peg revision is not
> related to operative revision)
> i revisited my patch for issue 3830.
>
>
> + /* try fetching ra_session again
> + * this time with modified revision argument.
> + * @todo modify already existing ra_session if possible? */
> + err = svn_client__ra_session_from_path(&ra_session, &ignored_revnum,
> + &actual_url, ra_target, NULL,
> + &peg_rev, &session_mod_rev,
> + ctx, pool);
>
> I don't know if it is possible to modify an already existing ra_session
> instead of opening a new for different revisions.
> If yes, please come up with an short description, so that performance would
> be improved.
An RA session isn't opened to a particular revision. It's opened to a URL
(called the session URL). That fact is masked by helper functions such as
the one in the context above, which accept a peg and an operation revision
as input, but it's true nonetheless. Anyway, once you have an RA session
opened, you can later point to it to a different session URL (within the
same repository) using svn_ra_reparent(). Under the hood, it's nothing more
than a change to some strings in the svn_ra_session_t object.
--
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2011-06-24 15:42:19 CEST