You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
59 lines
1.1 KiB
package Git::SVN::Utils; |
|
|
|
use strict; |
|
use warnings; |
|
|
|
use base qw(Exporter); |
|
|
|
our @EXPORT_OK = qw(fatal can_compress); |
|
|
|
|
|
=head1 NAME |
|
|
|
Git::SVN::Utils - utility functions used across Git::SVN |
|
|
|
=head1 SYNOPSIS |
|
|
|
use Git::SVN::Utils qw(functions to import); |
|
|
|
=head1 DESCRIPTION |
|
|
|
This module contains functions which are useful across many different |
|
parts of Git::SVN. Mostly it's a place to put utility functions |
|
rather than duplicate the code or have classes grabbing at other |
|
classes. |
|
|
|
=head1 FUNCTIONS |
|
|
|
All functions can be imported only on request. |
|
|
|
=head3 fatal |
|
|
|
fatal(@message); |
|
|
|
Display a message and exit with a fatal error code. |
|
|
|
=cut |
|
|
|
# Note: not certain why this is in use instead of die. Probably because |
|
# the exit code of die is 255? Doesn't appear to be used consistently. |
|
sub fatal (@) { print STDERR "@_\n"; exit 1 } |
|
|
|
|
|
=head3 can_compress |
|
|
|
my $can_compress = can_compress; |
|
|
|
Returns true if Compress::Zlib is available, false otherwise. |
|
|
|
=cut |
|
|
|
my $can_compress; |
|
sub can_compress { |
|
return $can_compress if defined $can_compress; |
|
|
|
return $can_compress = eval { require Compress::Zlib; }; |
|
} |
|
|
|
|
|
1;
|
|
|