When Glue.pm checks whether to autodetect product names, it calls 
log_fatal_error() if the policy is set to 'auto' and the SCM is CVS or Git. 
However, at this stage the logger has not been initialised and you get the 
error:

Can't call method "error" on an undefined value at 
/var/lib/cvs/CVSROOT/lib/scmbug/Scmbug/Common.pm line 221.

This is fairly unhelpful, as the actual error message gets lost. Obviously the 
correct solution would be to ensure that the logger gets initialised before it 
is called, but in the meantime I've implemented a partial workaround:

s...@apu:~/Projects/CVSROOT$ diff /usr/share/scmbug/lib/Scmbug/Common.pm  
lib/scmbug/Scmbug/Common.pm
220,223c220,226
<     $Log::Log4perl::caller_depth++;
<     $logger->error( $error_string );
<     $Log::Log4perl::caller_depth--;
< 
---
>     if ( $logger) {
>       $Log::Log4perl::caller_depth++;
>       $logger->error( $error_string );
>       $Log::Log4perl::caller_depth--;
>     } else {
>       print STDERR $error_string;
>     }

This is inelegant but it works.



Simon Brooke, Software Specialist
Cygnet Solutions Ltd
Registered office: Swan House, Darvel, Ayrshire, Scotland, KA17 0LP
Registered in Scotland No. SC158059
mail: [email protected]
www: http://www.cygnets.co.uk
tel: +44(0)1560 323444
fax: +44(0)1560 323432

_______________________________________________
scmbug-users mailing list
[email protected]
http://lists.mkgnu.net/cgi-bin/mailman/listinfo/scmbug-users

Reply via email to