You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2010/11/15 16:57:07 UTC

svn commit: r1035323 - in /subversion/branches/1.6.x: ./ CHANGES STATUS subversion/libsvn_wc/questions.c subversion/tests/cmdline/merge_tests.py subversion/tests/cmdline/svntest/actions.py subversion/tests/cmdline/svntest/main.py

Author: hwright
Date: Mon Nov 15 15:57:07 2010
New Revision: 1035323

URL: http://svn.apache.org/viewvc?rev=1035323&view=rev
Log:
Reintegrate the 1.6.x-no-wcng-check branch:

 * ^/subversion/branches/1.6.x-no-wcng-check
   Remove the function subversion/libsvn_wc/questions.c:is_inside_wc_ng()
   and its uses.
   Justification:
     First, per issue #3729, the performance cost of this check is
     atrocious (as it seems to happen many, many times in the course
     of a checkout) and, according to some CollabNet customers,
     unbearable.  Secondly, the workaround stsp added to allow the
     1.6.x test suite to run inside a trunk-managed working copy tells
     us that it's not necessarily the case that creating a 1.6 working
     copy below some 1.7+ wcroot is problematic.  It can be concluded,
     then, that we might just be trying to stop a problem that doesn't
     exist, and making every 1.6.6+ user pay a high cost for our
     preventative efforts.  That's bad.
   Branch:
     ^/subversion/branches/1.6.x-no-wcng-check
   Votes:
     +0: cmpilato
     +1: stsp (I agree with the points cmpilato has raised in the issue.
               Let's deal with this problem, if it really turns out to
               be relevant, after 1.7 is released. We can still issue a 1.6.x
               patch release at that point to fix any such problems.
               Until then, we don't need to bother our users with this.
               Especially since doing so is causing them real problems now.)
     +1: philip, rhuijben

Modified:
    subversion/branches/1.6.x/   (props changed)
    subversion/branches/1.6.x/CHANGES   (props changed)
    subversion/branches/1.6.x/STATUS
    subversion/branches/1.6.x/subversion/libsvn_wc/questions.c
    subversion/branches/1.6.x/subversion/tests/cmdline/merge_tests.py   (props changed)
    subversion/branches/1.6.x/subversion/tests/cmdline/svntest/actions.py
    subversion/branches/1.6.x/subversion/tests/cmdline/svntest/main.py

Propchange: subversion/branches/1.6.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 15 15:57:07 2010
@@ -26,6 +26,7 @@
 /subversion/branches/1.6.x-issue3727:1032967-1033213
 /subversion/branches/1.6.x-issue3745:1032257-1033223
 /subversion/branches/1.6.x-no-svn_uri:876360-876415
+/subversion/branches/1.6.x-no-wcng-check:1022248-1035322
 /subversion/branches/1.6.x-r1002094:1002741-1002773
 /subversion/branches/1.6.x-r36178:877876-877884
 /subversion/branches/1.6.x-r36252:876328-876788

Propchange: subversion/branches/1.6.x/CHANGES
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 15 15:57:07 2010
@@ -26,6 +26,7 @@
 /subversion/branches/1.6.x-issue3727/CHANGES:1032967-1033213
 /subversion/branches/1.6.x-issue3745/CHANGES:1032257-1033223
 /subversion/branches/1.6.x-no-svn_uri/CHANGES:876360-876415
+/subversion/branches/1.6.x-no-wcng-check/CHANGES:1022248-1035322
 /subversion/branches/1.6.x-r1002094/CHANGES:1002741-1002773
 /subversion/branches/1.6.x-r36178/CHANGES:877876-877884
 /subversion/branches/1.6.x-r36252/CHANGES:876328-876788

Modified: subversion/branches/1.6.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/STATUS?rev=1035323&r1=1035322&r2=1035323&view=diff
==============================================================================
--- subversion/branches/1.6.x/STATUS (original)
+++ subversion/branches/1.6.x/STATUS Mon Nov 15 15:57:07 2010
@@ -211,29 +211,3 @@ Veto-blocked changes:
 
 Approved changes:
 =================
-
- * ^/subversion/branches/1.6.x-no-wcng-check
-   Remove the function subversion/libsvn_wc/questions.c:is_inside_wc_ng()
-   and its uses.
-   Justification:
-     First, per issue #3729, the performance cost of this check is
-     atrocious (as it seems to happen many, many times in the course
-     of a checkout) and, according to some CollabNet customers,
-     unbearable.  Secondly, the workaround stsp added to allow the
-     1.6.x test suite to run inside a trunk-managed working copy tells
-     us that it's not necessarily the case that creating a 1.6 working
-     copy below some 1.7+ wcroot is problematic.  It can be concluded,
-     then, that we might just be trying to stop a problem that doesn't
-     exist, and making every 1.6.6+ user pay a high cost for our
-     preventative efforts.  That's bad.
-   Branch:
-     ^/subversion/branches/1.6.x-no-wcng-check
-   Votes:
-     +0: cmpilato
-     +1: stsp (I agree with the points cmpilato has raised in the issue.
-               Let's deal with this problem, if it really turns out to
-               be relevant, after 1.7 is released. We can still issue a 1.6.x
-               patch release at that point to fix any such problems.
-               Until then, we don't need to bother our users with this.
-               Especially since doing so is causing them real problems now.)
-     +1: philip, rhuijben

