shell: do not play duplicated definition games to shrink the executable
[gitweb.git] / perl / Git.pm
index 405f68fc391cdae158dde10f7128f4a3b8167860..102e6a4ce3f63ea5754eff581c17df325cc1e073 100644 (file)
@@ -100,8 +100,6 @@ =head1 DESCRIPTION
 use Error qw(:try);
 use Cwd qw(abs_path);
 use IPC::Open2 qw(open2);
-use File::Temp ();
-require File::Spec;
 use Fcntl qw(SEEK_SET SEEK_CUR);
 }
 
@@ -1009,6 +1007,8 @@ sub temp_release {
 sub _temp_cache {
        my ($name) = @_;
 
+       _verify_require();
+
        my $temp_fd = \$TEMP_FILES{$name};
        if (defined $$temp_fd and $$temp_fd->opened) {
                if ($TEMP_LOCKS{$$temp_fd}) {
@@ -1031,6 +1031,11 @@ sub _temp_cache {
        $$temp_fd;
 }
 
+sub _verify_require {
+       eval { require File::Temp; require File::Spec; };
+       $@ and throw Error::Simple($@);
+}
+
 =item temp_reset ( FILEHANDLE )
 
 Truncates and resets the position of the C<FILEHANDLE>.