Modified: 
subversion/branches/showing-merge-info/subversion/tests/libsvn_subr/config-test.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/subversion/tests/libsvn_subr/config-test.c?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- 
subversion/branches/showing-merge-info/subversion/tests/libsvn_subr/config-test.c
 (original)
+++ 
subversion/branches/showing-merge-info/subversion/tests/libsvn_subr/config-test.c
 Mon Jan 16 12:32:43 2012
@@ -211,7 +211,7 @@ test_boolean_retrieval(apr_pool_t *pool)
 }
 
 static svn_error_t *
-test_has_section(apr_pool_t *pool)
+test_has_section_case_insensitive(apr_pool_t *pool)
 {
   svn_config_t *cfg;
   const char *cfg_file;
@@ -225,12 +225,50 @@ test_has_section(apr_pool_t *pool)
   if (! svn_config_has_section(cfg, "section1"))
     return fail(pool, "Failed to find section1");
 
+  if (! svn_config_has_section(cfg, "SECTION1"))
+    return fail(pool, "Failed to find SECTION1");
+
+  if (! svn_config_has_section(cfg, "UpperCaseSection"))
+    return fail(pool, "Failed to find UpperCaseSection");
+
+  if (! svn_config_has_section(cfg, "uppercasesection"))
+    return fail(pool, "Failed to find UpperCaseSection");
+
   if (svn_config_has_section(cfg, "notthere"))
     return fail(pool, "Returned true on missing section");
 
   return SVN_NO_ERROR;
 }
 
