line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package SVN::Class::File; |
2
|
2
|
|
|
2
|
|
93
|
use strict; |
|
2
|
|
|
|
|
6
|
|
|
2
|
|
|
|
|
96
|
|
3
|
2
|
|
|
2
|
|
14
|
use warnings; |
|
2
|
|
|
|
|
3
|
|
|
2
|
|
|
|
|
89
|
|
4
|
2
|
|
|
2
|
|
13
|
use base qw( Path::Class::File::Stat SVN::Class ); |
|
2
|
|
|
|
|
3
|
|
|
2
|
|
|
|
|
2373
|
|
5
|
2
|
|
|
2
|
|
3311
|
use SVN::Class::Dir; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
714
|
|
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
our $VERSION = '0.17'; |
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
# override Path::Class stuff to use SVN::Class instead |
10
|
|
|
|
|
|
|
sub new { |
11
|
0
|
|
|
0
|
1
|
|
my $self = Path::Class::Entity::new(shift); |
12
|
0
|
|
|
|
|
|
my $file = pop(); |
13
|
0
|
|
|
|
|
|
my @dirs = @_; |
14
|
|
|
|
|
|
|
|
15
|
0
|
|
|
|
|
|
my ( $volume, $dirs, $base ) = $self->_spec->splitpath($file); |
16
|
|
|
|
|
|
|
|
17
|
0
|
0
|
|
|
|
|
if ( length $dirs ) { |
18
|
0
|
|
|
|
|
|
push @dirs, $self->_spec->catpath( $volume, $dirs, '' ); |
19
|
|
|
|
|
|
|
} |
20
|
|
|
|
|
|
|
|
21
|
0
|
0
|
|
|
|
|
$self->{dir} = @dirs ? SVN::Class::Dir->new(@dirs) : undef; |
22
|
0
|
|
|
|
|
|
$self->{file} = $base; |
23
|
0
|
|
0
|
|
|
|
$self->{svn} ||= 'svn'; |
24
|
|
|
|
|
|
|
|
25
|
0
|
|
|
|
|
|
return $self; |
26
|
|
|
|
|
|
|
} |
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
sub dir { |
29
|
0
|
|
|
0
|
1
|
|
my $self = shift; |
30
|
0
|
0
|
|
|
|
|
return $self->{dir} if defined $self->{dir}; |
31
|
0
|
|
|
|
|
|
return SVN::Class::Dir->new( $self->_spec->curdir ); |
32
|
|
|
|
|
|
|
} |
33
|
|
|
|
|
|
|
|
34
|
|
|
|
|
|
|
1; |
35
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
__END__ |