Author: neels
Date: Thu Sep 22 14:40:25 2011
New Revision: 1174166

URL: http://svn.apache.org/viewvc?rev=1174166&view=rev
Log:
Revert r1174139. (No time to fix right now, unbreak the buildbots until then.)

Modified:
    subversion/trunk/subversion/include/private/svn_wc_private.h
    subversion/trunk/subversion/libsvn_client/cleanup.c
    subversion/trunk/subversion/libsvn_wc/upgrade.c
    subversion/trunk/subversion/libsvn_wc/wc_db.c
    subversion/trunk/subversion/libsvn_wc/wc_db.h

Modified: subversion/trunk/subversion/include/private/svn_wc_private.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_wc_private.h?rev=1174166&r1=1174165&r2=1174166&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_wc_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_wc_private.h Thu Sep 22 
14:40:25 2011
@@ -1169,21 +1169,6 @@ svn_wc__node_was_moved_here(const char *
                             apr_pool_t *result_pool,
                             apr_pool_t *scratch_pool);
 
-/* During an upgrade to wc-ng, supply known details about an existing
- * external.  The working copy will suck in and store the information supplied
- * about the existing external at @a local_abspath. */
-svn_error_t *
-svn_wc__upgrade_add_external_info(svn_wc_context_t *wc_ctx,
-                                  const char *local_abspath,
-                                  svn_node_kind_t kind,
-                                  const char *def_local_abspath,
-                                  const char *repos_relpath,
-                                  const char *repos_root_url,
-                                  const char *repos_uuid,
-                                  svn_revnum_t def_peg_revision,
-                                  svn_revnum_t def_revision,
-                                  apr_pool_t *scratch_pool);
-
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/trunk/subversion/libsvn_client/cleanup.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/cleanup.c?rev=1174166&r1=1174165&r2=1174166&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/cleanup.c (original)
+++ subversion/trunk/subversion/libsvn_client/cleanup.c Thu Sep 22 14:40:25 2011
@@ -171,12 +171,7 @@ svn_client_upgrade(const char *path,
           svn_wc_external_item2_t *item;
           const char *external_abspath;
           const char *external_path;
-          const char *repos_relpath;
-          const char *repos_root_url;
-          const char *repos_uuid;
           svn_node_kind_t kind;
-          svn_revnum_t peg_revision;
-          svn_revnum_t revision;
           svn_error_t *err;
 
           item = APR_ARRAY_IDX(externals_p, i, svn_wc_external_item2_t*);
@@ -185,10 +180,8 @@ svn_client_upgrade(const char *path,
           external_path = svn_dirent_join(externals_parent, item->target_dir,
                                           iterpool2);
 
-          err = svn_dirent_get_absolute(&external_abspath, external_path,
-                                        iterpool2);
-          if (err)
-            goto handle_error;
+          SVN_ERR(svn_dirent_get_absolute(&external_abspath, external_path,
+                                          iterpool2));
 
           /* This is hack. We can only send dirs to svn_wc_upgrade(). This
              way we will get an exception saying that the wc must be
@@ -202,106 +195,10 @@ svn_client_upgrade(const char *path,
             {
               svn_error_clear(err);
 
-              err = svn_client_upgrade(external_abspath, ctx, iterpool2);
-            }
-
-          if (err)
-            goto handle_error;
-
-          /* The upgrade of any dir should be done now, get the (supposedly
-           * now reliable) kind. */
-          err = svn_wc_read_kind(&kind, ctx->wc_ctx, external_abspath,
-                                 FALSE, iterpool2);
-          if (err)
-            goto handle_error;
-
-          /* Update the EXTERNALS table according to the root URL,
-           * relpath and uuid known in the upgraded external WC. */
-
-          /* We should probably have a function that provides all three
-           * of root URL, repos relpath and uuid at once, but here goes... */
-
-          /* First get the relpath, as that returns SVN_ERR_WC_PATH_NOT_FOUND
-           * when the node is not present in the file system.
-           * (svn_wc__node_get_repos_info() would try to derive the URL). */
-          err = svn_wc__node_get_repos_relpath(&repos_relpath,
-                                               ctx->wc_ctx,
-                                               external_abspath,
-                                               iterpool2, iterpool2);
-          if (! err)
-            {
-              /* We got a repos relpath from a WC. So also get the root. */
-              err = svn_wc__node_get_repos_info(&repos_root_url,
-                                                &repos_uuid,
-                                                ctx->wc_ctx,
-                                                external_abspath,
-                                                iterpool2, iterpool2);
-            }
-          else if (err && err->apr_err == SVN_ERR_WC_PATH_NOT_FOUND)
-            {
-              /* The external is not currently checked out. Try to figure out
-               * the URL parts via the defined URL and fetch_repos_info(). */
-              svn_error_clear(err);
-
-              /* The repos root / uuid from above get_repos_info() call, if it
-               * was successful, has returned the URL as derived from the WC's
-               * parent path, which is not what we want for the external. Only
-               * makes sense for added/deleted/not-present files. So make sure
-               * those values are not used. */
-              repos_root_url = NULL;
-              repos_relpath = NULL;
-
-              err = fetch_repos_info(&repos_root_url,
-                                     &repos_uuid,
-                                     &info_baton,
-                                     item->url,
-                                     scratch_pool, scratch_pool);
-              if (err)
-                goto handle_error;
-
-
-              repos_relpath = svn_uri_skip_ancestor(repos_root_url, item->url,
-                                                    iterpool2);
-
-              /* There's just this URL, no idea what kind it is. */
-              kind = svn_node_unknown;
-            }
-
-          if (err)
-            goto handle_error;
-
-          peg_revision = (item->peg_revision.kind == svn_opt_revision_number
-                          ? item->peg_revision.value.number
-                          : SVN_INVALID_REVNUM);
-
-          revision = (item->revision.kind == svn_opt_revision_number
-                      ? item->revision.value.number
-                      : SVN_INVALID_REVNUM);
-
-          err = svn_wc__upgrade_add_external_info(ctx->wc_ctx,
-                                                  external_abspath,
-                                                  kind,
-                                                  externals_parent,
-                                                  repos_relpath,
-                                                  repos_root_url,
-                                                  repos_uuid,
-                                                  peg_revision,
-                                                  revision,
-                                                  iterpool2);
-handle_error:
-          if (err)
-            {
-              svn_wc_notify_t *notify =
-                  svn_wc_create_notify(external_abspath,
-                                       svn_wc_notify_failed_external,
-                                       scratch_pool);
-              notify->err = err;
-
-              ctx->notify_func2(ctx->notify_baton2,
-                                notify, scratch_pool);
-
-              svn_error_clear(err);
+              SVN_ERR(svn_client_upgrade(external_abspath, ctx, iterpool2));
             }
+          else
+            SVN_ERR(err);
         }
     }
 

