[Codestriker-commits] CVS update: codestriker/lib/Codestriker/Repository Subversion.pm
Brought to you by:
sits
From: <si...@us...> - 2007-07-03 11:07:57
|
User: sits Date: 07/07/03 04:07:51 Modified: . CHANGELOG lib/Codestriker/Repository Subversion.pm Log: * Handle Subversion files which contain @ in the filename. Index: CHANGELOG =================================================================== RCS file: /cvsroot/codestriker/codestriker/CHANGELOG,v retrieving revision 1.209 retrieving revision 1.210 diff -u -r1.209 -r1.210 --- CHANGELOG 2 Jul 2007 09:54:09 -0000 1.209 +++ CHANGELOG 3 Jul 2007 11:07:50 -0000 1.210 @@ -33,6 +33,8 @@ of comment threads rather than the number of comments, when viewing the topic text. This has now been fixed. +* Handle Subversion files which contain @ in the filename. + Version 1.9.3 * The project list screen now displays for each project, the total Index: Subversion.pm =================================================================== RCS file: /cvsroot/codestriker/codestriker/lib/Codestriker/Repository/Subversion.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- Subversion.pm 3 Jul 2007 06:29:38 -0000 1.16 +++ Subversion.pm 3 Jul 2007 11:07:50 -0000 1.17 @@ -31,7 +31,9 @@ $repository_url =~ s/[\\\/]^//; # Replace any spaces with %20 uri friendly escapes. + # Ditto with @ symbols, so Subversion doesn't interpret it as a peg. $repository_url =~ s/ /%20/g; + $repository_url =~ s/\@/%40/g; my $self = {}; $self->{repository_url} = $repository_url; @@ -46,7 +48,9 @@ my ($self, $filename, $revision, $content_array_ref) = @_; # Replace any spaces with %20 uri friendly escapes. + # Ditto with @ symbols, so Subversion doesn't interpret it as a peg. $filename =~ s/ /%20/g; + $filename =~ s/\@/%40/g; my $read_data; my $read_stdout_fh = new FileHandle; @@ -102,8 +106,10 @@ $module_name =~ s/^\///; # Replace any spaces with %20 uri friendly escapes. + # Ditto with @ symbols, so Subversion doesn't interpret it as a peg. my $filename = $module_name; $filename =~ s/ /%20/g; + $filename =~ s/\@/%40/g; my $write_stdin_fh = new FileHandle; my $read_stdout_fh = new FileHandle; @@ -126,9 +132,16 @@ my $directory; # TODO: need a better way of detecting this, since Chinese users - # receive a different output string. svn info might be better, - # it can tell you if it is a file or directory. - # svn propget svn:mime-type could be a way. + # receive a different output string. Kind is either a file or + # directory from what I have seen. + # C:\Program Files\svn-win32-1.4.4\bin>svn info --xml http://svn.collab.net/repos/svn/trunk/tools/README +# <?xml version="1.0"?> +# <info> +# <entry +# kind="file" +# path="README" +# revision="25631"> +# <url>http://svn.collab.net/repos/svn/trunk/tools/README</url> # If there is an error about it being a directory, then use the # module name as a directory. |