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/09/09 17:59:02 UTC

svn commit: r995478 [2/2] - in /subversion/branches/performance: ./ subversion/bindings/javahl/native/ subversion/bindings/javahl/src/org/apache/subversion/javahl/ subversion/bindings/javahl/src/org/tigris/subversion/javahl/ subversion/bindings/javahl/...

Modified: subversion/branches/performance/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_wc/workqueue.c?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/branches/performance/subversion/libsvn_wc/workqueue.c Thu Sep  9 15:59:00 2010
@@ -59,6 +59,7 @@
 #define OP_TMP_SET_TEXT_CONFLICT_MARKERS "tmp-set-text-conflict-markers"
 #define OP_TMP_SET_PROPERTY_CONFLICT_MARKER "tmp-set-property-conflict-marker"
 #define OP_PRISTINE_GET_TRANSLATED "pristine-get-translated"
+#define OP_POSTUPGRADE "postupgrade"
 
 /* For work queue debugging. Generates output about its operation.  */
 /* #define DEBUG_WORK_QUEUE */
@@ -186,10 +187,12 @@ run_revert(svn_wc__db_t *db,
   svn_wc__db_status_t status;
   const char *parent_abspath;
   svn_boolean_t conflicted;
+  apr_int64_t val;
 
   /* We need a NUL-terminated path, so copy it out of the skel.  */
   local_abspath = apr_pstrmemdup(scratch_pool, arg1->data, arg1->len);
-  replaced = svn_skel__parse_int(arg1->next, scratch_pool) != 0;
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next, scratch_pool));
+  replaced = (val != 0);
   /* magic_changed is extracted further below.  */
   /* use_commit_times is extracted further below.  */
 
@@ -213,7 +216,8 @@ run_revert(svn_wc__db_t *db,
       svn_boolean_t magic_changed;
       svn_boolean_t reinstall_working;
 
-      magic_changed = svn_skel__parse_int(arg1->next->next, scratch_pool) != 0;
+      SVN_ERR(svn_skel__parse_int(&val, arg1->next->next, scratch_pool));
+      magic_changed = (val != 0);
 
       /* If there was a magic property change, then we'll reinstall the
          working-file to pick up any/all appropriate changes. If there was
@@ -275,8 +279,9 @@ run_revert(svn_wc__db_t *db,
           svn_boolean_t use_commit_times;
           svn_skel_t *wi_file_install;
 
-          use_commit_times = svn_skel__parse_int(arg1->next->next->next,
-                                                 scratch_pool) != 0;
+          SVN_ERR(svn_skel__parse_int(&val, arg1->next->next->next,
+                                     scratch_pool));
+          use_commit_times = (val != 0);
 
           SVN_ERR(svn_wc__wq_build_file_install(&wi_file_install,
                                                 db, local_abspath,
@@ -551,10 +556,12 @@ run_killme(svn_wc__db_t *db,
   const char *repos_root_url;
   const char *repos_uuid;
   svn_error_t *err;
+  apr_int64_t val;
 
   /* We need a NUL-terminated path, so copy it out of the skel.  */
   dir_abspath = apr_pstrmemdup(scratch_pool, arg1->data, arg1->len);
-  adm_only = svn_skel__parse_int(arg1->next, scratch_pool) != 0;
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next, scratch_pool));
+  adm_only = (val != 0);
 
   err = svn_wc__db_base_get_info(&status, NULL, &original_revision,
                                  NULL, NULL, NULL,
@@ -806,9 +813,11 @@ run_base_remove(svn_wc__db_t *db,
   svn_revnum_t revision;
   const char *repos_relpath, *repos_root_url, *repos_uuid;
   svn_wc__db_kind_t kind;
+  apr_int64_t val;
 
   local_abspath = apr_pstrmemdup(scratch_pool, arg1->data, arg1->len);
-  keep_not_present = svn_skel__parse_int(arg1->next, scratch_pool) != 0;
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next, scratch_pool));
+  keep_not_present = (val != 0);
 
   if (keep_not_present)
     {
@@ -900,13 +909,16 @@ run_deletion_postcommit(svn_wc__db_t *db
   svn_revnum_t new_revision;
   svn_boolean_t no_unlock;
   svn_wc__db_kind_t kind;
+  apr_int64_t val;
 
   /* ### warning: this code has not been vetted for running multiple times  */
 
   /* We need a NUL-terminated path, so copy it out of the skel.  */
   local_abspath = apr_pstrmemdup(scratch_pool, arg1->data, arg1->len);
-  new_revision = (svn_revnum_t)svn_skel__parse_int(arg1->next, scratch_pool);
-  no_unlock = svn_skel__parse_int(arg1->next->next, scratch_pool) != 0;
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next, scratch_pool));
+  new_revision = (svn_revnum_t)val;
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next->next, scratch_pool));
+  no_unlock = (val != 0);
 
   SVN_ERR(svn_wc__db_read_kind(&kind, db, local_abspath, FALSE, scratch_pool));
 
