You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2010/03/16 19:03:41 UTC

svn commit: r923910 [9/9] - in /subversion/branches/1.6.x-issue3432: ./ build/ build/ac-macros/ build/generator/ contrib/cgi/ contrib/client-side/emacs/ contrib/client-side/svn_load_dirs/ contrib/hook-scripts/ contrib/server-side/ doc/user/ notes/ pack...

Modified: subversion/branches/1.6.x-issue3432/subversion/tests/cmdline/svntest/main.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/subversion/tests/cmdline/svntest/main.py?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/branches/1.6.x-issue3432/subversion/tests/cmdline/svntest/main.py Tue Mar 16 18:03:37 2010
@@ -396,10 +396,13 @@ def open_pipe(command, stdin=None, stdou
 
   # Quote only the arguments on Windows.  Later versions of subprocess,
   # 2.5.2+ confirmed, don't require this quoting, but versions < 2.4.3 do.
-  if (sys.platform == 'win32'):
+  if sys.platform == 'win32':
     args = command[1:]
     args = ' '.join([_quote_arg(x) for x in args])
     command = command[0] + ' ' + args
+    command_string = command
+  else:
+    command_string = ' '.join(command)
 
   if not stdin:
     stdin = subprocess.PIPE
@@ -413,7 +416,7 @@ def open_pipe(command, stdin=None, stdou
                        stdout=stdout,
                        stderr=stderr,
                        close_fds=not windows)
-  return p.stdin, p.stdout, p.stderr, (p, command)
+  return p.stdin, p.stdout, p.stderr, (p, command_string)
 
 def wait_on_pipe(waiter, binary_mode, stdin=None):
   """Waits for KID (opened with open_pipe) to finish, dying
@@ -423,7 +426,7 @@ def wait_on_pipe(waiter, binary_mode, st
   if waiter is None:
     return
 
-  kid, command = waiter
+  kid, command_string = waiter
   stdout, stderr = kid.communicate(stdin)
   exit_code = kid.returncode
 
@@ -437,7 +440,11 @@ def wait_on_pipe(waiter, binary_mode, st
   stderr_lines = stderr.splitlines(True)
 
   if exit_code < 0:
-    exit_signal = os.WTERMSIG(-exit_code)
+    if not windows:
+      exit_signal = os.WTERMSIG(-exit_code)
+    else:
+      exit_signal = exit_code
+
     if stdout_lines is not None:
       sys.stdout.write("".join(stdout_lines))
     if stderr_lines is not None:
@@ -445,12 +452,12 @@ def wait_on_pipe(waiter, binary_mode, st
     if verbose_mode:
       # show the whole path to make it easier to start a debugger
       sys.stderr.write("CMD: %s terminated by signal %d\n"
-                       % (' '.join(command), exit_signal))
+                       % (command_string, exit_signal))
     raise SVNProcessTerminatedBySignal
   else:
     if exit_code and verbose_mode:
       sys.stderr.write("CMD: %s exited with %d\n"
-                       % (' '.join(command), exit_code))
+                       % (command_string, exit_code))
     return stdout_lines, stderr_lines, exit_code
 
 # Run any binary, supplying input text, logging the command line
@@ -1211,6 +1218,7 @@ class TestRunner:
                                       str(self.index)
 
     actions.no_sleep_for_timestamps()
+    actions.no_check_for_wc_ng()
 
     saved_dir = os.getcwd()
     try:

Modified: subversion/branches/1.6.x-issue3432/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/subversion/tests/cmdline/update_tests.py?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/branches/1.6.x-issue3432/subversion/tests/cmdline/update_tests.py Tue Mar 16 18:03:37 2010
@@ -22,6 +22,7 @@ import sys, re, os, subprocess
 # Our testing module
 import svntest
 from svntest import wc
+from merge_tests import set_up_branch
 
 # (abbreviation)
 Skip = svntest.testcase.Skip
@@ -4462,7 +4463,7 @@ def tree_conflict_uc1_update_deleted_tre
   expected_status = None
 
   run_and_verify_update(A, expected_output, expected_disk, expected_status)
-  run_and_verify_resolve([A], '--recursive', '--accept=mine-full', A)
+  run_and_verify_resolve([A], '--recursive', '--accept=working', A)
 
   resolved_status = svntest.wc.State('', {
       ''            : Item(status='  ', wc_rev=2),
@@ -4588,7 +4589,7 @@ def tree_conflict_uc2_schedule_re_add(sb
   expected_disk = None
   expected_status = None
   run_and_verify_update('A', expected_output, expected_disk, expected_status)
-  run_and_verify_resolve([dir], '--recursive', '--accept=mine-full', dir)
+  run_and_verify_resolve([dir], '--recursive', '--accept=working', dir)
 
   os.chdir(saved_cwd)
 
@@ -4750,6 +4751,62 @@ def update_wc_of_dir_to_rev_not_containi
                                      "svn: Target path '/A' does not exist",
                                      "up", other_wc_dir)
 
+#----------------------------------------------------------------------
+# Test for issue #3573 'local non-inheritable mergeinfo changes not
+# properly merged with updated mergeinfo'
+def mergeinfo_updates_merge_with_local_mods(sbox):
+  "local mergeinfo changes are merged with updates"
+
+  # Copy A to A_COPY in r2, and make some changes to A_COPY in r3-r6.
+  sbox.build()
+  wc_dir = sbox.wc_dir
+  expected_disk, expected_status = set_up_branch(sbox)
+
+  # Some paths we'll care about
+  A_path      = os.path.join(wc_dir, "A")
+  A_COPY_path = os.path.join(wc_dir, "A_COPY")
+
+  # Merge -c3 from A to A_COPY at --depth empty, commit as r7.
+  ###
+  ### No, we are not checking the merge output for these simple
+  ### merges.  This is already covered *TO DEATH* in merge_tests.py.
+  ###
+  svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
+  svntest.actions.run_and_verify_svn(None, None, [],
+                                     'merge', '-c3', '--depth', 'empty',
+                                     sbox.repo_url + '/A', A_COPY_path)
+  svntest.actions.run_and_verify_svn(None, None, [], 'ci', '-m',
+                                     'Merge r3 from A to A_COPY at depth empty',
+                                     wc_dir)
+  # Merge -c5 from A to A_COPY (at default --depth infinity), commit as r8.
+  svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
+  svntest.actions.run_and_verify_svn(None, None, [],
+                                     'merge', '-c5',
+                                     sbox.repo_url + '/A', A_COPY_path)
+  svntest.actions.run_and_verify_svn(None, None, [], 'ci', '-m',
+                                     'Merge r5 from A to A_COPY', wc_dir)
+
+  # Update WC to r7, repeat merge of -c3 from A to A_COPY but this
+  # time do it at --depth infinity.  Confirm that the mergeinfo
+  # on A_COPY is no longer inheritable.
+  svntest.actions.run_and_verify_svn(None, None, [], 'up', '-r7', wc_dir)
+  svntest.actions.run_and_verify_svn(None, None, [],
+                                     'merge', '-c3', '--depth', 'infinity',
+                                     sbox.repo_url + '/A', A_COPY_path)
+  svntest.actions.run_and_verify_svn(None, [A_COPY_path + " - /A:3\n"], [],
+                                     'pg', SVN_PROP_MERGEINFO, '-R',
+                                     A_COPY_path) 
+
+  # Update the WC (to r8), the mergeinfo on A_COPY should now have both
+  # the local mod from the uncommitted merge (/A:3* --> /A:3) and the change
+  # brought down by the update (/A:3* --> /A:3*,5) leaving us with /A:3,5.
+  ### This was failing because of issue #3573.  The local mergeinfo change
+  ### is reverted, leaving '/A:3*,5' on A_COPY.
+  svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
+  svntest.actions.run_and_verify_svn(None, [A_COPY_path + " - /A:3,5\n"], [],
+                                     'pg', SVN_PROP_MERGEINFO, '-R',
+                                     A_COPY_path)
+
 #######################################################################
 # Run the tests
 
@@ -4815,6 +4872,7 @@ test_list = [ None,
               tree_conflict_uc2_schedule_re_add,
               set_deep_depth_on_target_with_shallow_children,
               update_wc_of_dir_to_rev_not_containing_this_dir,
+              mergeinfo_updates_merge_with_local_mods,
              ]
 
 if __name__ == '__main__':

Modified: subversion/branches/1.6.x-issue3432/subversion/tests/libsvn_subr/mergeinfo-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/subversion/tests/libsvn_subr/mergeinfo-test.c?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/subversion/tests/libsvn_subr/mergeinfo-test.c (original)
+++ subversion/branches/1.6.x-issue3432/subversion/tests/libsvn_subr/mergeinfo-test.c Tue Mar 16 18:03:37 2010
@@ -149,9 +149,12 @@ static const char * const mergeinfo_path
     "/trunk",
     "/trunk",
     "/branch",
-    "patch-common::netasq-bpf.c",
-    "patch-common_netasq-bpf.c:",
-    ":patch:common:netasq:bpf.c",
+
+    /* svn_mergeinfo_parse converts relative merge soure paths to absolute. */
+    "/patch-common::netasq-bpf.c",
+    "/patch-common_netasq-bpf.c:",
+    "/:patch:common:netasq:bpf.c",
+    
     "/trunk",
     "/trunk",
     "/trunk",
@@ -695,11 +698,33 @@ test_merge_mergeinfo(const char **msg,
   for (i = 0; i < NBR_MERGEINFO_MERGES; i++)
     {
       int j;
+      svn_string_t *info2_starting, *info2_ending;
+
       SVN_ERR(svn_mergeinfo_parse(&info1, mergeinfo[i].mergeinfo1, pool));
       SVN_ERR(svn_mergeinfo_parse(&info2, mergeinfo[i].mergeinfo2, pool));
+
+      /* Make a copy of info2.  We will merge it into info1, but info2
+         should remain unchanged.  Store the mergeinfo as a svn_string_t
+         rather than making a copy and using svn_mergeinfo_diff().  Since
+         that API uses some of the underlying code as svn_mergeinfo_merge
+         we might mask potential errors. */
+      SVN_ERR(svn_mergeinfo_to_string(&info2_starting, info2, pool));
+
       SVN_ERR(svn_mergeinfo_merge(info1, info2, pool));
       if (mergeinfo[i].expected_paths != apr_hash_count(info1))
         return fail(pool, "Wrong number of paths in merged mergeinfo");
+
+      /* Check that info2 remained unchanged. */
+      SVN_ERR(svn_mergeinfo_to_string(&info2_ending, info2, pool));
+
+      if (strcmp(info2_ending->data, info2_starting->data))
+        return fail(pool,
+                    apr_psprintf(pool,
+                                 "svn_mergeinfo_merge case %i "
+                                 "modified its CHANGES arg from "
+                                 "%s to %s", i, info2_starting->data,
+                                 info2_ending->data));
+
       for (j = 0; j < mergeinfo[i].expected_paths; j++)
         {
           int k;
@@ -818,6 +843,10 @@ test_remove_rangelist(const char **msg,
         {
           int expected_nbr_ranges;
           svn_merge_range_t *expected_ranges;
+          svn_string_t *eraser_starting;
+          svn_string_t *eraser_ending;
+          svn_string_t *whiteboard_starting;
+          svn_string_t *whiteboard_ending;
 
           SVN_ERR(svn_mergeinfo_parse(&info1, (test_data[i]).eraser, pool));
           SVN_ERR(svn_mergeinfo_parse(&info2, (test_data[i]).whiteboard, pool));
@@ -844,6 +873,13 @@ test_remove_rangelist(const char **msg,
               expected_ranges = (test_data[i]).expected_removed_ignore_inheritance;
 
             }
+
+         /* Make a copies of whiteboard and eraser.  They should not be
+            modified by svn_rangelist_remove(). */
+         SVN_ERR(svn_rangelist_to_string(&eraser_starting, eraser, pool));
+         SVN_ERR(svn_rangelist_to_string(&whiteboard_starting, whiteboard,
+                                         pool));
+
           SVN_ERR(svn_rangelist_remove(&output, eraser, whiteboard,
                                        j == 0,
                                        pool));
@@ -862,6 +898,43 @@ test_remove_rangelist(const char **msg,
               else
                 err = child_err;
             }
+
+          /* Check that eraser and whiteboard were not modified. */
+          SVN_ERR(svn_rangelist_to_string(&eraser_ending, eraser, pool));
+          SVN_ERR(svn_rangelist_to_string(&whiteboard_ending, whiteboard,
+                                          pool));
+          if (strcmp(eraser_starting->data, eraser_ending->data))
+            {
+              child_err = fail(pool,
+                               apr_psprintf(pool,
+                                            "svn_rangelist_remove case %i "
+                                            "modified its ERASER arg from "
+                                            "%s to %s when %sconsidering "
+                                            "inheritance", i,
+                                            eraser_starting->data,
+                                            eraser_ending->data,
+                                            j ? "" : "not "));
+              if (err)
+                svn_error_compose(err, child_err);
+              else
+                err = child_err;
+            }
+          if (strcmp(whiteboard_starting->data, whiteboard_ending->data))
+            {
+              child_err = fail(pool,
+                               apr_psprintf(pool,
+                                            "svn_rangelist_remove case %i "
+                                            "modified its WHITEBOARD arg "
+                                            "from %s to %s when "
+                                            "%sconsidering inheritance", i,
+                                            whiteboard_starting->data,
+                                            whiteboard_ending->data,
+                                            j ? "" : "not "));
+              if (err)
+                svn_error_compose(err, child_err);
+              else
+                err = child_err;
+            }
         }
     }
   return err;
@@ -1115,6 +1188,22 @@ test_mergeinfo_to_string(const char **ms
   if (svn_string_compare(expected, output) != TRUE)
     return fail(pool, "Mergeinfo string not what we expected");
 
+  /* Manually construct some mergeinfo with relative path
+     merge source keys.  These should be tolerated as input
+     to svn_mergeinfo_to_string(), but the resulting svn_string_t
+     should have absolute keys. */
+  info2 = apr_hash_make(pool);
+  apr_hash_set(info2, "fred",
+               APR_HASH_KEY_STRING,
+               apr_hash_get(info1, "/fred", APR_HASH_KEY_STRING));
+  apr_hash_set(info2, "trunk",
+               APR_HASH_KEY_STRING,
+               apr_hash_get(info1, "/trunk", APR_HASH_KEY_STRING));
+  SVN_ERR(svn_mergeinfo_to_string(&output, info2, pool));
+  
+  if (svn_string_compare(expected, output) != TRUE)
+    return fail(pool, "Mergeinfo string not what we expected");
+
   return SVN_NO_ERROR;
 }
 
@@ -1246,6 +1335,8 @@ test_rangelist_merge(const char **msg,
   err = child_err = SVN_NO_ERROR;
   for (i = 0; i < SIZE_OF_RANGE_MERGE_TEST_ARRAY; i++)
     {
+      svn_string_t *rangelist2_starting, *rangelist2_ending;
+
       SVN_ERR(svn_mergeinfo_parse(&info1, (test_data[i]).mergeinfo1, pool));
       SVN_ERR(svn_mergeinfo_parse(&info2, (test_data[i]).mergeinfo2, pool));
       rangelist1 = apr_hash_get(info1, "/A", APR_HASH_KEY_STRING);
@@ -1257,6 +1348,10 @@ test_rangelist_merge(const char **msg,
       if (rangelist2 == NULL)
         rangelist2 = apr_array_make(pool, 0, sizeof(svn_merge_range_t *));
 
+      /* Make a copy of rangelist2.  We will merge it into rangelist1, but
+         rangelist2 should remain unchanged. */
+      SVN_ERR(svn_rangelist_to_string(&rangelist2_starting, rangelist2,
+                                      pool));
       SVN_ERR(svn_rangelist_merge(&rangelist1, rangelist2, pool));
       child_err = verify_ranges_match(rangelist1,
                                      (test_data[i]).expected_merge,
@@ -1274,6 +1369,23 @@ test_rangelist_merge(const char **msg,
           else
             err = child_err;
         }
+
+      /* Check that rangelist2 remains unchanged. */
+      SVN_ERR(svn_rangelist_to_string(&rangelist2_ending, rangelist2, pool));
+      if (strcmp(rangelist2_ending->data, rangelist2_starting->data))
+        {
+          child_err = fail(pool,
+                           apr_psprintf(pool,
+                                        "svn_rangelist_merge case %i "
+                                        "modified its CHANGES arg from "
+                                        "%s to %s", i,
+                                        rangelist2_starting->data,
+                                        rangelist2_ending->data));
+          if (err)
+            svn_error_compose(err, child_err);
+          else
+            err = child_err;
+        }
     }
   return err;
 }

Modified: subversion/branches/1.6.x-issue3432/subversion/tests/libsvn_subr/path-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/subversion/tests/libsvn_subr/path-test.c?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/subversion/tests/libsvn_subr/path-test.c (original)
+++ subversion/branches/1.6.x-issue3432/subversion/tests/libsvn_subr/path-test.c Tue Mar 16 18:03:37 2010
@@ -171,7 +171,7 @@ test_path_is_url(const char **msg,
     { "//blah/blah",                      FALSE },
     { "://blah/blah",                     FALSE },
     { "a:abb://boo/",                     FALSE },
-    { "http://svn.collab.net/repos/svn",  TRUE  },
+    { "http://svn.apache.org/repos/asf/subversion",  TRUE  },
     { "scheme/with",                      FALSE },
     { "scheme/with:",                     FALSE },
     { "scheme/with:/",                    FALSE },

Modified: subversion/branches/1.6.x-issue3432/tools/buildbot/slaves/README
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/tools/buildbot/slaves/README?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/tools/buildbot/slaves/README (original)
+++ subversion/branches/1.6.x-issue3432/tools/buildbot/slaves/README Tue Mar 16 18:03:37 2010
@@ -57,7 +57,7 @@ slavedir/[botname] folder.
 
 You can copy and reuse the scripts the other buildbot slave owners use for 
 Windows, Linux or Mac buildslaves. You can find them here: 
-http://svn.collab.net/repos/svn/trunk/tools/buildbot/slaves
+http://svn.apache.org/repos/asf/subversion/trunk/tools/buildbot/slaves
 
 4. Builds
 ---------

Modified: subversion/branches/1.6.x-issue3432/tools/client-side/change-svn-wc-format.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/tools/client-side/change-svn-wc-format.py?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/tools/client-side/change-svn-wc-format.py (original)
+++ subversion/branches/1.6.x-issue3432/tools/client-side/change-svn-wc-format.py Tue Mar 16 18:03:37 2010
@@ -59,7 +59,7 @@ Change the format of a Subversion workin
 def get_adm_dir():
   """Return the name of Subversion's administrative directory,
   adjusted for the SVN_ASP_DOT_NET_HACK environment variable.  See
-  <http://svn.collab.net/repos/svn/trunk/notes/asp-dot-net-hack.txt>
+  <http://svn.apache.org/repos/asf/subversion/trunk/notes/asp-dot-net-hack.txt>
   for details."""
   return "SVN_ASP_DOT_NET_HACK" in os.environ and "_svn" or ".svn"
 

Modified: subversion/branches/1.6.x-issue3432/tools/client-side/svn-graph.pl
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/tools/client-side/svn-graph.pl?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/tools/client-side/svn-graph.pl (original)
+++ subversion/branches/1.6.x-issue3432/tools/client-side/svn-graph.pl Tue Mar 16 18:03:37 2010
@@ -42,7 +42,7 @@ require SVN::Ra;
 require SVN::Client;
 
 # The URL of the Subversion repository we wish to graph
-# (e.g. "http://svn.collab.net/repos/svn").
+# (e.g. "http://svn.apache.org/repos/asf/subversion").
 my $repos_url;
 
 # The revision range we operate on, from $startrev -> $youngest.

Modified: subversion/branches/1.6.x-issue3432/tools/dev/contribulyze.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/tools/dev/contribulyze.py?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/tools/dev/contribulyze.py (original)
+++ subversion/branches/1.6.x-issue3432/tools/dev/contribulyze.py Tue Mar 16 18:03:37 2010
@@ -606,14 +606,14 @@ index_introduction = '''
 <p>The following list of contributors and their contributions is meant
 to help us keep track of whom to consider for commit access.  The list
 was generated from "svn&nbsp;log" output by <a
-href="http://svn.collab.net/repos/svn/trunk/tools/dev/contribulyze.py"
+href="http://svn.apache.org/repos/asf/subversion/trunk/tools/dev/contribulyze.py"
 >contribulyze.py</a>, which looks for log messages that use the <a
 href="http://subversion.tigris.org/hacking.html#crediting">special
 contribution format</a>.</p>
 
 <p><i>Please do not use this list as a generic guide to who has
 contributed what to Subversion!</i> It omits existing <a
-href="http://svn.collab.net/repos/svn/trunk/COMMITTERS"
+href="http://svn.apache.org/repos/asf/subversion/trunk/COMMITTERS"
 >full committers</a>, for example, because they are irrelevant to our
 search for new committers.  Also, it merely counts changes, it does
 not evaluate them.  To truly understand what someone has contributed,

Modified: subversion/branches/1.6.x-issue3432/tools/dev/po-merge.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/tools/dev/po-merge.py?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/tools/dev/po-merge.py (original)
+++ subversion/branches/1.6.x-issue3432/tools/dev/po-merge.py Tue Mar 16 18:03:37 2010
@@ -103,7 +103,7 @@ def main(argv):
                  'A backup copy of lang.po is saved as lang.po.bak.\n'
                  '\n'
                  'Example:\n'
-                 '    svn cat http://svn.collab.net/repos/svn/trunk/subversion/po/sv.po | \\\n'
+                 '    svn cat http://svn.apache.org/repos/asf/subversion/trunk/subversion/po/sv.po | \\\n'
                  '        %s sv.po' % (argv0, argv0))
 
     # Read the source po file into a hash

Modified: subversion/branches/1.6.x-issue3432/tools/dev/svn-merge-revs.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/tools/dev/svn-merge-revs.py?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/tools/dev/svn-merge-revs.py (original)
+++ subversion/branches/1.6.x-issue3432/tools/dev/svn-merge-revs.py Tue Mar 16 18:03:37 2010
@@ -24,10 +24,10 @@ revision that was merged, and the diff f
 
 Examples:
 
-  %s http://svn.collab.net/repos/svn/trunk svn-1.2.x-branch \
+  %s http://svn.apache.org/repos/asf/subversion/trunk svn-1.2.x-branch \
     r14041, r14149, r14186, r14194, r14238, r14273
 
-  %s http://svn.collab.net/repos/svn/trunk svn-1.2.x-branch \
+  %s http://svn.apache.org/repos/asf/subversion/trunk svn-1.2.x-branch \
     14041 14149 14186 14194 14238 14273""" % (progname, progname)
   print(val)
 

Modified: subversion/branches/1.6.x-issue3432/tools/dist/construct-rolling-environment.sh
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/tools/dist/construct-rolling-environment.sh?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/tools/dist/construct-rolling-environment.sh (original)
+++ subversion/branches/1.6.x-issue3432/tools/dist/construct-rolling-environment.sh Tue Mar 16 18:03:37 2010
@@ -7,7 +7,7 @@ SWIG=swig-1.3.36
 
 APR=apr-1.3.5
 APR_UTIL=apr-util-1.3.7
-NEON=neon-0.28.4
+NEON=neon-0.29.0
 SERF=serf-0.3.0
 ZLIB=zlib-1.2.3
 SQLITE_VERSION=3.6.13

Modified: subversion/branches/1.6.x-issue3432/tools/dist/gen_nightly_ann.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/tools/dist/gen_nightly_ann.py?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/tools/dist/gen_nightly_ann.py (original)
+++ subversion/branches/1.6.x-issue3432/tools/dist/gen_nightly_ann.py Tue Mar 16 18:03:37 2010
@@ -15,7 +15,7 @@ webpagetext = '''<!DOCTYPE html PUBLIC "
 nightly release of Subversion 1.5.x (r%d).</p>
 
 <p>This distribution is automatically generated from the latest sources on the
-<a href="http://svn.collab.net/repos/svn/branches/1.5.x">1.5.x branch</a>.  It
+<a href="http://svn.apache.org/repos/asf/subversion/branches/1.5.x">1.5.x branch</a>.  It
 may not even compile, and is certainly <i>not</i> suitable for any sort of
 production use.  This distribution has not been tested, and may cause any
 number of problems, up to and including death and bodily injury.  Only use this

Modified: subversion/branches/1.6.x-issue3432/www/design.html
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/www/design.html?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/www/design.html (original)
+++ subversion/branches/1.6.x-issue3432/www/design.html Tue Mar 16 18:03:37 2010
@@ -2286,7 +2286,7 @@ write/Makefile:6
 
     <p>For a detailed description of exactly how Greg Stein
       <em class="email">gstein@lyra.org</em> is mapping the WebDAV DeltaV spec to
-      Subversion, see his paper: <a href="http://svn.collab.net/repos/svn/trunk/www/webdav-usage.html">http://svn.collab.net/repos/svn/trunk/www/webdav-usage.html</a>
+      Subversion, see his paper: <a href="http://svn.apache.org/repos/asf/subversion/trunk/www/webdav-usage.html">http://svn.apache.org/repos/asf/subversion/trunk/www/webdav-usage.html</a>
     </p>
 
     <p>For more information on WebDAV and the DeltaV extensions, see
@@ -2304,7 +2304,7 @@ write/Makefile:6
 
     <p>The client library <tt class="literal">libsvn_ra_svn</tt> and standalone
       server program <tt class="literal">svnserve</tt> implement a custom protocol
-      over TCP.  This protocol is documented at <a href="http://svn.collab.net/repos/svn/trunk/subversion/libsvn_ra_svn/protocol">http://svn.collab.net/repos/svn/trunk/subversion/libsvn_ra_svn/protocol</a>.</p>
+      over TCP.  This protocol is documented at <a href="http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_ra_svn/protocol">http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_ra_svn/protocol</a>.</p>
   </div> <!-- protocol.svn (h3) -->
 </div> <!-- protocol (h2) -->
 

Modified: subversion/branches/1.6.x-issue3432/www/merge-tracking/func-spec.html
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/www/merge-tracking/func-spec.html?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/www/merge-tracking/func-spec.html (original)
+++ subversion/branches/1.6.x-issue3432/www/merge-tracking/func-spec.html Tue Mar 16 18:03:37 2010
@@ -786,7 +786,7 @@ href="requirements.html#repeated-merge">
 have already been applied to a merge target or its children.  After a
 conflict is encountered, merges of subsequent revision ranges must be
 aborted, since <a
-href="http://svn.collab.net/repos/svn/trunk/notes/tree-conflicts.txt"
+href="http://svn.apache.org/repos/asf/subversion/trunk/notes/tree-conflicts.txt"
 >tree conflicts</a> or previous content conflicts cannot be reliably
 merged into (e.g. you can't merge into a file that either isn't there
 or which you could potentially merge inside one side of a conflict
@@ -950,7 +950,7 @@ versions of Subversion.</p>
   </li>
 
   <li><a
-  href="http://svn.collab.net/repos/svn/trunk/subversion/libsvn_fs_base/notes/structure">Structure
+  href="http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_base/notes/structure">Structure
   of the Subversion FS BerkeleyDB backend</a></li>
 
 </ul>

Modified: subversion/branches/1.6.x-issue3432/www/merge-tracking/requirements.html
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/www/merge-tracking/requirements.html?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/www/merge-tracking/requirements.html (original)
+++ subversion/branches/1.6.x-issue3432/www/merge-tracking/requirements.html Tue Mar 16 18:03:37 2010
@@ -388,7 +388,7 @@ href="http://subversion.tigris.org/issue
 <h4>User Interface Ease in Common Cases</h4>
 
 <p>(This was one of the points made at the <a
-href="http://svn.collab.net/repos/svn/trunk/notes/EuroOSCON-2005-vc-bof.txt"
+href="http://svn.apache.org/repos/asf/subversion/trunk/notes/EuroOSCON-2005-vc-bof.txt"
 >EuroOSCON 2005 Version Control BOF session</a>.)</p>
 
 <p>The interface for common-case merges should be easy.  Currently it
@@ -509,7 +509,7 @@ a release branch.</p>
   >CollabNet customer Merge Tracking Summit</a></li>
 
   <li><a
-  href="http://svn.collab.net/repos/svn/trunk/notes/schema-tradeoffs.txt"
+  href="http://svn.apache.org/repos/asf/subversion/trunk/notes/schema-tradeoffs.txt"
   >schema-tradeoffs.txt</a>: Search for the section called "Questions
   that Users Ask".</li>
 

Modified: subversion/branches/1.6.x-issue3432/www/merge-tracking/summit.html
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/www/merge-tracking/summit.html?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/www/merge-tracking/summit.html (original)
+++ subversion/branches/1.6.x-issue3432/www/merge-tracking/summit.html Tue Mar 16 18:03:37 2010
@@ -78,7 +78,7 @@ the average user needs.</p>
   unique object identifier, more than we offer so far.  This desire
   was also noted at the
   <a
-  href="http://svn.collab.net/repos/svn/trunk/notes/EuroOSCON-2005-vc-bof.txt"
+  href="http://svn.apache.org/repos/asf/subversion/trunk/notes/EuroOSCON-2005-vc-bof.txt"
   >EuroOSCON 2005 Version Control BOF session</a>, search for
   "What branches/tags is this version of this file present in?".</p></li>
 
@@ -94,7 +94,7 @@ the average user needs.</p>
 
   <p>The exact same desire was expressed at the
   <a
-  href="http://svn.collab.net/repos/svn/trunk/notes/EuroOSCON-2005-vc-bof.txt"
+  href="http://svn.apache.org/repos/asf/subversion/trunk/notes/EuroOSCON-2005-vc-bof.txt"
   >EuroOSCON 2005 Version Control BOF session</a>, see the item
   containing the string "find my descendants" in that document.</p></li>
 
@@ -113,7 +113,7 @@ the average user needs.</p>
   useful.  Programmatic parsability was not a high priority,
   however.  An extended patch program was not considered crucial.  The
   desire for a "Smart patch format" was also noted at the <a
-  href="http://svn.collab.net/repos/svn/trunk/notes/EuroOSCON-2005-vc-bof.txt"
+  href="http://svn.apache.org/repos/asf/subversion/trunk/notes/EuroOSCON-2005-vc-bof.txt"
   >EuroOSCON 2005 Version Control BOF session</a>.</p></li>
 
   <li><p>Visual interfaces to branch/merge management are <em>very</em>
@@ -123,7 +123,7 @@ the average user needs.</p>
   cited as an excellent example of a tool providing the merge
   managment portion of this type of UI.  The need for GUI interfaces
   to branch topology was also discussed at the <a
-  href="http://svn.collab.net/repos/svn/trunk/notes/EuroOSCON-2005-vc-bof.txt"
+  href="http://svn.apache.org/repos/asf/subversion/trunk/notes/EuroOSCON-2005-vc-bof.txt"
   >EuroOSCON 2005 Version Control BOF session</a>, search for
   "display topology".  TODO: Follow-up sessions via WebEx will add
   more detail here.</p></li>
@@ -176,7 +176,7 @@ the average user needs.</p>
   <a href="http://subversion.tigris.org/issues/show_bug.cgi?id=2286"
       >issue&nbsp;#2286</a>.  It was also expressed at the
   <a
-  href="http://svn.collab.net/repos/svn/trunk/notes/EuroOSCON-2005-vc-bof.txt"
+  href="http://svn.apache.org/repos/asf/subversion/trunk/notes/EuroOSCON-2005-vc-bof.txt"
   >EuroOSCON 2005 Version Control BOF session</a>, search for "The
   One-File-In-Many-Branches Problem" there, which discusses
   how p4 and ClearCase do this.</p></li>

Modified: subversion/branches/1.6.x-issue3432/www/variance-adjusted-patching.html
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/www/variance-adjusted-patching.html?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/www/variance-adjusted-patching.html (original)
+++ subversion/branches/1.6.x-issue3432/www/variance-adjusted-patching.html Tue Mar 16 18:03:37 2010
@@ -21,7 +21,7 @@
 <p>Date of First Publication: 22 May, 2001</p>
 
 <p>$LastChangedDate$<br />
-Canonical URL: <a href="http://svn.collab.net/repos/svn/trunk/www/variance-adjusted-patching.html">http://svn.collab.net/repos/svn/trunk/www/variance-adjusted-patching.html</a></p>
+Canonical URL: <a href="http://svn.apache.org/repos/asf/subversion/trunk/www/variance-adjusted-patching.html">http://svn.apache.org/repos/asf/subversion/trunk/www/variance-adjusted-patching.html</a></p>
 
 <hr />  <!-- ====================================================== -->
 

Modified: subversion/branches/1.6.x-issue3432/www/webdav-usage.html
URL: http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue3432/www/webdav-usage.html?rev=923910&r1=923909&r2=923910&view=diff
==============================================================================
--- subversion/branches/1.6.x-issue3432/www/webdav-usage.html (original)
+++ subversion/branches/1.6.x-issue3432/www/webdav-usage.html Tue Mar 16 18:03:37 2010
@@ -1176,7 +1176,7 @@ property for each
     <blockquote>
       <p>For example, take a
       look at:
-      <a href="http://svn.collab.net/repos/svn/trunk/README">http://svn.collab.net/repos/svn/trunk/README</a>
+      <a href="http://svn.apache.org/repos/asf/subversion/trunk/README">http://svn.apache.org/repos/asf/subversion/trunk/README</a>
       (that's the HEAD right there; we also have URLs for every
       previous revision of every file)</p>
     </blockquote>