+static svn_error_t *
+test_has_section_case_sensitive(apr_pool_t *pool)
+{
+  svn_config_t *cfg;
+  const char *cfg_file;
+
+  if (!srcdir)
+    SVN_ERR(init_params(pool));
+
+  cfg_file = apr_pstrcat(pool, srcdir, "/", "config-test.cfg", (char *)NULL);
+  SVN_ERR(svn_config_read2(&cfg, cfg_file, TRUE, TRUE, pool));
+
+  if (! svn_config_has_section(cfg, "section1"))
+    return fail(pool, "Failed to find section1");
+
+  if (svn_config_has_section(cfg, "SECTION1"))
+    return fail(pool, "Returned true on missing section");
+
+  if (! svn_config_has_section(cfg, "UpperCaseSection"))
+    return fail(pool, "Failed to find UpperCaseSection");
+
+  if (svn_config_has_section(cfg, "uppercasesection"))
+    return fail(pool, "Returned true on missing section");
+
+  if (svn_config_has_section(cfg, "notthere"))
+    return fail(pool, "Returned true on missing section");
+
+  return SVN_NO_ERROR;
+}
 /*
    ====================================================================
    If you add a new test to this file, update this array.
@@ -246,7 +284,9 @@ struct svn_test_descriptor_t test_funcs[
                    "test svn_config"),
     SVN_TEST_PASS2(test_boolean_retrieval,
                    "test svn_config boolean conversion"),
-    SVN_TEST_PASS2(test_has_section,
-                   "test svn_config_has_section"),
+    SVN_TEST_PASS2(test_has_section_case_insensitive,
+                   "test svn_config_has_section (case insensitive)"),
+    SVN_TEST_PASS2(test_has_section_case_sensitive,
+                   "test svn_config_has_section (case sensitive)"),
     SVN_TEST_NULL
   };

Modified: 
subversion/branches/showing-merge-info/subversion/tests/libsvn_subr/config-test.cfg
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/subversion/tests/libsvn_subr/config-test.cfg?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- 
subversion/branches/showing-merge-info/subversion/tests/libsvn_subr/config-test.cfg
 (original)
+++ 
subversion/branches/showing-merge-info/subversion/tests/libsvn_subr/config-test.cfg
 Mon Jan 16 12:32:43 2012
@@ -41,6 +41,9 @@ h=  %(unterminated
 # Multiple expansions
 i=%(a)s %(b)s
 
+[UpperCaseSection]
+a=Aa
+
 [booleans]
 true1 = true
 true2 = Yes

Modified: 
subversion/branches/showing-merge-info/subversion/tests/libsvn_wc/op-depth-test.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/subversion/tests/libsvn_wc/op-depth-test.c?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- 
subversion/branches/showing-merge-info/subversion/tests/libsvn_wc/op-depth-test.c
 (original)
+++ 
subversion/branches/showing-merge-info/subversion/tests/libsvn_wc/op-depth-test.c
 Mon Jan 16 12:32:43 2012
@@ -1731,7 +1731,7 @@ test_wc_move(const svn_test_opts_t *opts
       { 2, "A/B",             "base-deleted", NO_COPY_FROM },
       { 2, "A/B/C",           "base-deleted", NO_COPY_FROM },
       { 2, "A/B-move",        "normal",       1, "A/B", MOVED_HERE },
-      { 2, "A/B-move/C",      "normal",       1, "A/B/C" },
+      { 2, "A/B-move/C",      "normal",       1, "A/B/C", MOVED_HERE },
       { 3, "A/B-move/C",      "base-deleted", NO_COPY_FROM },
       { 3, "A/B-move/C-move", "normal",       1, "A/B/C", MOVED_HERE },
       { 0 }
@@ -3790,7 +3790,7 @@ nested_moves_child_first(const svn_test_
       {2, "A/B",     "base-deleted", NO_COPY_FROM},
       {2, "A/B/C",   "base-deleted", NO_COPY_FROM},
       {2, "A/B2",    "normal",       1, "A/B",   MOVED_HERE},
-      {2, "A/B2/C",  "normal",       1, "A/B/C"},
+      {2, "A/B2/C",  "normal",       1, "A/B/C", MOVED_HERE},
       {3, "A/B2/C",  "base-deleted", NO_COPY_FROM},
       {3, "A/B2/C2", "normal",       1, "A/B/C", MOVED_HERE},
       {0}
@@ -3808,12 +3808,12 @@ nested_moves_child_first(const svn_test_
       {1, "A/B",     "base-deleted", NO_COPY_FROM},
       {1, "A/B/C",   "base-deleted", NO_COPY_FROM},
       {1, "A2",      "normal",       1, "A",     MOVED_HERE},
-      {1, "A2/B",    "normal",       1, "A/B"},
-      {1, "A2/B/C",  "normal",       1, "A/B/C"},
+      {1, "A2/B",    "normal",       1, "A/B",   MOVED_HERE},
+      {1, "A2/B/C",  "normal",       1, "A/B/C", MOVED_HERE},
       {2, "A2/B",    "base-deleted", NO_COPY_FROM},
       {2, "A2/B/C",  "base-deleted", NO_COPY_FROM},
       {2, "A2/B2",   "normal",       1, "A/B",   MOVED_HERE},
-      {2, "A2/B2/C", "normal",       1, "A/B/C"},
+      {2, "A2/B2/C", "normal",       1, "A/B/C", MOVED_HERE},
       {3, "A2/B2/C", "base-deleted", NO_COPY_FROM},
       {3, "A2/B2/C2","normal",       1, "A/B/C", MOVED_HERE},
       {0}
@@ -3821,6 +3821,26 @@ nested_moves_child_first(const svn_test_
     SVN_ERR(check_db_rows(&b, "", nodes));
   }
 
+  /* Revert should leave the A to A2 move */
+  SVN_ERR(wc_revert(&b, "A2/B2", svn_depth_infinity));
+  SVN_ERR(wc_revert(&b, "A2/B", svn_depth_infinity));
+  {
+    nodes_row_t nodes[] = {
+      {0, "",        "normal",       1, ""},
+      {0, "A",       "normal",       1, "A",     FALSE, "A2"},
+      {0, "A/B",     "normal",       1, "A/B"},
+      {0, "A/B/C",   "normal",       1, "A/B/C"},
+      {1, "A",       "base-deleted", NO_COPY_FROM},
+      {1, "A/B",     "base-deleted", NO_COPY_FROM},
+      {1, "A/B/C",   "base-deleted", NO_COPY_FROM},
+      {1, "A2",      "normal",       1, "A",     MOVED_HERE},
+      {1, "A2/B",    "normal",       1, "A/B",   MOVED_HERE},
+      {1, "A2/B/C",  "normal",       1, "A/B/C", MOVED_HERE},
+      {0}
+    };
+    SVN_ERR(check_db_rows(&b, "", nodes));
+  }
+
   return SVN_NO_ERROR;
 }
 