@@ -1495,10 +1507,13 @@ run_postcommit(svn_wc__db_t *db,
   svn_boolean_t keep_changelist, no_unlock;
   const char *tmp_text_base_abspath;
   svn_error_t *err;
+  apr_int64_t val;
 
   local_abspath = apr_pstrmemdup(scratch_pool, arg1->data, arg1->len);
-  new_revision = (svn_revnum_t)svn_skel__parse_int(arg1->next, scratch_pool);
-  changed_date = svn_skel__parse_int(arg1->next->next, scratch_pool);
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next, scratch_pool));
+  new_revision = (svn_revnum_t)val;
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next->next, scratch_pool));
+  changed_date = (apr_time_t)val;
   if (arg1->next->next->next->len == 0)
     changed_author = NULL;
   else
@@ -1520,7 +1535,8 @@ run_postcommit(svn_wc__db_t *db,
   else
     SVN_ERR(svn_skel__parse_proplist(&new_dav_cache, arg5->next,
                                      scratch_pool));
-  keep_changelist = svn_skel__parse_int(arg5->next->next, scratch_pool) != 0;
+  SVN_ERR(svn_skel__parse_int(&val, arg5->next->next, scratch_pool));
+  keep_changelist = (val != 0);
 
   /* Before r927056, this WQ item didn't have this next field.  Catch any
    * attempt to run this code on a WC having a stale WQ item in it. */
@@ -1533,14 +1549,20 @@ run_postcommit(svn_wc__db_t *db,
                                            arg5->next->next->next->len);
 
   if (arg5->next->next->next->next)
-    no_unlock = svn_skel__parse_int(arg5->next->next->next->next,
-                                     scratch_pool) != 0;
+    {
+      SVN_ERR(svn_skel__parse_int(&val, arg5->next->next->next->next,
+                                  scratch_pool));
+      no_unlock = (val != 0);
+    }
   else
     no_unlock = TRUE;
 
   if (arg5->next->next->next->next->next)
-    changed_rev = svn_skel__parse_int(arg5->next->next->next->next->next,
-                                      scratch_pool);
+    {
+      SVN_ERR(svn_skel__parse_int(&val, arg5->next->next->next->next->next,
+                                  scratch_pool));
+      changed_rev = (svn_revnum_t)val;
+    }
   else
     changed_rev = new_revision; /* Behavior before fixing issue #3676 */
 
@@ -1610,6 +1632,34 @@ svn_wc__wq_add_postcommit(svn_wc__db_t *
 }
 
 /* ------------------------------------------------------------------------ */
+/* OP_POSTUPGRADE  */
+
+static svn_error_t *
+run_postupgrade(svn_wc__db_t *db,
+                const svn_skel_t *work_item,
+                const char *wri_abspath,
+                svn_cancel_func_t cancel_func,
+                void *cancel_baton,
+                apr_pool_t *scratch_pool)
+{
+  SVN_ERR(svn_wc__wipe_postupgrade(wri_abspath, FALSE,
+                                   cancel_func, cancel_baton, scratch_pool));
+
+  return SVN_NO_ERROR;
+}
+
+svn_error_t *
+svn_wc__wq_build_postupgrade(svn_skel_t **work_item,
+                             apr_pool_t *result_pool)
+{
+  *work_item = svn_skel__make_empty_list(result_pool);
+
+  svn_skel__prepend_str(OP_POSTUPGRADE, *work_item, result_pool);
+
+  return SVN_NO_ERROR;
+}
+
+/* ------------------------------------------------------------------------ */
 
 /* OP_FILE_INSTALL */
 
@@ -1637,10 +1687,13 @@ run_file_install(svn_wc__db_t *db,
   const char *temp_dir_abspath;
   svn_stream_t *dst_stream;
   const char *dst_abspath;
+  apr_int64_t val;
 
   local_abspath = apr_pstrmemdup(scratch_pool, arg1->data, arg1->len);
-  use_commit_times = svn_skel__parse_int(arg1->next, scratch_pool) != 0;
-  record_fileinfo = svn_skel__parse_int(arg1->next->next, scratch_pool) != 0;
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next, scratch_pool));
+  use_commit_times = (val != 0);
+  SVN_ERR(svn_skel__parse_int(&val, arg1->next->next, scratch_pool));
+  record_fileinfo = (val != 0);
 
   if (arg4 == NULL)
     {
@@ -2116,7 +2169,12 @@ run_record_fileinfo(svn_wc__db_t *db,
   local_abspath = apr_pstrmemdup(scratch_pool, arg1->data, arg1->len);
 
   if (arg1->next)
-    set_time = svn_skel__parse_int(arg1->next, scratch_pool);
+    {
+      apr_int64_t val;
+
+      SVN_ERR(svn_skel__parse_int(&val, arg1->next, scratch_pool));
+      set_time = (apr_time_t)val;
+    }
 
   if (set_time != 0)
     {
@@ -2393,6 +2451,7 @@ static const struct work_item_dispatch d
   { OP_TMP_SET_TEXT_CONFLICT_MARKERS, run_set_text_conflict_markers },
   { OP_TMP_SET_PROPERTY_CONFLICT_MARKER, run_set_property_conflict_marker },
   { OP_PRISTINE_GET_TRANSLATED, run_pristine_get_translated },
+  { OP_POSTUPGRADE, run_postupgrade },
 
 #ifndef SVN_WC__SINGLE_DB
   { OP_KILLME, run_killme },

Modified: subversion/branches/performance/subversion/libsvn_wc/workqueue.h
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/libsvn_wc/workqueue.h?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/libsvn_wc/workqueue.h (original)
+++ subversion/branches/performance/subversion/libsvn_wc/workqueue.h Thu Sep  9 15:59:00 2010
@@ -301,6 +301,10 @@ svn_wc__wq_add_postcommit(svn_wc__db_t *
                           svn_boolean_t no_unlock,
                           apr_pool_t *scratch_pool);
 
+svn_error_t *
+svn_wc__wq_build_postupgrade(svn_skel_t **work_item,
+                             apr_pool_t *scratch_pool);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/performance/subversion/mod_dav_svn/reports/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/mod_dav_svn/reports/log.c?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/mod_dav_svn/reports/log.c (original)
+++ subversion/branches/performance/subversion/mod_dav_svn/reports/log.c Thu Sep  9 15:59:00 2010
@@ -311,7 +311,17 @@ dav_svn__log_report(const dav_resource *
       else if (strcmp(child->name, "end-revision") == 0)
         end = SVN_STR_TO_REV(dav_xml_get_cdata(child, resource->pool, 1));
       else if (strcmp(child->name, "limit") == 0)
-        limit = atoi(dav_xml_get_cdata(child, resource->pool, 1));
+        {
+          serr = svn_cstring_atoi(&limit,
+                                  dav_xml_get_cdata(child, resource->pool, 1));
+          if (serr)
+            {
+              derr = dav_svn__convert_err(serr, HTTP_BAD_REQUEST,
+                                          "Malformed CDATA in element "
+                                          "\"limit\"", resource->pool);
+              goto cleanup;
+            }
+        }
       else if (strcmp(child->name, "discover-changed-paths") == 0)
         discover_changed_paths = TRUE; /* presence indicates positivity */
       else if (strcmp(child->name, "strict-node-history") == 0)

Modified: subversion/branches/performance/subversion/mod_dav_svn/reports/replay.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/mod_dav_svn/reports/replay.c?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/mod_dav_svn/reports/replay.c (original)
+++ subversion/branches/performance/subversion/mod_dav_svn/reports/replay.c Thu Sep  9 15:59:00 2010
@@ -466,10 +466,18 @@ dav_svn__replay_report(const dav_resourc
             }
           else if (strcmp(child->name, "send-deltas") == 0)
             {
+              apr_int64_t parsed_val;
+
               cdata = dav_xml_get_cdata(child, resource->pool, 1);
               if (! cdata)
                 return malformed_element_error("send-deltas", resource->pool);
-              send_deltas = atoi(cdata);
+              err = svn_cstring_strtoi64(&parsed_val, cdata, 0, 1, 10);
+              if (err)
+                {
+                  svn_error_clear(err);
+                  return malformed_element_error("send-deltas", resource->pool);
+                }
+              send_deltas = parsed_val ? TRUE : FALSE;
             }
         }
     }

Modified: subversion/branches/performance/subversion/svn/main.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/svn/main.c?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/svn/main.c (original)
+++ subversion/branches/performance/subversion/svn/main.c Thu Sep  9 15:59:00 2010
@@ -283,7 +283,9 @@ const apr_getopt_option_t svn_cl__option
                        "                             "
                        "ARG may be one of 'LF', 'CR', 'CRLF'")},
   {"limit",         'l', 1, N_("maximum number of log entries")},
