You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2010/11/04 00:22:21 UTC

svn commit: r1030755 - /subversion/trunk/subversion/libsvn_client/checkout.c

Author: julianfoad
Date: Wed Nov  3 23:22:21 2010
New Revision: 1030755

URL: http://svn.apache.org/viewvc?rev=1030755&view=rev
Log:
Code simplification.

* subversion/libsvn_client/checkout.c
  (initialize_area): Don't update the WC here, just initialize it.
  (svn_client__checkout_internal): Update the WC here, in all cases.

Modified:
    subversion/trunk/subversion/libsvn_client/checkout.c

Modified: subversion/trunk/subversion/libsvn_client/checkout.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/checkout.c?rev=1030755&r1=1030754&r2=1030755&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/checkout.c (original)
+++ subversion/trunk/subversion/libsvn_client/checkout.c Wed Nov  3 23:22:21 2010
@@ -48,18 +48,12 @@
 /*** Public Interfaces. ***/
 
 static svn_error_t *
-initialize_area(svn_revnum_t *result_rev,
-                const char *local_abspath,
-                const svn_opt_revision_t *revision,
+initialize_area(const char *local_abspath,
                 const char *session_url,
                 const char *repos_root,
                 const char *uuid,
                 svn_revnum_t revnum,
                 svn_depth_t depth,
-                svn_boolean_t *use_sleep,
-                svn_boolean_t ignore_externals,
-                svn_boolean_t allow_unver_obstructions,
-                svn_boolean_t innercheckout,
                 svn_client_ctx_t *ctx,
                 apr_pool_t *pool)
 {
@@ -69,13 +63,7 @@ initialize_area(svn_revnum_t *result_rev
   /* Make the unversioned directory into a versioned one.  */
   SVN_ERR(svn_wc_ensure_adm4(ctx->wc_ctx, local_abspath, session_url,
                              repos_root, uuid, revnum, depth, pool));
-  /* Have update fix the incompleteness. */
-  return svn_error_return(svn_client__update_internal(result_rev, local_abspath,
-                                                      revision, depth, TRUE,
-                                                      ignore_externals,
-                                                      allow_unver_obstructions,
-                                                      use_sleep, innercheckout,
-                                                      ctx, pool));
+  return SVN_NO_ERROR;
 }
 
 
@@ -187,10 +175,8 @@ svn_client__checkout_internal(svn_revnum
          entries file should only have an entry for THIS_DIR with a
          URL, revnum, and an 'incomplete' flag.  */
       SVN_ERR(svn_io_make_dir_recursively(local_abspath, pool));
-      err = initialize_area(result_rev, local_abspath, revision, session_url,
-                            repos_root, uuid, revnum, depth, use_sleep,
-                            ignore_externals, allow_unver_obstructions,
-                            innercheckout, ctx, pool);
+      err = initialize_area(local_abspath, session_url,
+                            repos_root, uuid, revnum, depth, ctx, pool);
     }
   else if (kind == svn_node_dir)
     {
@@ -200,10 +186,8 @@ svn_client__checkout_internal(svn_revnum
       SVN_ERR(svn_wc_check_wc2(&wc_format, ctx->wc_ctx, local_abspath, pool));
       if (! wc_format)
         {
-          err = initialize_area(result_rev, local_abspath, revision, session_url,
-                                repos_root, uuid, revnum, depth, use_sleep,
-                                ignore_externals, allow_unver_obstructions,
-                                innercheckout, ctx, pool);
+          err = initialize_area(local_abspath, session_url,
+                                repos_root, uuid, revnum, depth, ctx, pool);
         }
       else
         {
@@ -213,17 +197,8 @@ svn_client__checkout_internal(svn_revnum
 
           /* If PATH's existing URL matches the incoming one, then
              just update.  This allows 'svn co' to restart an
-             interrupted checkout. */
-          if (strcmp(entry_url, session_url) == 0)
-            {
-              err = svn_client__update_internal(result_rev, local_abspath,
-                                                revision, depth, TRUE,
-                                                ignore_externals,
-                                                allow_unver_obstructions,
-                                                use_sleep, innercheckout,
-                                                ctx, pool);
-            }
-          else
+             interrupted checkout.  Otherwise bail out. */
+          if (strcmp(entry_url, session_url) != 0)
             return svn_error_createf(
                           SVN_ERR_WC_OBSTRUCTED_UPDATE, NULL,
                           _("'%s' is already a working copy for a different URL;"
@@ -238,6 +213,14 @@ svn_client__checkout_internal(svn_revnum
                                svn_dirent_local_style(local_abspath, pool));
     }
 
+  /* Have update fix the incompleteness. */
+  err = svn_client__update_internal(result_rev, local_abspath,
+                                    revision, depth, TRUE,
+                                    ignore_externals,
+                                    allow_unver_obstructions,
+                                    use_sleep, innercheckout,
+                                    ctx, pool);
+
   if (err)
     {
       /* Don't rely on the error handling to handle the sleep later, do