You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2011/01/04 18:29:49 UTC

svn commit: r1055114 - in /subversion/trunk/subversion/libsvn_client: merge.c mergeinfo.h

Author: pburba
Date: Tue Jan  4 17:29:48 2011
New Revision: 1055114

URL: http://svn.apache.org/viewvc?rev=1055114&view=rev
Log:
Don't open a needless svn_ra_session_t (and fix an old merge TODO).

* subversion/libsvn_client/merge.c
  (get_full_mergeinfo): Pass along the incoming svn_ra_session_t * to
   svn_client__get_wc_or_repos_mergeinfo, it will do the right thing
   regardless of whether the session is null or points elsewhere.

* subversion/libsvn_client/mergeinfo.h
  (client__get_repos_mergeinfo_catalog): Tweak docstring to accurately
   relfect how the svn_ra_session_t argument is used.

Modified:
    subversion/trunk/subversion/libsvn_client/merge.c
    subversion/trunk/subversion/libsvn_client/mergeinfo.h

Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1055114&r1=1055113&r2=1055114&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Tue Jan  4 17:29:48 2011
@@ -3444,12 +3444,9 @@ get_full_mergeinfo(svn_mergeinfo_t *reco
      removing any self-referential mergeinfo. */
   if (recorded_mergeinfo)
     {
-      /* ### FIXME: There's probably an RA session we could/should be
-         ### using here instead of having this function possibly spawn
-         ### yet another one.  */
       SVN_ERR(svn_client__get_wc_or_repos_mergeinfo(recorded_mergeinfo,
                                                     &inherited, FALSE,
-                                                    inherit, NULL,
+                                                    inherit, ra_session,
                                                     target_abspath,
                                                     ctx, scratch_pool));
       if (indirect)

Modified: subversion/trunk/subversion/libsvn_client/mergeinfo.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/mergeinfo.h?rev=1055114&r1=1055113&r2=1055114&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/mergeinfo.h (original)
+++ subversion/trunk/subversion/libsvn_client/mergeinfo.h Tue Jan  4 17:29:48 2011
@@ -207,9 +207,10 @@ svn_client__get_repos_mergeinfo_catalog(
    target has no info of its own.
 
    If no mergeinfo can be obtained from the WC or REPOS_ONLY is TRUE,
-   get it from the repository.  RA_SESSION should be an open RA
-   session pointing at TARGET_WCPATH's URL, or NULL, in which case this
-   function will open its own temporary session.
+   get it from the repository.  If the repository is contacted for mergeinfo
+   and RA_SESSION does not point to TARGET_WCPATH's URL, then it is
+   temporarily reparented.  If RA_SESSION is NULL, then a temporary session
+   is opened as needed.
 
    Store any mergeinfo obtained for TARGET_WCPATH in
    *TARGET_MERGEINFO, if no mergeinfo is found *TARGET_MERGEINFO is