[svk-commit] r3152 - in trunk: lib/SVK lib/SVK/Editor
nobody at bestpractical.com
nobody at bestpractical.com
Mon Dec 7 19:51:29 EST 2009
Author: clkao
Date: Mon Dec 7 19:51:28 2009
New Revision: 3152
Added:
trunk/lib/SVK/Editor/PropEol.pm
Modified:
trunk/MANIFEST
trunk/lib/SVK/Path.pm
Log:
svn: prop eol normalizer.
Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST (original)
+++ trunk/MANIFEST Mon Dec 7 19:51:28 2009
@@ -84,6 +84,7 @@
lib/SVK/Editor/MapRev.pm
lib/SVK/Editor/Merge.pm
lib/SVK/Editor/Patch.pm
+lib/SVK/Editor/PropEol.pm
lib/SVK/Editor/Rename.pm
lib/SVK/Editor/Serialize.pm
lib/SVK/Editor/Status.pm
Added: trunk/lib/SVK/Editor/PropEol.pm
==============================================================================
--- (empty file)
+++ trunk/lib/SVK/Editor/PropEol.pm Mon Dec 7 19:51:28 2009
@@ -0,0 +1,81 @@
+# BEGIN BPS TAGGED BLOCK {{{
+# COPYRIGHT:
+#
+# This software is Copyright (c) 2003-2008 Best Practical Solutions, LLC
+# <clkao at bestpractical.com>
+#
+# (Except where explicitly superseded by other copyright notices)
+#
+#
+# LICENSE:
+#
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of either:
+#
+# a) Version 2 of the GNU General Public License. You should have
+# received a copy of the GNU General Public License along with this
+# program. If not, write to the Free Software Foundation, Inc., 51
+# Franklin Street, Fifth Floor, Boston, MA 02110-1301 or visit
+# their web page on the internet at
+# http://www.gnu.org/copyleft/gpl.html.
+#
+# b) Version 1 of Perl's "Artistic License". You should have received
+# a copy of the Artistic License with this package, in the file
+# named "ARTISTIC". The license is also available at
+# http://opensource.org/licenses/artistic-license.php.
+#
+# This work is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# CONTRIBUTION SUBMISSION POLICY:
+#
+# (The following paragraph is not intended to limit the rights granted
+# to you to modify and distribute this software under the terms of the
+# GNU General Public License and is only of importance to you if you
+# choose to contribute your changes and enhancements to the community
+# by submitting them to Best Practical Solutions, LLC.)
+#
+# By intentionally submitting any modifications, corrections or
+# derivatives to this work, or any other work intended for use with SVK,
+# to Best Practical Solutions, LLC, you confirm that you are the
+# copyright holder for those contributions and you grant Best Practical
+# Solutions, LLC a nonexclusive, worldwide, irrevocable, royalty-free,
+# perpetual, license to use, copy, create derivative works based on
+# those contributions, and sublicense and distribute those contributions
+# and any derivatives thereof.
+#
+# END BPS TAGGED BLOCK }}}
+package SVK::Editor::PropEol;
+use strict;
+use SVK::Version; our $VERSION = $SVK::VERSION;
+
+require SVN::Delta;
+use base 'SVK::Editor::ByPass';
+
+
+=head1 NAME
+
+SVK::Editor::PropEol - An editor that normalizes eol for svn: properties
+
+=head1 SYNOPSIS
+
+=cut
+
+sub change_file_prop {
+ my ($self, $path, $name, $value) = @_;
+ $value =~ s/\r\n/\n/g
+ if $name =~ m'^svn:';
+ $self->SUPER::change_file_prop($path, $name, $value);
+}
+
+sub change_dir_prop {
+ my ($self, $path, $name, $value) = @_;
+ $value =~ s/\r\n/\n/g
+ if $name =~ m'^svn:';
+ $self->SUPER::change_dir_prop($path, $name, $value);
+}
+
+1;
Modified: trunk/lib/SVK/Path.pm
==============================================================================
--- trunk/lib/SVK/Path.pm (original)
+++ trunk/lib/SVK/Path.pm Mon Dec 7 19:51:28 2009
@@ -56,7 +56,7 @@
IS_WIN32 get_depot_anchor
uri_escape traverse_history );
-use Class::Autouse qw(SVK::Editor::Dynamic SVK::Editor::TxnCleanup SVK::Editor::Tee);
+use Class::Autouse qw(SVK::Editor::Dynamic SVK::Editor::TxnCleanup SVK::Editor::Tee SVK::Editor::PropEol);
use SVN::Delta;
@@ -207,6 +207,8 @@
$editor = SVK::Editor::TxnCleanup->new(_editor => [$editor], txn => $txn);
+ $editor = SVK::Editor::PropEol->new(_editor => [$editor]);
+
return ($txn, $editor, $post_handler_ref);
}
More information about the svk-commit
mailing list