r57903 - in /branches/upstream/libhash-merge-simple-perl/current: Changes MANIFEST META.yml Makefile.PL README inc/ lib/Hash/Merge/Simple.pm
jawnsy-guest at users.alioth.debian.org
jawnsy-guest at users.alioth.debian.org
Fri May 14 01:36:28 UTC 2010
Author: jawnsy-guest
Date: Fri May 14 01:36:22 2010
New Revision: 57903
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=57903
Log:
[svn-upgrade] Integrating new upstream version, libhash-merge-simple-perl (0.05)
Removed:
branches/upstream/libhash-merge-simple-perl/current/inc/
Modified:
branches/upstream/libhash-merge-simple-perl/current/Changes
branches/upstream/libhash-merge-simple-perl/current/MANIFEST
branches/upstream/libhash-merge-simple-perl/current/META.yml
branches/upstream/libhash-merge-simple-perl/current/Makefile.PL
branches/upstream/libhash-merge-simple-perl/current/README
branches/upstream/libhash-merge-simple-perl/current/lib/Hash/Merge/Simple.pm
Modified: branches/upstream/libhash-merge-simple-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhash-merge-simple-perl/current/Changes?rev=57903&op=diff
==============================================================================
--- branches/upstream/libhash-merge-simple-perl/current/Changes (original)
+++ branches/upstream/libhash-merge-simple-perl/current/Changes Fri May 14 01:36:22 2010
@@ -1,14 +1,24 @@
+TODO:
+ - merge => _merge
+ - merge( clone => ...
+ - merge( dclone / deep_clone / storable_clone => ...
+ - merge( [] ) # Transform even-element array into a hash
+ - merge( [], [], ... ) # Merge even-element arrays (at the top level only)
+
+0.050 Thursday May 13 11:24:29 PDT 2010:
+ - Conversion to Dist::Zilla (Dzpl), losing auto_install
+
0.04 Saturday February 21 23:22:34 PST 2009:
- - Addressed bug 41738: https://rt.cpan.org/Ticket/Display.html?id=41738 (thanks Uri)
- - Updated boilerplate and Makefile.PL
- - Conversion of repository to git (github)
+ - Addressed bug 41738: https://rt.cpan.org/Ticket/Display.html?id=41738 (thanks Uri)
+ - Updated boilerplate and Makefile.PL
+ - Conversion of repository to git (github)
0.03 Sunday May 04 02:39:59 PDT 2008:
- - Tweak acknowledgements
- - Reference Hash::Merge in SEE ALSO
+ - Tweak acknowledgements
+ - Reference Hash::Merge in SEE ALSO
0.02 Wednesday April 23 14:34:59 PDT 2008:
- - Minor documentation tweak
+ - Minor documentation tweak
0.01 Monday April 21 22:12:45 PDT 2008:
- - Initial release
+ - Initial release
Modified: branches/upstream/libhash-merge-simple-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhash-merge-simple-perl/current/MANIFEST?rev=57903&op=diff
==============================================================================
--- branches/upstream/libhash-merge-simple-perl/current/MANIFEST (original)
+++ branches/upstream/libhash-merge-simple-perl/current/MANIFEST Fri May 14 01:36:22 2010
@@ -1,23 +1,12 @@
Changes
MANIFEST
-META.yml # Will be created by "make dist"
+META.yml
Makefile.PL
README
lib/Hash/Merge/Simple.pm
t/00-load.t
-inc/Module/AutoInstall.pm
-inc/Module/Install.pm
-inc/Module/Install/AutoInstall.pm
-inc/Module/Install/Base.pm
-inc/Module/Install/Can.pm
-inc/Module/Install/Fetch.pm
-inc/Module/Install/Include.pm
-inc/Module/Install/Makefile.pm
-inc/Module/Install/Metadata.pm
-inc/Module/Install/Win32.pm
-inc/Module/Install/WriteAll.pm
t/01-basic.t
t/9000-bug-41738-merge-with-side-effects.t
t/release/boilerplate.t
t/release/pod-coverage.t
-t/release/pod.t
+t/release/pod.t
Modified: branches/upstream/libhash-merge-simple-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhash-merge-simple-perl/current/META.yml?rev=57903&op=diff
==============================================================================
--- branches/upstream/libhash-merge-simple-perl/current/META.yml (original)
+++ branches/upstream/libhash-merge-simple-perl/current/META.yml Fri May 14 01:36:22 2010
@@ -1,25 +1,20 @@
---
abstract: 'Recursively merge two or more hashes, simply'
author:
- - 'Robert Krimen, C<< <rkrimen at cpan.org> >>'
+ - 'Robert Krimen <robertkrimen at gmail.com>'
build_requires:
Test::Deep: 0
Test::Most: 0
-distribution_type: module
-generated_by: 'Module::Install version 0.79'
+configure_requires:
+ ExtUtils::MakeMaker: 6.31
+generated_by: 'Dist::Zilla version 2.101170'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: Hash-Merge-Simple
-no_index:
- directory:
- - inc
- - t
-recommends:
+recommends: {}
+requires:
Clone: 0
Storable: 0
-resources:
- license: http://dev.perl.org/licenses/
- repository: http://github.com/robertkrimen/hash-merge-simple/tree/master
-version: 0.04
+version: 0.05
Modified: branches/upstream/libhash-merge-simple-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhash-merge-simple-perl/current/Makefile.PL?rev=57903&op=diff
==============================================================================
--- branches/upstream/libhash-merge-simple-perl/current/Makefile.PL (original)
+++ branches/upstream/libhash-merge-simple-perl/current/Makefile.PL Fri May 14 01:36:22 2010
@@ -1,44 +1,55 @@
-use inc::Module::Install;
-name 'Hash-Merge-Simple';
-all_from 'lib/Hash/Merge/Simple.pm';
+use strict;
+use warnings;
-resources repository => 'http://github.com/robertkrimen/hash-merge-simple/tree/master';
-{
- require ExtUtils::MakeMaker;
- use strict;
- no strict 'refs';
- my $libscan = \&{"ExtUtils::MM_Any::libscan"};
- *{"ExtUtils::MM_Any::libscan"} = sub {
- return '' unless $libscan->(@_);
- return '' if $_[1] =~ /\.sw[p-z]$/;
- return $_[1];
- };
+use ExtUtils::MakeMaker 6.31;
+
+
+
+my %WriteMakefileArgs = (
+ 'test' => {
+ 'TESTS' => 't/*.t t/release/*.t'
+ },
+ 'NAME' => 'Hash::Merge::Simple',
+ 'DISTNAME' => 'Hash-Merge-Simple',
+ 'CONFIGURE_REQUIRES' => {
+ 'ExtUtils::MakeMaker' => '6.31'
+ },
+ 'AUTHOR' => 'Robert Krimen <robertkrimen at gmail.com>',
+ 'BUILD_REQUIRES' => {
+ 'Test::Most' => '0',
+ 'Test::Deep' => '0'
+ },
+ 'ABSTRACT' => 'Recursively merge two or more hashes, simply',
+ 'EXE_FILES' => [],
+ 'VERSION' => '0.05',
+ 'PREREQ_PM' => {
+ 'Clone' => '0',
+ 'Storable' => '0'
+ },
+ 'LICENSE' => 'perl'
+ );
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
+ my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
+ my $pp = $WriteMakefileArgs{PREREQ_PM};
+ for my $mod ( keys %$br ) {
+ if ( exists $pp->{$mod} ) {
+ $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
+ }
+ else {
+ $pp->{$mod} = $br->{$mod};
+ }
+ }
}
-{
- map { my ($pk, $vr) = split m/\s/; build_requires $pk => $vr || 0 } grep { ! /^\s*#/ } split m/\n/, <<_END_;
-Test::Most
-Test::Deep
-_END_
+delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
+ unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
- map { my ($pk, $vr) = split m/\s/; requires $pk => $vr || 0 } grep { ! /^\s*#/ } split m/\n/, <<_END_;
-_END_
+WriteMakefile(%WriteMakefileArgs);
- map { my ($pk, $vr) = split m/\s/; recommends $pk => $vr || 0 } grep { ! /^\s*#/ } split m/\n/, <<_END_;
-Clone
-Storable
-_END_
-}
-if (-e 'inc/.author') {
- my $all_from = join '/', 'lib', split m/-/, name . '.pm';
- `perldoc -tF $all_from > README` if ! -e 'README' || (stat $all_from)[9] > (stat 'README')[9];
-}
-auto_install;
-
-WriteAll;
-
Modified: branches/upstream/libhash-merge-simple-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhash-merge-simple-perl/current/README?rev=57903&op=diff
==============================================================================
--- branches/upstream/libhash-merge-simple-perl/current/README (original)
+++ branches/upstream/libhash-merge-simple-perl/current/README Fri May 14 01:36:22 2010
@@ -2,10 +2,10 @@
Hash::Merge::Simple - Recursively merge two or more hashes, simply
VERSION
- Version 0.04
+ version 0.05
SYNOPSIS
- use Hash::Merge::Simple qw/merge/;
+ use Hash::Merge::Simple qw/ merge /;
my $a = { a => 1 };
my $b = { a => 100, b => 2};
@@ -35,11 +35,7 @@
This code was pretty much taken straight from Catalyst::Utils, and
modified to handle more than 2 hashes at the same time.
-EXPORTS
- merge
- See below.
-
-METHODS
+USAGE
Hash::Merge::Simple->merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
Hash::Merge::Simple::merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
Merge <hash1> through <hashN>, with the nth-most (rightmost) hash taking
@@ -87,41 +83,14 @@
This method will use Storable (dclone) to do the cloning
-AUTHOR
- Robert Krimen, "<rkrimen at cpan.org>"
+SEE ALSO
+ Hash::Merge
-SEE ALSO
- Hash::Merge, Catalyst::Utils
+ Catalyst::Utils
-BUGS
- Please report any bugs or feature requests to "bug-hash-merge-simple at
- rt.cpan.org", or through the web interface at
- <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Hash-Merge-Simple>. I
- will be notified, and then you'll automatically be notified of progress
- on your bug as I make changes.
+ Clone
-SUPPORT
- You can find documentation for this module with the perldoc command.
-
- perldoc Hash::Merge::Simple
-
- You can also look for information at:
-
- * RT: CPAN's request tracker
-
- <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Hash-Merge-Simple>
-
- * AnnoCPAN: Annotated CPAN documentation
-
- <http://annocpan.org/dist/Hash-Merge-Simple>
-
- * CPAN Ratings
-
- <http://cpanratings.perl.org/d/Hash-Merge-Simple>
-
- * Search CPAN
-
- <http://search.cpan.org/dist/Hash-Merge-Simple>
+ Storable
ACKNOWLEDGEMENTS
This code was pretty much taken directly from Catalyst::Utils:
@@ -130,9 +99,12 @@
Yuval Kogman "nothingmuch at woobling.org"
-COPYRIGHT & LICENSE
- Copyright 2008 Robert Krimen, all rights reserved.
+AUTHOR
+ Robert Krimen <robertkrimen at gmail.com>
- This program is free software; you can redistribute it and/or modify it
- under the same terms as Perl itself.
+COPYRIGHT AND LICENSE
+ This software is copyright (c) 2010 by Robert Krimen.
+ This is free software; you can redistribute it and/or modify it under
+ the same terms as the Perl 5 programming language system itself.
+
Modified: branches/upstream/libhash-merge-simple-perl/current/lib/Hash/Merge/Simple.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhash-merge-simple-perl/current/lib/Hash/Merge/Simple.pm?rev=57903&op=diff
==============================================================================
--- branches/upstream/libhash-merge-simple-perl/current/lib/Hash/Merge/Simple.pm (original)
+++ branches/upstream/libhash-merge-simple-perl/current/lib/Hash/Merge/Simple.pm Fri May 14 01:36:22 2010
@@ -1,89 +1,16 @@
package Hash::Merge::Simple;
+BEGIN {
+ $Hash::Merge::Simple::VERSION = '0.05';
+}
+# ABSTRACT: Recursively merge two or more hashes, simply
use warnings;
use strict;
-=head1 NAME
-
-Hash::Merge::Simple - Recursively merge two or more hashes, simply
-
-=head1 VERSION
-
-Version 0.04
-
-=cut
-
-our $VERSION = '0.04';
use vars qw/@ISA @EXPORT_OK/;
@ISA = qw/Exporter/;
@EXPORT_OK = qw/merge clone_merge dclone_merge/;
-=head1 SYNOPSIS
-
- use Hash::Merge::Simple qw/merge/;
-
- my $a = { a => 1 };
- my $b = { a => 100, b => 2};
-
- # Merge with righthand hash taking precedence
- my $c = merge $a, $b;
- # $c is { a => 100, b => 2 } ... Note: a => 100 has overridden => 1
-
- # Also, merge will take care to recursively merge any subordinate hashes found
- my $a = { a => 1, c => 3, d => { i => 2 }, r => {} };
- my $b = { b => 2, a => 100, d => { l => 4 } };
- my $c = merge $a, $b;
- # $c is { a => 100, b => 2, c => 3, d => { i => 2, l => 4 }, r => {} }
-
- # You can also merge more than two hashes at the same time
- # The precedence increases from left to right (the rightmost has the most precedence)
- my $everything = merge $this, $that, $mine, $yours, $kitchen_sink, ...;
-
-=head1 DESCRIPTION
-
-Hash::Merge::Simple will recursively merge two or more hashes and return the result as a new hash reference. The merge function will descend and merge
-hashes that exist under the same node in both the left and right hash, but doesn't attempt to combine arrays, objects, scalars, or anything else. The rightmost hash
-also takes precedence, replacing whatever was in the left hash if a conflict occurs.
-
-This code was pretty much taken straight from L<Catalyst::Utils>, and modified to handle more than 2 hashes at the same time.
-
-=head1 EXPORTS
-
-=head2 merge
-
-See below.
-
-=head1 METHODS
-
-=head2 Hash::Merge::Simple->merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
-
-=head2 Hash::Merge::Simple::merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
-
-Merge <hash1> through <hashN>, with the nth-most (rightmost) hash taking precedence.
-
-Returns a new hash reference representing the merge.
-
-NOTE: The code does not currently check for cycles, so infinite loops are possible:
-
- my $a = {};
- $a->{b} = $a;
- merge $a, $a;
-
-NOTE: If you want to avoid giving/receiving side effects with the merged result, use C<clone_merge> or C<dclone_merge>
-An example of this problem (thanks Uri):
-
- my $left = { a => { b => 2 } } ;
- my $right = { c => 4 } ;
-
- my $result = merge( $left, $right ) ;
-
- $left->{a}{b} = 3 ;
- $left->{a}{d} = 5 ;
-
- # $result->{a}{b} == 3 !
- # $result->{a}{d} == 5 !
-
-=cut
# This was stoled from Catalyst::Utils... thanks guys!
sub merge (@);
@@ -114,6 +41,93 @@
return \%merge;
}
+
+sub clone_merge {
+ require Clone;
+ my $result = merge @_;
+ return Clone::clone( $result );
+}
+
+
+sub dclone_merge {
+ require Storable;
+ my $result = merge @_;
+ return Storable::dclone( $result );
+}
+
+
+1;
+
+__END__
+=pod
+
+=head1 NAME
+
+Hash::Merge::Simple - Recursively merge two or more hashes, simply
+
+=head1 VERSION
+
+version 0.05
+
+=head1 SYNOPSIS
+
+ use Hash::Merge::Simple qw/ merge /;
+
+ my $a = { a => 1 };
+ my $b = { a => 100, b => 2};
+
+ # Merge with righthand hash taking precedence
+ my $c = merge $a, $b;
+ # $c is { a => 100, b => 2 } ... Note: a => 100 has overridden => 1
+
+ # Also, merge will take care to recursively merge any subordinate hashes found
+ my $a = { a => 1, c => 3, d => { i => 2 }, r => {} };
+ my $b = { b => 2, a => 100, d => { l => 4 } };
+ my $c = merge $a, $b;
+ # $c is { a => 100, b => 2, c => 3, d => { i => 2, l => 4 }, r => {} }
+
+ # You can also merge more than two hashes at the same time
+ # The precedence increases from left to right (the rightmost has the most precedence)
+ my $everything = merge $this, $that, $mine, $yours, $kitchen_sink, ...;
+
+=head1 DESCRIPTION
+
+Hash::Merge::Simple will recursively merge two or more hashes and return the result as a new hash reference. The merge function will descend and merge
+hashes that exist under the same node in both the left and right hash, but doesn't attempt to combine arrays, objects, scalars, or anything else. The rightmost hash
+also takes precedence, replacing whatever was in the left hash if a conflict occurs.
+
+This code was pretty much taken straight from L<Catalyst::Utils>, and modified to handle more than 2 hashes at the same time.
+
+=head1 USAGE
+
+=head2 Hash::Merge::Simple->merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
+
+=head2 Hash::Merge::Simple::merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
+
+Merge <hash1> through <hashN>, with the nth-most (rightmost) hash taking precedence.
+
+Returns a new hash reference representing the merge.
+
+NOTE: The code does not currently check for cycles, so infinite loops are possible:
+
+ my $a = {};
+ $a->{b} = $a;
+ merge $a, $a;
+
+NOTE: If you want to avoid giving/receiving side effects with the merged result, use C<clone_merge> or C<dclone_merge>
+An example of this problem (thanks Uri):
+
+ my $left = { a => { b => 2 } } ;
+ my $right = { c => 4 } ;
+
+ my $result = merge( $left, $right ) ;
+
+ $left->{a}{b} = 3 ;
+ $left->{a}{d} = 5 ;
+
+ # $result->{a}{b} == 3 !
+ # $result->{a}{d} == 5 !
+
=head2 Hash::Merge::Simple->clone_merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
=head2 Hash::Merge::Simple::clone_merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
@@ -124,14 +138,6 @@
of giving/receiving any side effects
This method will use L<Clone> to do the cloning
-
-=cut
-
-sub clone_merge {
- require Clone;
- my $result = merge @_;
- return Clone::clone( $result );
-}
=head2 Hash::Merge::Simple->dclone_merge( <hash1>, <hash2>, <hash3>, ..., <hashN> )
@@ -144,60 +150,15 @@
This method will use L<Storable> (dclone) to do the cloning
-=cut
-
-sub dclone_merge {
- require Storable;
- my $result = merge @_;
- return Storable::dclone( $result );
-}
-
-=head1 AUTHOR
-
-Robert Krimen, C<< <rkrimen at cpan.org> >>
-
=head1 SEE ALSO
-L<Hash::Merge>, L<Catalyst::Utils>
+L<Hash::Merge>
-=head1 BUGS
+L<Catalyst::Utils>
-Please report any bugs or feature requests to C<bug-hash-merge-simple at rt.cpan.org>, or through
-the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Hash-Merge-Simple>. I will be notified, and then you'll
-automatically be notified of progress on your bug as I make changes.
+L<Clone>
-
-
-
-=head1 SUPPORT
-
-You can find documentation for this module with the perldoc command.
-
- perldoc Hash::Merge::Simple
-
-
-You can also look for information at:
-
-=over 4
-
-=item * RT: CPAN's request tracker
-
-L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Hash-Merge-Simple>
-
-=item * AnnoCPAN: Annotated CPAN documentation
-
-L<http://annocpan.org/dist/Hash-Merge-Simple>
-
-=item * CPAN Ratings
-
-L<http://cpanratings.perl.org/d/Hash-Merge-Simple>
-
-=item * Search CPAN
-
-L<http://search.cpan.org/dist/Hash-Merge-Simple>
-
-=back
-
+L<Storable>
=head1 ACKNOWLEDGEMENTS
@@ -207,14 +168,16 @@
Yuval Kogman C<nothingmuch at woobling.org>
-=head1 COPYRIGHT & LICENSE
+=head1 AUTHOR
-Copyright 2008 Robert Krimen, all rights reserved.
+ Robert Krimen <robertkrimen at gmail.com>
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
+=head1 COPYRIGHT AND LICENSE
+This software is copyright (c) 2010 by Robert Krimen.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
=cut
-1; # End of Hash::Merge::Simple
More information about the Pkg-perl-cvs-commits
mailing list