You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Are Årseth <ar...@gmail.com> on 2010/09/30 14:46:18 UTC

svn_load_dirs.pl.in patch for @ in filenames

It seems that svn_load_dirs.pl fails when adding new files with @ in the
file name. The fix seems easy so here is the patch. I also included the two
fixes mentioned here
http://svn.haxx.se/users/archive-2007-01/0411.shtmlplus a verbose
option to see the svn warnings.

--- svn_load_dirs.pl.in	2010/09/30 13:14:21	91199
+++ svn_load_dirs.pl.in	2010/09/30 14:42:25	91223
@@ -1407,7 +1407,8 @@

   foreach my $file (@_)
     {
-      print TARGETS "$file\n";
+      #Add @ to end of filename in case the filename contains @
+      print TARGETS "$file@\n";
     }

   close(TARGETS)
@@ -1555,7 +1556,7 @@
       if ( $comment ) { print $comment; }

       # Now do the pipe.
-      open(SAFE_READ, "@commandline |")
+      open(SAFE_READ, "@commandline 2>&1 |")
         or die "$0: cannot pipe to command: $!\n";
     }

@@ -1608,6 +1609,11 @@
     }
   else
     {
+        if ($opt_verbose)
+          {
+              print STDERR "@_ ran with this output:\n", join("\n", @output),
+                           "\n";
+          }
       return @output;
     }
 }
@@ -2045,5 +2051,6 @@
 sub DESTROY
 {
   print "Cleaning up $temp_dir\n";
+  chdir($orig_cwd);
   File::Path::rmtree([$temp_dir], 0, 0);
 }

Re: svn_load_dirs.pl.in patch for @ in filenames

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Please send patches to dev@.

Please make each patch contain ONE functional change.  (It's okay to
send patches that depend on other patches.)

See here for patch submission guidelines:
http://subversion.apache.org/docs/community-guide/general.html#patches

Please don't forget to credit Jonathan Perret in the log message.

Are Årseth wrote on Thu, Sep 30, 2010 at 16:46:18 +0200:
> It seems that svn_load_dirs.pl fails when adding new files with @ in the
> file name. The fix seems easy so here is the patch. I also included the two
> fixes mentioned here
> http://svn.haxx.se/users/archive-2007-01/0411.shtmlplus a verbose
> option to see the svn warnings.
> 
> --- svn_load_dirs.pl.in	2010/09/30 13:14:21	91199
> +++ svn_load_dirs.pl.in	2010/09/30 14:42:25	91223
> @@ -1407,7 +1407,8 @@
> 
>    foreach my $file (@_)
>      {
> -      print TARGETS "$file\n";
> +      #Add @ to end of filename in case the filename contains @
> +      print TARGETS "$file@\n";
>      }
> 
>    close(TARGETS)
> @@ -1555,7 +1556,7 @@
>        if ( $comment ) { print $comment; }
> 
>        # Now do the pipe.
> -      open(SAFE_READ, "@commandline |")
> +      open(SAFE_READ, "@commandline 2>&1 |")
>          or die "$0: cannot pipe to command: $!\n";
>      }
> 
> @@ -1608,6 +1609,11 @@
>      }
>    else
>      {
> +        if ($opt_verbose)
> +          {
> +              print STDERR "@_ ran with this output:\n", join("\n", @output),
> +                           "\n";
> +          }
>        return @output;
>      }
>  }
> @@ -2045,5 +2051,6 @@
>  sub DESTROY
>  {
>    print "Cleaning up $temp_dir\n";
> +  chdir($orig_cwd);
>    File::Path::rmtree([$temp_dir], 0, 0);
>  }

Re: svn_load_dirs.pl.in patch for @ in filenames

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Please send patches to dev@.

Please make each patch contain ONE functional change.  (It's okay to
send patches that depend on other patches.)

See here for patch submission guidelines:
http://subversion.apache.org/docs/community-guide/general.html#patches

Please don't forget to credit Jonathan Perret in the log message.

Are Årseth wrote on Thu, Sep 30, 2010 at 16:46:18 +0200:
> It seems that svn_load_dirs.pl fails when adding new files with @ in the
> file name. The fix seems easy so here is the patch. I also included the two
> fixes mentioned here
> http://svn.haxx.se/users/archive-2007-01/0411.shtmlplus a verbose
> option to see the svn warnings.
> 
> --- svn_load_dirs.pl.in	2010/09/30 13:14:21	91199
> +++ svn_load_dirs.pl.in	2010/09/30 14:42:25	91223
> @@ -1407,7 +1407,8 @@
> 
>    foreach my $file (@_)
>      {
> -      print TARGETS "$file\n";
> +      #Add @ to end of filename in case the filename contains @
> +      print TARGETS "$file@\n";
>      }
> 
>    close(TARGETS)
> @@ -1555,7 +1556,7 @@
>        if ( $comment ) { print $comment; }
> 
>        # Now do the pipe.
> -      open(SAFE_READ, "@commandline |")
> +      open(SAFE_READ, "@commandline 2>&1 |")
>          or die "$0: cannot pipe to command: $!\n";
>      }
> 
> @@ -1608,6 +1609,11 @@
>      }
>    else
>      {
> +        if ($opt_verbose)
> +          {
> +              print STDERR "@_ ran with this output:\n", join("\n", @output),
> +                           "\n";
> +          }
>        return @output;
>      }
>  }
> @@ -2045,5 +2051,6 @@
>  sub DESTROY
>  {
>    print "Cleaning up $temp_dir\n";
> +  chdir($orig_cwd);
>    File::Path::rmtree([$temp_dir], 0, 0);
>  }