-  {"no-unlock",     opt_no_unlock, 0, N_("don't unlock the targets")},
+  {"no-unlock",     opt_no_unlock, 0, N_("don't unlock the targets\n"
+                       "                             "
+                       "[aliases: --nul, --keep-lock]")},
   {"summarize",     opt_summarize, 0, N_("show a summary of the results")},
   {"remove",         opt_remove, 0, N_("remove changelist association")},
   {"changelist",    opt_changelist, 1,
@@ -399,6 +401,8 @@ const apr_getopt_option_t svn_cl__option
   {"iw",            opt_ignore_whitespace, 0, NULL},
   {"diff",          opt_show_diff, 0, NULL},
   {"idiff",         opt_internal_diff, 0, NULL},
+  {"nul",           opt_no_unlock, 0, NULL},
+  {"keep-lock",     opt_no_unlock, 0, NULL},
 
   {0,               0, 0, 0},
 };

Modified: subversion/branches/performance/subversion/tests/cmdline/copy_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/cmdline/copy_tests.py?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/tests/cmdline/copy_tests.py (original)
+++ subversion/branches/performance/subversion/tests/cmdline/copy_tests.py Thu Sep  9 15:59:00 2010
@@ -4701,6 +4701,7 @@ def changed_data_should_match_checkout(s
 
   os.chdir(was_cwd)
   os.chdir(wc_dir)
+  verify_out = svntest.verify.UnorderedOutput(verify_out)
   svntest.actions.run_and_verify_svn(None, verify_out, [], 'status', '-v')
   os.chdir(was_cwd)
 

Modified: subversion/branches/performance/subversion/tests/cmdline/patch_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/cmdline/patch_tests.py?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/tests/cmdline/patch_tests.py (original)
+++ subversion/branches/performance/subversion/tests/cmdline/patch_tests.py Thu Sep  9 15:59:00 2010
@@ -2976,6 +2976,43 @@ def patch_prop_with_fuzz(sbox):
                                        1, # check-props
                                        1) # dry-run
 
