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 2012/09/24 19:57:06 UTC

svn commit: r1389499 - /subversion/trunk/subversion/libsvn_wc/lock.c

Author: stsp
Date: Mon Sep 24 17:57:06 2012
New Revision: 1389499

URL: http://svn.apache.org/viewvc?rev=1389499&view=rev
Log:
Treat unsupported WC formats as "unknown" rather than raising an error.

Many tests currently fail on the 1.7.x branch if run within a format 30
(i.e. trunk client) working copy. The most prominent failure is an
error from 'svn checkout' which refuses to create a format 29 working
copy within a format 30 one, even though the two working copies are
suposed to be entirely unrelated.

If this patch is applied to 1.7.x, most tests now pass in a format 30
working copy, except for the following:

  FAIL:  commit_tests.py 26: commit from two working copies
  FAIL:  special_tests.py 19: operate on symlink to wc
  FAIL:  special_tests.py 20: svnversion on symlink to wc
  FAIL:  stat_tests.py 19: status on unversioned dir

* subversion/libsvn_wc/lock.c
  (svn_wc__internal_check_wc): If the format isn't supported, just return
    a format number of zero, rather than raising an error indicating that
    the working copy is not supported.

Modified:
    subversion/trunk/subversion/libsvn_wc/lock.c

Modified: subversion/trunk/subversion/libsvn_wc/lock.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/lock.c?rev=1389499&r1=1389498&r2=1389499&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/lock.c (original)
+++ subversion/trunk/subversion/libsvn_wc/lock.c Mon Sep 24 17:57:06 2012
@@ -97,7 +97,8 @@ svn_wc__internal_check_wc(int *wc_format
     {
       svn_node_kind_t kind;
 
-      if (err->apr_err != SVN_ERR_WC_MISSING)
+      if (err->apr_err != SVN_ERR_WC_MISSING &&
+          err->apr_err != SVN_ERR_WC_UNSUPPORTED_FORMAT)
         return svn_error_trace(err);
       svn_error_clear(err);