[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.
|