Modified: subversion/branches/1.6.x/subversion/libsvn_wc/questions.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/subversion/libsvn_wc/questions.c?rev=1035323&r1=1035322&r2=1035323&view=diff
==============================================================================
--- subversion/branches/1.6.x/subversion/libsvn_wc/questions.c (original)
+++ subversion/branches/1.6.x/subversion/libsvn_wc/questions.c Mon Nov 15 15:57:07 2010
@@ -43,56 +43,6 @@
 #include "private/svn_wc_private.h"
 #include "private/svn_sqlite.h"
 
-#define SVN_WC_NG_CHECK_ENV_VAR "SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_CHECK_FOR_WC_NG"
-
-static svn_error_t *
-is_inside_wc_ng(const char *abspath,
-                const char *target_path,
-                int *wc_format,
-                apr_pool_t *pool)
-{
-  svn_node_kind_t kind;
-  const char *wc_db_path;
-  char *wc_ng_check_env_var;
-  svn_error_t *err;
-
-  wc_ng_check_env_var = getenv(SVN_WC_NG_CHECK_ENV_VAR);
-  if (wc_ng_check_env_var &&
-      apr_strnatcasecmp(wc_ng_check_env_var, "yes") == 0)
-    return SVN_NO_ERROR; /* Allow skipping for testing */
-
-  wc_db_path = svn_path_join_many(pool, abspath, SVN_WC_ADM_DIR_NAME,
-                                  "wc.db", NULL);
-  err = svn_io_check_path(wc_db_path, &kind, pool);
-  if (err)
-    {
-      svn_error_clear(err);
-      return SVN_NO_ERROR;
-    }
-
-  if (kind == svn_node_file)
-    {
-      /* This value is completely bogus, but it is much higher than 1.6 will
-         have any prayer of reading. */
-      *wc_format = 9999;
-
-      return svn_error_createf(SVN_ERR_WC_UNSUPPORTED_FORMAT, NULL,
-         _("The path '%s' appears to be part of a Subversion 1.7 or greater\n"
-           "working copy rooted at '%s'.\n"
-           "Please upgrade your Subversion client to use this working copy."
-           ),
-         svn_path_local_style(target_path, pool),
-         svn_path_local_style(abspath, pool));
-    }
-
-  if (svn_dirent_is_root(abspath, strlen(abspath)))
-    return SVN_NO_ERROR;
-  else
-    return is_inside_wc_ng(svn_path_dirname(abspath, pool), target_path,
-                           wc_format, pool);
-}
-
-
 /* ### todo: make this compare repository too?  Or do so in parallel
    code.  */
 svn_error_t *
@@ -146,15 +96,6 @@ svn_wc_check_wc(const char *path,
   else if (err)
     return err;
 
-  /* Let's check for the future. */
-  if (*wc_format == 0)
-    {
-      const char *abspath;
-
-      SVN_ERR(svn_path_get_absolute(&abspath, path, pool));
-      SVN_ERR(is_inside_wc_ng(abspath, path, wc_format, pool));
-    }
-
   if (*wc_format > 0)
     {
       /* If we managed to read the format file we assume that we

Propchange: subversion/branches/1.6.x/subversion/tests/cmdline/merge_tests.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 15 15:57:07 2010
@@ -26,6 +26,7 @@
 /subversion/branches/1.6.x-issue3727/subversion/tests/cmdline/merge_tests.py:1032967-1033213
 /subversion/branches/1.6.x-issue3745/subversion/tests/cmdline/merge_tests.py:1032257-1033223
 /subversion/branches/1.6.x-no-svn_uri/subversion/tests/cmdline/merge_tests.py:876360-876415
+/subversion/branches/1.6.x-no-wcng-check/subversion/tests/cmdline/merge_tests.py:1022248-1035322
 /subversion/branches/1.6.x-r1002094/subversion/tests/cmdline/merge_tests.py:1002741-1002773
 /subversion/branches/1.6.x-r36178/subversion/tests/cmdline/merge_tests.py:877876-877884
 /subversion/branches/1.6.x-r36252/subversion/tests/cmdline/merge_tests.py:876328-876788

Modified: subversion/branches/1.6.x/subversion/tests/cmdline/svntest/actions.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/subversion/tests/cmdline/svntest/actions.py?rev=1035323&r1=1035322&r2=1035323&view=diff
==============================================================================
--- subversion/branches/1.6.x/subversion/tests/cmdline/svntest/actions.py (original)
+++ subversion/branches/1.6.x/subversion/tests/cmdline/svntest/actions.py Mon Nov 15 15:57:07 2010
@@ -29,12 +29,6 @@ def no_sleep_for_timestamps():
 def do_sleep_for_timestamps():
   os.environ['SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_SLEEP_FOR_TIMESTAMPS'] = 'no'
 
-def no_check_for_wc_ng():
-  os.environ['SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_CHECK_FOR_WC_NG'] = 'yes'
-
-def do_check_for_wc_ng():
-  os.environ['SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_CHECK_FOR_WC_NG'] = 'no'
-
 def setup_pristine_repository():
   """Create the pristine repository and 'svn import' the greek tree"""
 

Modified: subversion/branches/1.6.x/subversion/tests/cmdline/svntest/main.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x/subversion/tests/cmdline/svntest/main.py?rev=1035323&r1=1035322&r2=1035323&view=diff
==============================================================================
--- subversion/branches/1.6.x/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/branches/1.6.x/subversion/tests/cmdline/svntest/main.py Mon Nov 15 15:57:07 2010
@@ -1220,7 +1220,6 @@ class TestRunner:
                                       str(self.index)
 
     actions.no_sleep_for_timestamps()
-    actions.no_check_for_wc_ng()
 
     saved_dir = os.getcwd()
     try: