On 5/1/07, James Keenan via RT <[EMAIL PROTECTED]> wrote:
In the course of writing tests for Parrot::Revision (see the 'reconfigure'
branch), I noticed that
much of the code depends on the definedness and value of $svn_entries.
However, since
$svn_entries is explicitly undefined at the top of lib/Parrot/Revision.pm, and
since it's never
assigned to within that package, it's not clear what all that code is for.
Here's the result of ack-ing for svn_entries in trunk:
#####
[parrot] 502 $ ack --nohtml --nophp svn_entries
config/gen/revision.pm
31: my $entries = $Parrot::Revision::svn_entries;
lib/Parrot/Revision.pm
27:our $svn_entries = undef;
42: elsif ( defined $svn_entries and -r $svn_entries ) {
43: open FH, '<', $svn_entries
44: or die "Unable to open file ($svn_entries). Aborting. Error returned
was: $!";
#####
If $svn_entries starts out undef-ed and is never assigned to, it can never pass
the test for
definedness in line 42 above, which means that the subsequent elsif stanza can
never be
reached -- and should therefore be refactored out of existence.
Is my interpretation correct?
your interpretation is correct. '.svn_entries' is an svn metadata file
that's not even available in newer svn releases. Parrot::Revision
should never have been mucking with svn internals, anyway, and should
now be using the external api to get this info.
this code should be ripped out.
~jerry