@@ -3864,8 +3884,7 @@ nested_moves_child_last(const svn_test_o
     };
     SVN_ERR(check_db_rows(&b, "", nodes));
   }
-  SVN_ERR(wc_move(&b, "A2/B", "A2/B2"));  /* ### Leaves moved-here on lines
-                                             marked XFAIL */
+  SVN_ERR(wc_move(&b, "A2/B", "A2/B2"));
   {
     nodes_row_t nodes[] = {
       {0, "",        "normal",       1, ""},
@@ -3876,8 +3895,8 @@ nested_moves_child_last(const svn_test_o
       {1, "A/B",     "base-deleted", NO_COPY_FROM},
       {1, "A/B/C",   "base-deleted", NO_COPY_FROM},
       {1, "A2",      "normal",       1, "A",     MOVED_HERE},
-      {1, "A2/B",    "normal",       1, "A/B"},               /* XFAIL */
-      {1, "A2/B/C",  "normal",       1, "A/B/C"},             /* XFAIL */
+      {1, "A2/B",    "normal",       1, "A/B",   MOVED_HERE},
+      {1, "A2/B/C",  "normal",       1, "A/B/C", MOVED_HERE},
       {2, "A2/B",    "base-deleted", NO_COPY_FROM},
       {2, "A2/B/C",  "base-deleted", NO_COPY_FROM},
       {2, "A2/B2",   "normal",       1, "A/B",   MOVED_HERE},
@@ -3886,8 +3905,7 @@ nested_moves_child_last(const svn_test_o
     };
     SVN_ERR(check_db_rows(&b, "", nodes));
   }
-  SVN_ERR(wc_move(&b, "A2/B2/C", "A2/B2/C2")); /* ### Leaves moved-here on line
-                                                  marked XFAIL */
+  SVN_ERR(wc_move(&b, "A2/B2/C", "A2/B2/C2"));
   {
     nodes_row_t nodes[] = {
       {0, "",        "normal",       1, ""},
@@ -3898,12 +3916,12 @@ nested_moves_child_last(const svn_test_o
       {1, "A/B",     "base-deleted", NO_COPY_FROM},
       {1, "A/B/C",   "base-deleted", NO_COPY_FROM},
       {1, "A2",      "normal",       1, "A",     MOVED_HERE},
-      {1, "A2/B",    "normal",       1, "A/B"},
-      {1, "A2/B/C",  "normal",       1, "A/B/C"},
+      {1, "A2/B",    "normal",       1, "A/B",   MOVED_HERE},
+      {1, "A2/B/C",  "normal",       1, "A/B/C", MOVED_HERE},
       {2, "A2/B",    "base-deleted", NO_COPY_FROM},
       {2, "A2/B/C",  "base-deleted", NO_COPY_FROM},
       {2, "A2/B2",   "normal",       1, "A/B",   MOVED_HERE},
-      {2, "A2/B2/C", "normal",       1, "A/B/C"},                /* XFAIL */
+      {2, "A2/B2/C", "normal",       1, "A/B/C", MOVED_HERE},
       {3, "A2/B2/C", "base-deleted", NO_COPY_FROM},
       {3, "A2/B2/C2","normal",       1, "A/B/C", MOVED_HERE},
       {0}
@@ -3911,6 +3929,26 @@ nested_moves_child_last(const svn_test_o
     SVN_ERR(check_db_rows(&b, "", nodes));
   }
 
+  /* Revert should leave the A to A2 move */
+  SVN_ERR(wc_revert(&b, "A2/B2", svn_depth_infinity));
+  SVN_ERR(wc_revert(&b, "A2/B", svn_depth_infinity));
+  {
+    nodes_row_t nodes[] = {
+      {0, "",        "normal",       1, ""},
+      {0, "A",       "normal",       1, "A",     FALSE, "A2"},
+      {0, "A/B",     "normal",       1, "A/B"},
+      {0, "A/B/C",   "normal",       1, "A/B/C"},
+      {1, "A",       "base-deleted", NO_COPY_FROM},
+      {1, "A/B",     "base-deleted", NO_COPY_FROM},
+      {1, "A/B/C",   "base-deleted", NO_COPY_FROM},
+      {1, "A2",      "normal",       1, "A",     MOVED_HERE},
+      {1, "A2/B",    "normal",       1, "A/B",   MOVED_HERE},
+      {1, "A2/B/C",  "normal",       1, "A/B/C", MOVED_HERE},
+      {0}
+    };
+    SVN_ERR(check_db_rows(&b, "", nodes));
+  }
+
   return SVN_NO_ERROR;
 }
 
@@ -3919,7 +3957,7 @@ move_in_copy(const svn_test_opts_t *opts
 {
   svn_test__sandbox_t b;
 
-  SVN_ERR(svn_test__sandbox_create(&b, "move_in_replace", opts, pool));
+  SVN_ERR(svn_test__sandbox_create(&b, "move_in_copy", opts, pool));
 
   SVN_ERR(wc_mkdir(&b, "A"));
   SVN_ERR(wc_mkdir(&b, "A/B"));
@@ -4116,10 +4154,10 @@ move_to_swap(const svn_test_opts_t *opts
       {0, "X",   "normal",       1, "X",   FALSE, "A"},
       {0, "X/Y", "normal",       1, "X/Y", FALSE, "X/Y"},
       {1, "A",   "normal",       1, "X",   MOVED_HERE},
-      {1, "A/Y", "normal",       1, "X/Y"},                /* moved-here? */
+      {1, "A/Y", "normal",       1, "X/Y", MOVED_HERE},
       {1, "A/B", "base-deleted", NO_COPY_FROM},
       {1, "X",   "normal",       1, "A",   MOVED_HERE},
-      {1, "X/B", "normal",       1, "A/B"},                /* moved-here? */
+      {1, "X/B", "normal",       1, "A/B", MOVED_HERE},
       {1, "X/Y", "base-deleted", NO_COPY_FROM},
       {2, "A/Y", "base-deleted", NO_COPY_FROM},
       {2, "X/B", "base-deleted", NO_COPY_FROM},
@@ -4158,8 +4196,6 @@ move_to_swap(const svn_test_opts_t *opts
   SVN_ERR(wc_move(&b, "A/Y", "X/Y"));
   SVN_ERR(wc_move(&b, "X/B", "A/B"));
   
-  /* Currently XFAIL on because marked lines set moved-here.  Perhaps
-     this is correct and it should XFAIL on the earlier order?  */
   {
     nodes_row_t nodes[] = {
       {0, "",    "normal",       1, ""},
@@ -4168,10 +4204,10 @@ move_to_swap(const svn_test_opts_t *opts
       {0, "X",   "normal",       1, "X",   FALSE, "A"},
       {0, "X/Y", "normal",       1, "X/Y", FALSE, "X/Y"},
       {1, "A",   "normal",       1, "X",   MOVED_HERE},
-      {1, "A/Y", "normal",       1, "X/Y"},                /* XFAIL */
+      {1, "A/Y", "normal",       1, "X/Y", MOVED_HERE},
       {1, "A/B", "base-deleted", NO_COPY_FROM},
       {1, "X",   "normal",       1, "A",   MOVED_HERE},
-      {1, "X/B", "normal",       1, "A/B"},                /* XFAIL */
+      {1, "X/B", "normal",       1, "A/B", MOVED_HERE},
       {1, "X/Y", "base-deleted", NO_COPY_FROM},
       {2, "A/Y", "base-deleted", NO_COPY_FROM},
       {2, "X/B", "base-deleted", NO_COPY_FROM},
@@ -4393,6 +4429,43 @@ move_on_move2(const svn_test_opts_t *opt
   return SVN_NO_ERROR;
 }
 
+static svn_error_t *
+move_added(const svn_test_opts_t *opts, apr_pool_t *pool)
+{
+  svn_test__sandbox_t b;
+
+  SVN_ERR(svn_test__sandbox_create(&b, "move_added", opts, pool));
+
+  SVN_ERR(wc_mkdir(&b, "A"));
+  SVN_ERR(wc_mkdir(&b, "A/B"));
+  SVN_ERR(wc_commit(&b, ""));
+  SVN_ERR(wc_update(&b, "", 1));
+
+  SVN_ERR(wc_mkdir(&b, "A/B/C"));
+  SVN_ERR(wc_move(&b, "A", "A2"));
+  SVN_ERR(wc_mkdir(&b, "A2/B/C2"));
+
+  /* Both A2/B/C and A2/B/C2 are simple adds inside the move.  It
+     doesn't seem right for A2/B/C to be marked moved_here. */
+  {
+    nodes_row_t nodes[] = {
+      {0, "",         "normal",       1, ""},
+      {0, "A",        "normal",       1, "A",   FALSE, "A2"},
+      {0, "A/B",      "normal",       1, "A/B"},
+      {1, "A",        "base-deleted", NO_COPY_FROM},
+      {1, "A/B",      "base-deleted", NO_COPY_FROM},
+      {1, "A2",       "normal",       1, "A",   MOVED_HERE},
+      {1, "A2/B",     "normal",       1, "A/B", MOVED_HERE},
+      {3, "A2/B/C",   "normal",       NO_COPY_FROM},          /* XFAIL */
+      {3, "A2/B/C2",  "normal",       NO_COPY_FROM},
+      {0}
+    };
+    SVN_ERR(check_db_rows(&b, "", nodes));
+  }
+
+  return SVN_NO_ERROR;
+}
+
 
 
 /* ---------------------------------------------------------------------- */
@@ -4465,7 +4538,7 @@ struct svn_test_descriptor_t test_funcs[
                        "incomplete_switch (issue 4040)"),
     SVN_TEST_OPTS_PASS(nested_moves_child_first,
                        "nested_moves_child_first"),
-    SVN_TEST_OPTS_XFAIL(nested_moves_child_last,
+    SVN_TEST_OPTS_PASS(nested_moves_child_last,
                        "nested_moves_child_last"),
     SVN_TEST_OPTS_XFAIL(move_in_copy,
                        "move_in_copy"),
@@ -4473,7 +4546,7 @@ struct svn_test_descriptor_t test_funcs[
                        "move_in_replace"),
     SVN_TEST_OPTS_PASS(copy_a_move,
                        "copy_a_move"),
-    SVN_TEST_OPTS_XFAIL(move_to_swap,
+    SVN_TEST_OPTS_PASS(move_to_swap,
                        "move_to_swap"),
     SVN_TEST_OPTS_PASS(revert_nested_move,
                        "revert_nested_move"),
@@ -4481,5 +4554,7 @@ struct svn_test_descriptor_t test_funcs[
                        "move_on_move"),
     SVN_TEST_OPTS_XFAIL(move_on_move2,
                        "move_on_move2"),
+    SVN_TEST_OPTS_XFAIL(move_added,
+                       "move_added"),
     SVN_TEST_NULL
   };

Modified: 
subversion/branches/showing-merge-info/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- 
subversion/branches/showing-merge-info/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd
 (original)
+++ 
subversion/branches/showing-merge-info/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd
 Mon Jan 16 12:32:43 2012
@@ -32,7 +32,7 @@ IF NOT EXIST "imports\" (
 )
 IF NOT EXIST build\imports.done (
   copy /y imports\dev-default.build default.build
-  nant build %NANTARGS%
+  nant prep-dev %NANTARGS%
   IF ERRORLEVEL 1 (
     exit /B 1
   )
@@ -54,6 +54,7 @@ taskkill /im svnserve.exe /f 2> nul:
 taskkill /im svnrdump.exe /f 2> nul:
 taskkill /im svnsync.exe /f 2> nul:
 taskkill /im httpd.exe /f 2> nul:
+taskkill /im op-depth-test.exe /f 2> nul:
 IF EXIST "%TESTDIR%\tests\subversion\tests\cmdline\httpd\" (
   rmdir /s /q  "%TESTDIR%\tests\subversion\tests\cmdline\httpd"
 )

Modified: 
subversion/branches/showing-merge-info/tools/client-side/svn-ssl-fingerprints.sh
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/tools/client-side/svn-ssl-fingerprints.sh?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- 
subversion/branches/showing-merge-info/tools/client-side/svn-ssl-fingerprints.sh
 (original)
+++ 
subversion/branches/showing-merge-info/tools/client-side/svn-ssl-fingerprints.sh
 Mon Jan 16 12:32:43 2012
@@ -28,6 +28,6 @@
 CONFIG_DIR=${1-$HOME/.subversion}
 for i in $CONFIG_DIR/auth/svn.ssl.server/????????????????????????????????; do
   grep :// $i
-  grep '.\{80\}' $i | sed 's/\(.\{64\}\)/\1\n/g' | openssl base64 -d | openssl 
x509 -inform der -noout -fingerprint | sed 's/=/\n/'
+  grep '.\{80\}' $i | sed 's/\(.\{64\}\)/\1 /g' | xargs -n1 | openssl base64 
-d | openssl x509 -inform der -noout -fingerprint | sed 's/=/ /' | xargs -n1
   echo
 done

Modified: 
subversion/branches/showing-merge-info/tools/client-side/svnmucc/svnmucc.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/tools/client-side/svnmucc/svnmucc.c?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- subversion/branches/showing-merge-info/tools/client-side/svnmucc/svnmucc.c 
(original)
+++ subversion/branches/showing-merge-info/tools/client-side/svnmucc/svnmucc.c 
Mon Jan 16 12:32:43 2012
@@ -109,6 +109,7 @@ create_ra_callbacks(svn_ra_callbacks2_t 
                     const char *username,
                     const char *password,
                     const char *config_dir,
+                    svn_config_t *cfg_config,
                     svn_boolean_t non_interactive,
                     svn_boolean_t no_auth_cache,
                     apr_pool_t *pool)
@@ -119,7 +120,8 @@ create_ra_callbacks(svn_ra_callbacks2_t 
                                         non_interactive,
                                         username, password, config_dir,
                                         no_auth_cache,
-                                        FALSE, NULL, NULL, NULL, pool));
+                                        FALSE /* trust_server_certs */,
+                                        cfg_config, NULL, NULL, pool));
 
   (*callbacks)->open_tmp_file = open_tmp_file;
 
@@ -629,13 +631,17 @@ execute(const apr_array_header_t *action
   struct operation root;
   svn_error_t *err;
   apr_hash_t *config;
+  svn_config_t *cfg_config;
   int i;
 
   SVN_ERR(svn_config_get_config(&config, config_dir, pool));
   SVN_ERR(svn_cmdline__apply_config_options(config, config_options,
                                             "svnmucc: ", "--config-option"));
+  cfg_config = apr_hash_get(config, SVN_CONFIG_CATEGORY_CONFIG,
+                            APR_HASH_KEY_STRING);
   SVN_ERR(create_ra_callbacks(&ra_callbacks, username, password, config_dir,
-                              non_interactive, no_auth_cache, pool));
+                              cfg_config, non_interactive, no_auth_cache,
+                              pool));
   SVN_ERR(svn_ra_open4(&session, NULL, anchor, NULL, ra_callbacks,
                        NULL, config, pool));
 

Modified: subversion/branches/showing-merge-info/tools/dev/po-merge.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/tools/dev/po-merge.py?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- subversion/branches/showing-merge-info/tools/dev/po-merge.py (original)
+++ subversion/branches/showing-merge-info/tools/dev/po-merge.py Mon Jan 16 
12:32:43 2012
@@ -52,7 +52,7 @@ def parse_translation(f):
         line = f.readline()
         if line[0] != '"':
             break
-        msgid += '\n' + line[:-1]
+        msgid = msgid[:-1] + line[1:-1]
 
     # Parse optional msgid_plural
     msgid_plural = None
@@ -64,7 +64,7 @@ def parse_translation(f):
             line = f.readline()
             if line[0] != '"':
                 break
-            msgid_plural += '\n' + line[:-1]
+            msgid_plural = msgid_plural[:-1] + line[1:-1]
 
     # Parse msgstr
     msgstr = []
@@ -117,9 +117,9 @@ def main(argv):
         argv0 = os.path.basename(argv[0])
         sys.exit('Usage: %s <lang.po>\n'
                  '\n'
-                 'This script will replace the translations and flags in 
lang.po with\n'
-                 'the translations and flags in the source po file read from 
standard\n'
-                 'input.  Strings that are not found in the source file are 
left untouched.\n'
+                 'This script will replace the translations and flags in 
lang.po (LF line endings)\n'
+                 'with the translations and flags in the source po file read 
from standard input.\n'
+                 'Strings that are not found in the source file are left 
untouched.\n'
                  'A backup copy of lang.po is saved as lang.po.bak.\n'
                  '\n'
                  'Example:\n'

Modified: subversion/branches/showing-merge-info/tools/dist/backport.pl
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/tools/dist/backport.pl?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- subversion/branches/showing-merge-info/tools/dist/backport.pl (original)
+++ subversion/branches/showing-merge-info/tools/dist/backport.pl Mon Jan 16 
12:32:43 2012
@@ -68,12 +68,12 @@ sub merge {
 
   if ($entry{branch}) {
     # NOTE: This doesn't escape the branch into the pattern.
-    $pattern = printf '^ [*] %s branch\|Branch:\n *%s', $entry{branch}, 
$entry{branch};
+    $pattern = sprintf '\V\(%s branch\|branches\/%s\|Branch:\n *%s\)', 
$entry{branch}, $entry{branch}, $entry{branch};
     $mergeargs = "--reintegrate $BRANCHES/$entry{branch}";
     print $logmsg_fh "Reintergrate the $entry{header}:";
     print $logmsg_fh "";
   } elsif (@{$entry{revisions}}) {
-    $pattern = 'r' . $entry{revisions}->[0];
+    $pattern = '^ [*] \V' . 'r' . $entry{revisions}->[0];
     $mergeargs = join " ", (map { "-c$_" } @{$entry{revisions}}), 
'^/subversion/trunk';
     if (@{$entry{revisions}} > 1) {
       print $logmsg_fh "Merge the $entry{header} from trunk:";
@@ -88,7 +88,6 @@ sub merge {
   print $logmsg_fh $_ for @{$entry{entry}};
   close $logmsg_fh or die "Can't close $logmsg_filename: $!";
 
-  $pattern = '\V'.$pattern;
   my $script = <<"EOF";
 #!/bin/sh
 set -e
@@ -96,7 +95,7 @@ $SVN diff > $backupfile
 $SVN revert -R .
 $SVN up
 $SVN merge $mergeargs
-$VIM -e -s -n -N -i NONE -u NONE -c '/^ [*] $pattern/normal! dap' -c wq $STATUS
+$VIM -e -s -n -N -i NONE -u NONE -c '/$pattern/normal! dap' -c wq $STATUS
 if $WET_RUN; then
   $SVN commit -F $logmsg_filename
 else
@@ -109,8 +108,7 @@ EOF
   $script .= <<"EOF" if $entry{branch};
 reinteg_rev=\`$SVN info $STATUS | sed -ne 's/Last Changed Rev: //p'\`
 if $WET_RUN; then
-  $SVN rm $BRANCHES/$entry{branch}\
-          -m "Remove the '$entry{branch}' branch, reintegrated in 
r\$reinteg_rev."
+  $SVN rm $BRANCHES/$entry{branch} -m "Remove the '$entry{branch}' branch, 
reintegrated in r\$reinteg_rev."
 else
   echo "Removing reintegrated '$entry{branch}' branch"
 fi
@@ -205,15 +203,17 @@ sub main {
   usage, exit 0 if @ARGV;
   usage, exit 1 unless -r $STATUS;
 
+  my $sawapproved;
   @ARGV = $STATUS;
   while (<>) {
     my @lines = split /\n/;
 
     # Section header?
+    next unless $sawapproved ||= /^Approved changes/;
     print "\n\n=== $lines[0]" and next if $lines[0] =~ /^[A-Z].*:$/i;
 
     # Backport entry?
-    handle_entry @lines and next if $lines[0] =~ /^ \*/;
+    handle_entry @lines and next if $lines[0] =~ /^ \*/ and $sawapproved;
 
     warn "Unknown entry '$lines[0]' at $ARGV:$.\n";
   }

Modified: subversion/branches/showing-merge-info/tools/examples/SvnCLBrowse
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/tools/examples/SvnCLBrowse?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- subversion/branches/showing-merge-info/tools/examples/SvnCLBrowse (original)
+++ subversion/branches/showing-merge-info/tools/examples/SvnCLBrowse Mon Jan 
16 12:32:43 2012
@@ -161,7 +161,7 @@ class _item:
 class SvnCLBrowse(wx.App):
   def __init__(self, wc_dir):
     svn.core.svn_config_ensure(None)
-    self.svn_ctx = svn.client.ctx_t()
+    self.svn_ctx = svn.client.svn_client_create_context()
     self.svn_ctx.config = svn.core.svn_config_get_config(None)
     if wc_dir is not None:
       self.wc_dir = svn.core.svn_path_canonicalize(wc_dir)

Modified: 
subversion/branches/showing-merge-info/tools/examples/get-location-segments.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/tools/examples/get-location-segments.py?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- 
subversion/branches/showing-merge-info/tools/examples/get-location-segments.py 
(original)
+++ 
subversion/branches/showing-merge-info/tools/examples/get-location-segments.py 
Mon Jan 16 12:32:43 2012
@@ -124,7 +124,7 @@ ERROR: %s
     sys.exit(1)
 
   core.svn_config_ensure(None)
-  ctx = client.ctx_t()
+  ctx = client.svn_client_create_context()
   providers = [
     client.get_simple_provider(),
     core.svn_auth_get_ssl_server_trust_file_provider(),

Modified: 
subversion/branches/showing-merge-info/tools/server-side/svnpredumpfilter.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/tools/server-side/svnpredumpfilter.py?rev=1231975&r1=1231974&r2=1231975&view=diff
==============================================================================
--- 
subversion/branches/showing-merge-info/tools/server-side/svnpredumpfilter.py 
(original)
+++ 
subversion/branches/showing-merge-info/tools/server-side/svnpredumpfilter.py 
Mon Jan 16 12:32:43 2012
@@ -33,6 +33,7 @@ log -vq' when run against the root of th
 will be filtered by a user with universal read access to the
 repository's data.  Do not use the --use-merge-history (-g) or
 --stop-on-copy when generating this revision log stream.
+Use the default ordering of revisions (that is, '-r HEAD:0').
 
 Return errorcode 0 if there are no additional dependencies found, 1 if
 there were; any other errorcode indicates a fatal error.


Reply via email to