line |
true |
false |
branch |
55
|
0 |
7 |
unless ref $cas and ref($cas)->can('get') and ref($cas)->can('put') |
61
|
0 |
7 |
@_ == 1 && ref $_[0] eq 'HASH' ? : |
63
|
7 |
0 |
if (defined $p{'root'}) |
65
|
0 |
7 |
if defined $p{'root_entry'} |
74
|
0 |
7 |
if @invalid |
77
|
0 |
7 |
unless defined $self->dir_cache and $self->dir_cache->can('clear') |
82
|
0 |
7 |
unless defined $root |
84
|
2 |
5 |
unless (ref $root and ref($root)->isa('DataStore::CAS::FS::DirEnt')) |
85
|
0 |
0 |
ref($root)->can('hash') ? : |
|
2 |
0 |
ref $root eq 'HASH' ? : |
|
0 |
2 |
!ref($root) ? : |
100
|
0 |
7 |
unless ref $self->root_entry and ref($self->root_entry)->can('type') and $self->root_entry->type eq 'dir' and defined $self->root_entry->ref |
106
|
0 |
7 |
unless $self->get_dir($self->root_entry->ref) |
118
|
0 |
124 |
ref $hash_or_file && $hash_or_file->can('hash') ? : |
123
|
76 |
48 |
if defined $dir |
127
|
0 |
48 |
unless defined($file ||= $self->store->get($hash)) |
153
|
1 |
1 |
$path->resolve({'no_die', 1}) ? : |
159
|
0 |
3 |
@_ == 1 && ref $_[0] eq 'HASH' ? : |
176
|
21 |
0 |
if (ref $ret eq 'ARRAY') |
184
|
0 |
0 |
if ref $flags->{'error_out'} |
185
|
0 |
0 |
unless $flags->{'no_die'} |
192
|
203 |
38 |
ref $path_names ? : |
194
|
148 |
93 |
unless @$nodes |
201
|
0 |
3 |
if defined $flags->{'mkdir_defaults'} |
213
|
4 |
0 |
if ($ent->type eq 'symlink' and $flags->{'follow_symlinks'}) |
216
|
0 |
4 |
unless defined $target and length $target |
223
|
0 |
4 |
if $path[0] eq '' |
229
|
0 |
757 |
if ($ent->type ne 'dir') |
231
|
0 |
0 |
unless ($flags->{'mkdir'} || 0) > 1 |
238
|
119 |
638 |
unless defined $name and length $name and $name ne '.' |
242
|
9 |
629 |
if ($name eq '..') |
243
|
0 |
9 |
unless @$nodes > 1 |
251
|
516 |
113 |
if ($nodes->[-1]{'subtree'}) |
252
|
0 |
516 |
$self->case_insensitive ? : |
257
|
196 |
8 |
if (not defined $subnode and defined $nodes->[-1]{'dir'} || defined $ent->ref) |
259
|
0 |
196 |
unless $nodes->[-1]{'dir'} ||= $self->get_dir($ent->ref) |
263
|
190 |
6 |
if (defined(my $subent = $nodes->[-1]{'dir'}->get_entry($name))) |
265
|
0 |
190 |
$self->case_insensitive ? : |
272
|
15 |
614 |
unless ($subnode) |
274
|
12 |
3 |
if ($flags->{'mkdir'} or $flags->{'partial'}) { } |
280
|
6 |
6 |
@path ? : |
288
|
0 |
3 |
unless defined $nodes->[-1]{'dir'} |
303
|
0 |
10 |
unless ref $nodes |
311
|
10 |
0 |
wantarray ? : |
318
|
0 |
52 |
unless $ent->type eq 'dir' |
322
|
45 |
7 |
if (not defined $node->{'dir'} and defined $ent->ref) |
323
|
0 |
45 |
unless defined($node->{'dir'} = $self->get_dir($ent->ref)) |
327
|
47 |
5 |
if (defined $node->{'dir'}) |
330
|
0 |
103 |
$caseless ? : |
333
|
6 |
46 |
if (my $t = $node->{'subtree'}) |
336
|
0 |
8 |
unless defined $subnode |
337
|
0 |
7 |
if ref $subnode and $subnode->{'invalid'} |
338
|
7 |
1 |
if (ref $subnode) { } |
340
|
7 |
0 |
if $subnode->{'changed'} |
354
|
0 |
4 |
unless ref $nodes |
356
|
1 |
3 |
if (not $newent) { } |
358
|
0 |
1 |
if $nodes->[-1]{'invalid'} |
361
|
0 |
1 |
unless @$nodes > 1 |
369
|
0 |
1 |
$self->case_insensitive ? : |
373
|
0 |
0 |
if (ref $newent eq 'HASH' or not defined $newent->name or not defined $newent->type) |
374
|
3 |
0 |
ref $newent eq 'HASH' ? : |
376
|
2 |
1 |
unless defined $ent_hash{'name'} |
378
|
0 |
3 |
unless defined $ent_hash{'name'} and length $ent_hash{'name'} |
380
|
2 |
1 |
unless defined $ent_hash{'type'} |
392
|
10 |
13 |
if ($_->{'subtree'}) |
402
|
0 |
2 |
unless ref $nodes |
406
|
1 |
1 |
defined $$entref->type && $$entref->type eq 'dir' ? : |
407
|
1 |
1 |
defined $$entref->type ? : |
|
0 |
0 |
ref $changes eq 'ARRAY' ? : |
|
2 |
0 |
ref $changes eq 'HASH' ? : |
413
|
1 |
1 |
$$entref->type eq 'dir' ? : |
417
|
0 |
1 |
if (($old_dir_ref || '') ne ($new_dir_ref || '') and $nodes->[-1]{'subtree'}) |
432
|
16 |
9 |
if ($prev) |
433
|
0 |
16 |
$self->case_insensitive ? : |
436
|
4 |
21 |
if $_->{'changed'} and not $_->{'invalid'} |
450
|
0 |
4 |
unless ref $nodes |
451
|
3 |
1 |
unless (defined $nodes->[-1]{'dirent'}->type) |
476
|
0 |
0 |
if ($self->{'_nodes'} and $self->{'_nodes'}{'changed'}) |
486
|
2 |
0 |
if ($self->_nodes and $self->_nodes->{'changed'}) |
489
|
0 |
2 |
unless $root_node->{'dirent'}->type eq 'dir' |
505
|
10 |
0 |
if (my $subtree = $node->{'subtree'}) |
508
|
10 |
0 |
if defined $v and $v eq 0 || $v->{'changed'} |
514
|
1 |
9 |
if not %changes and defined $node->{'dirent'}->ref |
517
|
4 |
5 |
if (defined $node->{'dir'} or defined $node->{'dirent'}->ref) |
519
|
0 |
4 |
unless $node->{'dir'} ||= $self->get_dir($node->{'dirent'}->ref) |
524
|
0 |
12 |
$caseless ? : |
|
8 |
4 |
unless $changes{$caseless ? uc $ent->name : $ent->name} |
532
|
8 |
0 |
if ($_->{'subtree'} and $_->{'dirent'}->type eq 'dir' and $_->{'changed'}) |
544
|
0 |
9 |
unless @entries |
547
|
4 |
5 |
if $node->{'dir'} |
548
|
5 |
4 |
unless defined $format |
576
|
0 |
0 |
if length $_ |
577
|
0 |
0 |
if $name->[-1] eq '' or $name->[-1] eq '.' |
594
|
111 |
2 |
if $nodes and ref $nodes->[-1] and not $nodes->[-1]{'invalid'} |
599
|
2 |
101 |
if ($nodes) { } |
601
|
2 |
2 |
if not ref $_ or $_->{'invalid'} |
604
|
0 |
2 |
ref $_ ? : |
608
|
5 |
98 |
$flags ? : |
610
|
100 |
3 |
if (ref $nodes) { } |
615
|
0 |
3 |
if ref $flags->{'error_out'} |
616
|
0 |
3 |
unless $flags->{'no_die'} |
628
|
2 |
4 |
$self->{'_node_path'} ? : |
635
|
1 |
2 |
$path->resolve({'no_die', 1}) ? : |
649
|
0 |
2 |
unless $ent->type eq 'file' |
650
|
0 |
2 |
unless defined(my $hash = $ent->ref) |
663
|
0 |
0 |
unless $ent->type eq 'dir' |
664
|
0 |
0 |
unless defined(my $hash = $ent->ref) |
677
|
0 |
1 |
@_ == 1 && ref $_[0] eq 'HASH' ? : |
691
|
0 |
3 |
@_ == 1 && ref $_[0] eq 'HASH' ? : |
702
|
4 |
97 |
if @_ and ref $_[0] eq $class |
703
|
0 |
97 |
unless @dirstack |
709
|
5 |
50 |
unless @dirstack |
722
|
42 |
50 |
if ($p->type eq 'dir') |
735
|
0 |
5 |
unless ref($x = $self->{'fs'}->_resolve_path(undef, $self->{'path'})) |
753
|
2 |
0 |
if @{$self->{'dirstack'};} |
763
|
0 |
0 |
if (@_ > 1) |
774
|
0 |
7 |
ref $_[0] ? : |
795
|
0 |
48 |
if $self->{'_recent_idx'} > @{$self->{'_recent'};} |