Eric Wilhelm wrote:
> I've cleaned this up a bit, and it passes all of the tests.  Anybody 
> want to give it a whirl and/or complain about it before it goes in 
> trunk? 
> 
>   http://scratchcomputing.com/tmp/mi_version.patch

That looks good and is an elegant fix to the problem.  If gives me plenty of
rope to hang my hat on... ;-)

Could I ask for one more thing?  I noticed that in one of my distros,
SVN::Notify::Mirror, the META.yml isn't getting the $VERSION number for two of
the subclasses that I include:

provides:
  SVN::Notify::Mirror:
    file: lib/SVN/Notify/Mirror.pm
    version: 0.035
  SVN::Notify::Mirror::Rsync:
    file: lib/SVN/Notify/Mirror/Rsync.pm
    version: ''
  SVN::Notify::Mirror::SSH:
    file: lib/SVN/Notify/Mirror/SSH.pm
    version: ''

because those are defined in relation to the main module:

BEGIN {
    use vars qw ($VERSION);
    use base qw(SVN::Notify::Mirror);
    $VERSION = $SVN::Notify::Mirror::VERSION;
}

If I move the 'use base' line down onto the $VERSION, it is clear that blib/lib
isn't in @INC at this point.  Shouldn't we be adding blib/... into the path
before trying anything?

> John:  note that this works (and is in fact required) whether you go 
> with the => or inline assignment method.  I prefer the assignment for 
> readability and avoidance of the "how aggressively does => quote?" 
> question.  I guess I'm saying if you're going to be sneaky, be really 
> sneaky.

And I prefer the => method because it is cleaner code in the caller.  I'll
propose both on p5p and see what wins out...

John

John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Blvd
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747

Reply via email to