You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2011/12/05 18:23:42 UTC

svn commit: r1210539 - /subversion/trunk/subversion/svn/merge-cmd.c

Author: julianfoad
Date: Mon Dec  5 17:23:41 2011
New Revision: 1210539

URL: http://svn.apache.org/viewvc?rev=1210539&view=rev
Log:
Fix a command-line parsing bug introduced in merge way back in r865147. If
the source was was specified as a local path, and the target path not
specified, then it tried to URI-decode the local path. An example of the
failure mode (which happens even if "foo%bar" does not exist) is:

  $ svn merge -c-5 "foo%bar"
  svn: E000022: Valid UTF-8 data
  (hex: 66 6f 6f)
  followed by invalid UTF-8 sequence
  (hex: ba 72)

* subversion/svn/merge-cmd.c
  (svn_cl__merge): Don't URI-decode a local path.

Modified:
    subversion/trunk/subversion/svn/merge-cmd.c

Modified: subversion/trunk/subversion/svn/merge-cmd.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/merge-cmd.c?rev=1210539&r1=1210538&r2=1210539&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/merge-cmd.c (original)
+++ subversion/trunk/subversion/svn/merge-cmd.c Mon Dec  5 17:23:41 2011
@@ -254,11 +254,11 @@ svn_cl__merge(apr_getopt_t *os,
       else if (strcmp(sourcepath1, sourcepath2) == 0)
         {
           svn_node_kind_t kind;
-          const char *decoded_path = svn_path_uri_decode(sourcepath1, pool);
-          SVN_ERR(svn_io_check_path(decoded_path, &kind, pool));
+
+          SVN_ERR(svn_io_check_path(sourcepath1, &kind, pool));
           if (kind == svn_node_file)
             {
-              targetpath = decoded_path;
+              targetpath = sourcepath1;
             }
         }
     }