You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2014/06/11 09:57:57 UTC

svn commit: r1601823 - /subversion/branches/ra-git/subversion/libsvn_ra_git/ra_plugin.c

Author: stsp
Date: Wed Jun 11 07:57:57 2014
New Revision: 1601823

URL: http://svn.apache.org/r1601823
Log:
On the 'ra-git' branch: Remove unnecessary code in libsvn_ra_git
 
* subversion/libsvn_ra_git/ra_plugin.c
  (do_git_fetch): no need for explicit connect before fetching
  (svn_ra_git__stat): look up the bob/tree as a generic object, which is
   what map_obj_to_direct() wants.

Patch by: Carlos Martín Nieto <cm...@elego.de>
(small formatting tweaks by me)

Modified:
    subversion/branches/ra-git/subversion/libsvn_ra_git/ra_plugin.c

Modified: subversion/branches/ra-git/subversion/libsvn_ra_git/ra_plugin.c
URL: http://svn.apache.org/viewvc/subversion/branches/ra-git/subversion/libsvn_ra_git/ra_plugin.c?rev=1601823&r1=1601822&r2=1601823&view=diff
==============================================================================
--- subversion/branches/ra-git/subversion/libsvn_ra_git/ra_plugin.c (original)
+++ subversion/branches/ra-git/subversion/libsvn_ra_git/ra_plugin.c Wed Jun 11 07:57:57 2014
@@ -203,13 +203,6 @@ do_git_fetch(svn_ra_git__session_baton_t
   if (sess->fetch_done)
     return SVN_NO_ERROR;
 
-  if (!git_remote_connected(sess->remote))
-    {
-      git_err = git_remote_connect(sess->remote, GIT_DIRECTION_FETCH);
-      if (git_err)
-        return svn_error_trace(svn_ra_git__wrap_git_error());
-    }
-
   SVN_DBG(("fetching from %s\n", git_remote_url(sess->remote)));
 
   git_err = git_remote_fetch(sess->remote);
@@ -1974,11 +1967,11 @@ svn_ra_git__stat(svn_ra_session_t *sessi
         }
 
       type = git_tree_entry_type(entry);
-      if (type == GIT_OBJ_TREE) 
+      if (type == GIT_OBJ_TREE || type == GIT_OBJ_BLOB)
         {
-          git_tree *this_tree;
+          git_object *object;
 
-          git_err = git_tree_lookup(&this_tree, sess->repos, git_tree_entry_id(entry));
+          git_err = git_object_lookup(&object, sess->repos, git_tree_entry_id(entry), type);
           if (git_err)
             {
               git_tree_entry_free(entry);
@@ -1989,24 +1982,8 @@ svn_ra_git__stat(svn_ra_session_t *sessi
             }
 
           SVN_ERR(map_obj_to_dirent(dirent, sess->revmap, path, revision, SVN_DIRENT_ALL,
-                                    sess->repos, commit, (git_object *)this_tree, pool));
-          git_tree_free(this_tree);
-        }
-      else if (type == GIT_OBJ_BLOB)
-        {
-          git_blob *blob;
-
-          git_err = git_blob_lookup(&blob, sess->repos, git_tree_entry_id(entry));
-          if (git_err)
-            {
-              git_tree_free(tree);
-              git_commit_free(commit);
-              return svn_error_trace(svn_ra_git__wrap_git_error());
-            }
-
-          SVN_ERR(map_obj_to_dirent(dirent, sess->revmap, path, revision, SVN_DIRENT_ALL,
-                                    sess->repos, commit, (git_object *)blob, pool));
-          git_blob_free(blob);
+                                    sess->repos, commit, object, pool));
+          git_object_free(object);
         }
       else
         {