Modified: subversion/trunk/subversion/libsvn_wc/upgrade.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/upgrade.c?rev=1174166&r1=1174165&r2=1174166&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/upgrade.c (original)
+++ subversion/trunk/subversion/libsvn_wc/upgrade.c Thu Sep 22 14:40:25 2011
@@ -1985,44 +1985,3 @@ svn_wc_upgrade(svn_wc_context_t *wc_ctx,
   return SVN_NO_ERROR;
 }
 
-svn_error_t *
-svn_wc__upgrade_add_external_info(svn_wc_context_t *wc_ctx,
-                                  const char *local_abspath,
-                                  svn_node_kind_t kind,
-                                  const char *def_local_abspath,
-                                  const char *repos_relpath,
-                                  const char *repos_root_url,
-                                  const char *repos_uuid,
-                                  svn_revnum_t def_peg_revision,
-                                  svn_revnum_t def_revision,
-                                  apr_pool_t *scratch_pool)
-{
-  svn_wc__db_kind_t db_kind;
-  switch (kind)
-    {
-      case svn_node_dir:
-        db_kind = svn_wc__db_kind_dir;
-        break;
-
-      case svn_node_file:
-        db_kind = svn_wc__db_kind_file;
-        break;
-
-      case svn_node_unknown:
-        db_kind = svn_wc__db_kind_unknown;
-        break;
-
-      default:
-        SVN_ERR_MALFUNCTION();
-    }
-
-  SVN_ERR(svn_wc__db_upgrade_insert_external(wc_ctx->db, local_abspath,
-                                             db_kind,
-                                             svn_dirent_dirname(local_abspath,
-                                                                scratch_pool),
-                                             def_local_abspath, repos_relpath,
-                                             repos_root_url, repos_uuid,
-                                             def_peg_revision, def_revision,
-                                             scratch_pool));
-  return SVN_NO_ERROR;
-}

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1174166&r1=1174165&r2=1174166&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Thu Sep 22 14:40:25 2011
@@ -10413,77 +10413,6 @@ svn_wc__db_upgrade_apply_props(svn_sqlit
   return SVN_NO_ERROR;
 }
 
