| 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; |