+def patch_git_add_file(sbox):
+  "patch that contains empty files"
+
+  sbox.build()
+  wc_dir = sbox.wc_dir
+  patch_file_path = make_patch_path(sbox)
+
+  new_path = os.path.join(wc_dir, 'new')
+
+  unidiff_patch = [
+    "Index: new\n",
+    "===================================================================\n",
+    "diff --git a/new b/new\n",
+    "new file mode 10644\n",
+  ]
+
+  svntest.main.file_write(patch_file_path, ''.join(unidiff_patch))
+
+  expected_output = [
+    'A         %s\n' % os.path.join(wc_dir, 'new'),
+  ]
+  expected_disk = svntest.main.greek_state.copy()
+  expected_disk.add({'new' : Item(contents="")})
+
+  expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
+  expected_status.add({'new' : Item(status='A ', wc_rev=0)})
+
+  expected_skip = wc.State('', { })
+
+  svntest.actions.run_and_verify_patch(wc_dir, os.path.abspath(patch_file_path),
+                                       expected_output,
+                                       expected_disk,
+                                       expected_status,
+                                       expected_skip,
+                                       None, # expected err
+                                       1, # check-props
+                                       1) # dry-run
 ########################################################################
 #Run the tests
 
@@ -3005,6 +3042,7 @@ test_list = [ None,
               patch_add_path_with_props,
               patch_prop_offset,
               patch_prop_with_fuzz,
+              patch_git_add_file,
             ]
 
 if __name__ == '__main__':