-svn_error_t *
-svn_wc__db_upgrade_insert_external(svn_wc__db_t *db,
-                                   const char *local_abspath,
-                                   svn_wc__db_kind_t kind,
-                                   const char *parent_abspath,
-                                   const char *def_local_abspath,
-                                   const char *repos_relpath,
-                                   const char *repos_root_url,
-                                   const char *repos_uuid,
-                                   svn_revnum_t def_peg_revision,
-                                   svn_revnum_t def_revision,
-                                   apr_pool_t *scratch_pool)
-{
-  svn_wc__db_wcroot_t *wcroot;
-  const char *parent_local_relpath;
-  svn_sqlite__stmt_t *stmt;
-  svn_boolean_t have_row;
-  apr_int64_t repos_id;
-
-  SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
-
-  SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot,
-                                                &parent_local_relpath, db,
-                                                parent_abspath, scratch_pool,
-                                                scratch_pool));
-  VERIFY_USABLE_WCROOT(wcroot);
-
-
-  SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
-                                    STMT_SELECT_REPOSITORY));
-  SVN_ERR(svn_sqlite__bindf(stmt, "s", repos_root_url));
-  SVN_ERR(svn_sqlite__step(&have_row, stmt));
-
-  if (have_row)
-    repos_id = svn_sqlite__column_int64(stmt, 0);
-  SVN_ERR(svn_sqlite__reset(stmt));
-
-  if (!have_row)
-    {
-      /* Need to set up a new repository row. */
-      SVN_ERR(create_repos_id(&repos_id, repos_root_url, repos_uuid,
-                              wcroot->sdb, scratch_pool));
-    }
-
-  SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
-                                    STMT_INSERT_EXTERNAL));
-
-  /* wc_id, local_relpath, parent_relpath, presence, kind, def_local_relpath,
-   * repos_id, def_repos_relpath, def_operational_revision, def_revision */
-  SVN_ERR(svn_sqlite__bindf(stmt, "issstsis",
-                            wcroot->wc_id,
-                            svn_dirent_skip_ancestor(wcroot->abspath,
-                                                     local_abspath),
-                            parent_local_relpath,
-                            "normal",
-                            kind_map, kind,
-                            svn_dirent_skip_ancestor(wcroot->abspath,
-                                                     def_local_abspath),
-                            repos_id,
-                            repos_relpath));
-
-  if (SVN_IS_VALID_REVNUM(def_peg_revision))
-    SVN_ERR(svn_sqlite__bind_revnum(stmt, 9, def_peg_revision));
-
-  if (SVN_IS_VALID_REVNUM(def_revision))
-    SVN_ERR(svn_sqlite__bind_revnum(stmt, 10, def_revision));
-
-  SVN_ERR(svn_sqlite__insert(NULL, stmt));
-
-  return SVN_NO_ERROR;
-}
 
 svn_error_t *
 svn_wc__db_upgrade_get_repos_id(apr_int64_t *repos_id,

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.h?rev=1174166&r1=1174165&r2=1174166&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.h Thu Sep 22 14:40:25 2011
@@ -2652,19 +2652,6 @@ svn_wc__db_upgrade_apply_props(svn_sqlit
                                apr_int64_t wc_id,
                                apr_pool_t *scratch_pool);
 
-/* Simply insert (or replace) one row in the EXTERNALS table. */
-svn_error_t *
-svn_wc__db_upgrade_insert_external(svn_wc__db_t *db,
-                                   const char *local_abspath,
-                                   svn_wc__db_kind_t kind,
-                                   const char *parent_abspath,
-                                   const char *def_local_abspath,
-                                   const char *repos_relpath,
-                                   const char *repos_root_url,
-                                   const char *repos_uuid,
-                                   svn_revnum_t def_peg_revision,
-                                   svn_revnum_t def_revision,
-                                   apr_pool_t *scratch_pool);
 
 /* Get the repository identifier corresponding to REPOS_ROOT_URL from the
    database in SDB. The value is returned in *REPOS_ID. All allocations


Reply via email to