Modified: subversion/branches/performance/subversion/tests/cmdline/revert_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/cmdline/revert_tests.py?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/tests/cmdline/revert_tests.py (original)
+++ subversion/branches/performance/subversion/tests/cmdline/revert_tests.py Thu Sep  9 15:59:00 2010
@@ -851,29 +851,37 @@ def status_of_missing_dir_after_revert_r
                   os.path.join(G_path, 'alpha'),
                   os.path.join(G_path, 'beta')]
 
+  if svntest.main.wc_is_singledb(wc_dir):
+    # These nodes are not lost in single-db
+    revert_paths += [ os.path.join(G_path, 'pi'),
+                      os.path.join(G_path, 'rho'),
+                      os.path.join(G_path, 'tau')]
+
   expected_output = svntest.verify.UnorderedOutput([
     "Reverted '%s'\n" % path for path in revert_paths])
 
   svntest.actions.run_and_verify_svn(None, expected_output, [], "revert", "-R",
                                      G_path)
 
-  ### GS (Oct 11): this is stupid. after a revert, there should be
-  ###              *NO* status whatsoever. ugh. this status behavior
-  ###              has been twiddled over the 1.6/1.7 dev cycle, but
-  ###              it "should" just disappear.
 
-  ### Is it a bug that we'd need to run revert twice to finish the job?
+  # Revert leaves these added nodes as unversioned
   expected_output = svntest.verify.UnorderedOutput(
-    ["A       " + os.path.join(G_path, "pi") + "\n",
-     "A       " + os.path.join(G_path, "rho") + "\n",
-     "A       " + os.path.join(G_path, "tau") + "\n"])
+    ["?       " + os.path.join(G_path, "pi") + "\n",
+     "?       " + os.path.join(G_path, "rho") + "\n",
+     "?       " + os.path.join(G_path, "tau") + "\n"])
   svntest.actions.run_and_verify_svn(None, expected_output, [],
                                      "status", wc_dir)
 
   svntest.main.safe_rmtree(G_path)
 
-  expected_output = svntest.verify.UnorderedOutput(
-    ["!       " + G_path + "\n"])
+  if svntest.main.wc_is_singledb(wc_dir):
+    expected_output = svntest.verify.UnorderedOutput(
+      ["!       " + G_path + "\n",
+       "!       " + os.path.join(G_path, "alpha") + "\n",
+       "!       " + os.path.join(G_path, "beta") + "\n"])
+  else:
+    expected_output = svntest.verify.UnorderedOutput(
+      ["!       " + G_path + "\n"])
   svntest.actions.run_and_verify_svn(None, expected_output, [], "status",
                                      wc_dir)
 
@@ -1054,8 +1062,7 @@ test_list = [ None,
               revert_propdel__file,
               revert_replaced_with_history_file_1,
               status_of_missing_dir_after_revert,
-              Wimp("revert behavior needs better definition",
-                   status_of_missing_dir_after_revert_replaced_with_history_dir),
+              status_of_missing_dir_after_revert_replaced_with_history_dir,
               revert_replaced_with_history_file_2,
               revert_tree_conflicts_in_updated_files,
               revert_add_over_not_present_dir,

Modified: subversion/branches/performance/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/cmdline/update_tests.py?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/branches/performance/subversion/tests/cmdline/update_tests.py Thu Sep  9 15:59:00 2010
@@ -26,6 +26,7 @@
 
 # General modules
 import sys, re, os, subprocess
+import time
 
 # Our testing module
 import svntest
@@ -5720,6 +5721,33 @@ def update_with_excluded_subdir(sbox):
   svntest.actions.run_and_verify_update(wc_dir, expected_output,
                                         expected_disk, expected_status)
 
+#----------------------------------------------------------------------
+# Test for issue #3471 'svn up touches file w/ lock & svn:keywords property'
+#
+# Marked as XFail until the issue is fixed.
+def update_with_file_lock_and_keywords_property_set(sbox):
+  """update with file lock & keywords property set"""
+  sbox.build()
+
+  wc_dir = sbox.wc_dir
+
+  mu_path = os.path.join(wc_dir, 'A', 'mu')
+  svntest.main.file_append(mu_path, '$Id$')
+  svntest.main.run_svn(None, 'ps', 'svn:keywords', 'Id', mu_path)
+  svntest.main.run_svn(None, 'lock', mu_path)
+  mu_ts_before_update = os.path.getmtime(mu_path)
+
+  # Make sure we are at a different timestamp to really notice a mtime change
+  time.sleep(1)
+
+  # Issue #3471 manifests itself here; The timestamp of 'mu' gets updated 
+  # to the time of the last "svn up".
+  sbox.simple_update()
+  mu_ts_after_update = os.path.getmtime(mu_path)
+  if (mu_ts_before_update != mu_ts_after_update):
+    print("The timestamp of 'mu' before and after update does not match.")
+    raise svntest.Failure
+  
 
 #######################################################################
 # Run the tests
@@ -5792,6 +5820,7 @@ test_list = [ None,
               add_moved_file_has_props,
               XFail(add_moved_file_has_props2),
               update_with_excluded_subdir,
+              XFail(update_with_file_lock_and_keywords_property_set)
              ]
 
 if __name__ == '__main__':

Modified: subversion/branches/performance/subversion/tests/cmdline/upgrade_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/cmdline/upgrade_tests.py?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/branches/performance/subversion/tests/cmdline/upgrade_tests.py Thu Sep  9 15:59:00 2010
@@ -594,6 +594,26 @@ def missing_dirs2(sbox):
   os.mkdir(sbox.ospath('A/B_new/F'))
   svntest.actions.run_and_verify_svn(None, None, [],
                                      'upgrade', sbox.wc_dir)
+  expected_status = svntest.wc.State(sbox.wc_dir,
+    {
+      ''                  : Item(status='  ', wc_rev='1'),
+      'A'                 : Item(status='  ', wc_rev='1'),
+      'A/mu'              : Item(status='  ', wc_rev='1'),
+      'A/C'               : Item(status='  ', wc_rev='1'),
+      'A/D'               : Item(status='~ ', wc_rev='?'),
+      'A/B'               : Item(status='  ', wc_rev='1'),
+      'A/B/F'             : Item(status='  ', wc_rev='1'),
+      'A/B/E'             : Item(status='! ', wc_rev='?'),
+      'A/B/lambda'        : Item(status='  ', wc_rev='1'),
+      'iota'              : Item(status='  ', wc_rev='1'),
+      'A/B_new'           : Item(status='A ', wc_rev='-', copied='+'),
+      'A/B_new/E'         : Item(status='! ', wc_rev='?'),
+      'A/B_new/F'         : Item(status='~ ', wc_rev='?'),
+      'A/B_new/lambda'    : Item(status='  ', wc_rev='-', copied='+'),
+    })
+  if svntest.main.wc_is_singledb(sbox.wc_dir):
+    expected_status.tweak('A/D', 'A/B_new/F', status='! ')
+  run_and_verify_status_no_server(sbox.wc_dir, expected_status)
 
 def delete_and_keep_local(sbox):
   "check status delete and delete --keep-local"
@@ -643,7 +663,7 @@ test_list = [ None,
               x3_1_4_6,
               x3_1_6_12,
               missing_dirs,
-              XFail(missing_dirs2),
+              missing_dirs2,
               XFail(delete_and_keep_local),
              ]
 

Modified: subversion/branches/performance/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/dev/unix-build/Makefile.svn?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/performance/tools/dev/unix-build/Makefile.svn Thu Sep  9 15:59:00 2010
@@ -554,7 +554,8 @@ $(NEON_OBJDIR)/.configured: $(NEON_OBJDI
 		PATH=$(NEON_OBJDIR):$$PATH \
 		--prefix=$(PREFIX)/neon \
 		--with-ssl \
-		--enable-shared
+		--enable-shared \
+		--without-libproxy
 	touch $@
 
 # compile neon

Modified: subversion/branches/performance/tools/dev/wc-ng/bump-to-19.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/dev/wc-ng/bump-to-19.py?rev=995478&r1=995477&r2=995478&view=diff
==============================================================================
--- subversion/branches/performance/tools/dev/wc-ng/bump-to-19.py (original)
+++ subversion/branches/performance/tools/dev/wc-ng/bump-to-19.py Thu Sep  9 15:59:00 2010
@@ -192,6 +192,8 @@ def move_and_shard_pristine_files(old_wc
 
   for basename in os.listdir(old_pristine_dir):
     shard = basename[:2]
+    if shard == basename: # already converted
+      continue
     old = os.path.join(old_pristine_dir, basename)
     new = os.path.join(new_pristine_dir, shard, basename)
     os.renames(old, new)