Branch Coverage

blib/lib/ClearCase/SyncTree.pm
Criterion Covered Total %
branch 2 514 0.3


line true false branch
18 0 1 $^O =~ /MSWin|Windows_NT/i ? :
19 0 1 $^O =~ /cygwin/i ? :
26 0 0 if ($class = ref $proto)
50 0 0 if (@_ >= 2) { }
52 0 0 unless $method =~ /::/
81 0 0 if $$self{'ST_CT'}
82 0 0 unless (defined wantarray)
94 0 0 unless $_[0] and ref $_[0] eq 'HASH' and exists $_[0]{'autofail'}
96 0 0 if $af and ref $af
108 0 0 if @_
123 0 0 if $_[0] or not defined wantarray
133 0 0 if (ref $cmnt) { }
0 0 elsif ($cmnt) { }
169 0 0 if $_ and not 'File::Spec'->file_name_is_absolute($_)
184 0 0 if m[^\Q$base/\E]
187 0 0 if $$self{'ST_IMPLICIT_DIRS'} and $implicit_dirs
200 0 0 if m[^\Q$base/\E] or $_ eq $base
204 0 0 if $sil->lsco(['-s', '-cvi', '-d'], $dad)->qx
206 0 0 wantarray ? :
227 0 0 if -l $dst
237 0 0 if $ret or 1
241 0 0 $ret =~ s/^.*? --> (.*)$/$1/ ? :
246 0 0 if (@_)
251 0 0 if $sbase ne '/'
271 0 0 if (@_)
273 0 0 unless -e $dbase or mkpath($dbase, 0, 511)
276 0 0 unless $ct->_chdir($dbase)
279 0 0 if not $dv or $dv =~ /\sNONE\s/
286 0 0 unless ($dvob = $self->dstvob)
339 0 0 unless $ct->_chdir($olddir)
342 0 0 unless -e "$dvb/\@\@"
351 0 0 unless ($$self{'ST_MKBASE'})
357 0 0 if length $mbase <= length $dext
358 0 0 if -d $mbase and not $ct->desc(['-s'], "$mbase/.\@\@")->system
369 0 0 if (@_)
378 0 0 ref $_[0] ? :
380 0 0 unless $sbase
382 0 0 if $_ eq $sbase
383 0 0 if (m(^(?:[a-zA-Z]:)?${sbase}[/\\]*(.+))) { }
0 0 elsif (-e "$sbase/$_") { }
395 0 0 ref $_[0] ? :
399 0 0 unless $sbase
400 0 0 unless $dbase
402 0 0 if (m(^(?:[a-zA-Z]:)?\Q$sbase\E[/\\]*(.*)$)) { }
0 0 elsif (-e $_) { }
0 0 elsif (-e "$sbase/$_") { }
409 0 0 if ($sdmap{$_} =~ m(^\Q$dbase\E[/\\]*(.+)$)) { }
425 0 0 if @_
426 0 0 $$self{'ST_ELTYPEMAP'} ? :
432 0 0 unless $dbase
434 0 0 if (-e $dbase)
438 0 0 $n == 1 ? :
439 0 0 $n == 1 ? :
440 0 0 if @vp
445 0 0 $n >= 2 ? :
446 0 0 if ($n == 0) { }
0 0 elsif ($self->ignore_co) { }
0 0 elsif ($self->overwrite_co) { }
468 0 0 if ($lb)
470 0 0 if -r $lblver
472 0 0 unless &$cmp($src, $dst)
478 0 0 if -s $_ != $sz
479 0 0 unless (&$cmp($src, $_))
490 0 0 if (src_slink($src) and ccsymlink($dst)) { }
0 0 elsif (not src_slink($src) || ccsymlink($dst)) { }
495 0 0 if (not defined $comparator) { }
0 0 elsif ($self->vreuse) { }
0 0 elsif (-s $src != -s $dst) { }
504 0 0 if $update < 0
508 0 0 if ($update and !exists($$self{'ST_PRE'}{$dst}) || $self->overwrite_co) { }
520 0 0 unless $ct->_chdir($dest)
523 0 0 unless $ct->_chdir($pwd)
529 0 0 ref $_[0] ? :
532 0 0 unless $dbase
533 0 0 unless $self->dstvob
540 0 0 $dbase eq $$self{'ST_MKBASE'} ? :
543 0 0 if (@sl)
548 0 0 if (exists $$self{'ST_SRCMAP'}{$s})
550 0 0 if src_slink($s)
555 0 0 $self->no_cmp ? :
557 0 0 if $$self{'ST_SRCMAP'}{$_}{'type'} and not $$self{'ST_SRCMAP'}{$_}{'type'} =~ /$type/
560 0 0 unless -e $src or src_slink($src)
563 0 0 if ($dst =~ /^\Q$s\E/)
573 0 0 if (not ecs($dst) || ccsymlink($dst)) { }
0 0 elsif (not -d $src or src_slink($src)) { }
577 0 0 if ($self->_needs_update($src, $dst, $comparator))
583 0 0 if ($$self{'ST_DIRLNK'})
588 0 0 if (/^\Q$l\E./)
594 0 0 if @rem
595 0 0 unless keys %{$$self{'ST_DIRLNK'};}
599 0 0 unless $self->remove
603 0 0 if $path eq $dbase
604 0 0 if ($path =~ /lost\+found/)
610 0 0 if (ccsymlink($path)) { }
0 0 elsif (-d $path) { }
0 0 elsif (-f $path) { }
622 0 0 if $dst
625 0 0 if $$self{'ST_SRCMAP'}{$_} and not $$self{'ST_SRCMAP'}{$_}{'dst'}
626 0 0 unless $dst2src{$_}
636 0 0 if ($$self{'ST_DIRLNK'})
643 0 0 if ($$self{'ST_ADD'})
651 0 0 if ($$self{'ST_MOD'})
659 0 0 if ($self->remove and $$self{'ST_SUB'})
662 0 0 if $subs
677 0 0 unless (defined $$self{'ST_PBTYPES'}{$bt})
691 0 0 if ($$self{'branchoffroot'}) { }
694 0 0 if ($sel =~ /^(.*?) +Rule:.*-mkbranch (.*?)\]?$/) { }
698 0 0 if ($sil->des(['-s'], "$e\@\@/main/0")->system)
702 0 0 $self->pbrtype($bt) ? :
704 0 0 if ($ver =~ /$re/) { }
709 0 0 if ($r) { }
712 0 0 unless ($ver =~ m[\@\@[\\/]${main}[\\/]0$])
713 0 0 $dir ? :
734 0 0 unless $$self{'ST_DIRLNK'}
738 0 0 unless $lsco->args($dad)->qx
748 0 0 unless $$self{'ST_RELLINKS'} and $txt =~ /^$sbase/
774 0 0 unless $ok{$f}
780 0 0 unless (exists $$self{'ST_VT'}{$dir})
783 0 0 if m([/\\](\d+)$)
792 0 0 unless $i
809 0 0 if $dfound{$dst}
812 0 0 unless ($priv{$dir})
813 0 0 if ($$rref{$dst})
814 0 0 unless $lsco->args($dir)->qx
822 0 0 $snapview ? :
0 0 if ($snapview ? !($ds->args($dirext)->qx =~ /Error:/) : ecs($dirext))
823 0 0 if $dm->args($dirext)->qx eq 'file element'
829 0 0 if not ecs($dirext) or $dm->args($dirext)->qx eq 'file element'
834 0 0 unless $lsco->args($dir)->qx
838 0 0 $$dref{$dst} eq '.' ? :
839 0 0 if $self->remove
840 0 0 $self->no_cmp ? :
842 0 0 $d ? :
847 0 0 if (@intdir)
853 0 0 if -d $dd and not $dfound{$dd}++
857 0 0 if (-d $edst and not ccsymlink($edst))
861 0 0 if (@f)
862 0 0 unless $lsco->args($edst)->qx
869 0 0 if (exists $$self{'ST_ADD'}{$e}{'dst'})
872 0 0 if (-e $dst)
873 0 0 if $self->_needs_update($src, $dst, $cmp)
883 0 0 unless ($reused)
886 0 0 if $err and @{$err;}
897 0 0 if $$seen{$dad}++ or -d $dad and not ccsymlink($dad)
900 0 0 if -f $dad or ccsymlink($dad)
909 0 0 unless $$self{'ST_ADD'}
910 0 0 if ($self->reuse)
917 0 0 if -d $src and not src_slink($src)
927 0 0 if (-d $src and not src_slink($src)) { }
0 0 elsif (-e $src) { }
0 0 elsif (src_slink($src)) { }
928 0 0 unless -e $dst
929 0 0 if $err and @{$err;}
932 0 0 unless -d $dad
933 0 0 if $err and @{$err;}
934 0 0 if (src_slink($src)) { }
935 0 0 unless open SLINK, ">$dst$lext"
939 0 0 unless exists $$self{'ST_PRE'}{$dst}
943 0 0 unless open SLINK, ">$dst$lext"
952 0 0 unless @candidates
963 0 0 if not $lsd{$dad} or $lsd{$dad} =~ /CHECKEDOUT$/
968 0 0 if keys %dirs
973 0 0 unless (-d $cand)
974 0 0 if ($cand =~ /$lext$/) { }
986 0 0 unless (rename $cand, $tmpdir)
991 0 0 if ($mkdir->args($cand)->system)
992 0 0 unless rename $tmpdir, $cand
997 0 0 unless (opendir DIR, $tmpdir)
1003 0 0 if $i eq '.' or $i eq '..'
1004 0 0 unless rename "$tmpdir/$i", "$cand/$i"
1007 0 0 unless rmdir $tmpdir
1011 0 0 if ($self->reuse)
1025 0 0 $snapview ? :
0 0 if ($snapview ? !($ds->args($dirext)->qx =~ /Error:/) : ecs("$_/$name"))
1027 0 0 if $dm->args("$_/$name")->qx =~ /^directory /
1031 0 0 if not ecs("$_/$name") or $dm->args("$_/$name")->qx =~ /^directory /
1047 0 0 if (not $self->no_cr and %reused)
1049 0 0 if (exists $$self{'ST_CI_FROM'}{$_} and exists $$self{'ST_CI_FROM'}{$_}{'dst'} and exists $reused{$$self{'ST_CI_FROM'}{$_}{'dst'}})
1063 0 0 $self->no_cmp ? :
1065 0 0 if (exists $reused{$$self{'ST_ADD'}{$elem}{'dst'}})
1068 0 0 if ($self->_needs_update($src, $dst, $comparator))
1076 0 0 if ($files{$dst})
1078 0 0 unless copy($src, $dst)
1079 0 0 unless utime time, (stat $src)[9], $dst
1084 0 0 if %files
1089 0 0 unless (open SLINK, $symlink)
1103 0 0 if ($f =~ /^\./)
1107 0 0 if $1 =~ /^\.{2}/
1116 0 0 unless keys %{$$self{'ST_MOD'};}
1119 0 0 if (src_slink($$self{'ST_MOD'}{$_}{'src'})) { }
1129 0 0 $self->no_cmp ? :
1130 0 0 if (keys %files)
1136 0 0 if (ccsymlink($dst))
1148 0 0 unless $tgt =~ m(^[/\\])
1150 0 0 if (-e $tgt) { }
1158 0 0 unless $lsco->args($dir)->qx
1160 0 0 if ($dangling or not $$self{'ST_SUB'}{'exfiles'}{$dst1}) { }
1161 0 0 unless (copy($src, $dst))
1165 0 0 unless utime time, (stat $src)[9], $dst
1173 0 0 unless $dir eq $dir1 or $lsco->args($dir1)->qx
1177 0 0 unless ($self->_needs_update($src, $dst, $comparator))
1183 0 0 unless exists $$self{'ST_PRE'}{$dst} or $new
1185 0 0 if @toco
1190 0 0 if exists $$self{'ST_PRE'}{$dst}
1191 0 0 if ($self->no_cr) { }
1192 0 0 unless (copy($src, $dst))
1197 0 0 unless utime time, (stat $src)[9], $dst
1204 0 0 if (keys %symlinks)
1210 0 0 unless ($checkedout{$dad})
1211 0 0 unless $self->branchco(1, $dad)
1213 0 0 unless ($rm->args($lnk)->system)
1225 0 0 unless $$self{'ST_SUB'}
1234 0 0 if $keep{$d}
1236 0 0 if ($k and $$self{'ST_SRCMAP'}{$k})
1242 0 0 if (opendir DIR, $d)
1246 0 0 if (grep {not $$exnames{$_} || $ct->ls(['-s'], $_)->qx =~ /\@$/;} @entries) { }
1251 0 0 if (@entries)
1253 0 0 if @co
1263 0 0 unless $co{$dad}++
1266 0 0 if @exnames
1272 0 0 unless $lbtype
1279 0 0 if ($ctbool->lstype(['-s'], "lbtype:$lbtype\@$dvob")->system) { }
0 0 elsif (not $self->inclb) { }
1283 0 0 if $locked
1287 0 0 if ($self->label_mods or $self->inclb) { }
1289 0 0 if $$self{'ST_LBL'}
1290 0 0 if (@mods)
1291 0 0 if $self->inclb
1297 0 0 if ($lbl) { }
1299 0 0 if s/^(.*?)(?:\@@(.*))/$1/
1308 0 0 if $$self{'ST_LBL'}
1317 0 0 if @ancestors
1320 0 0 if $locked
1325 0 0 if ($$self{'ST_ADD'}) { }
1336 0 0 if ($$self{'ST_MOD'}) { }
1347 0 0 if ($$self{'ST_SUB'}) { }
1358 0 0 unless $self->ctime
1362 0 0 if (my(%emap) = $self->eltypemap)
1366 0 0 unless @chtypes
1372 0 0 unless ($self->no_cr)
1386 0 0 if @mods
1390 0 0 if $self->ignore_co
1391 0 0 if $checkedout{$dad}
1393 0 0 if @todo
1398 0 0 if ($self->protect)
1414 0 0 if (($src_mode & 3945) ne ($dst_mode & 3945) and not $src =~ /\.(?:p|html?|gif|mak|rc|ini|java| c|cpp|cxx|h|bmp|ico)$|akefile/x)
1427 0 0 if (($src_mode & 3945) ne ($dst_mode & 3945) and not $src =~ /\.(?:p|html?|gif|mak|rc|ini|java| c|cpp|cxx|h|bmp|ico)$|akefile/x)
1448 0 0 if (-d $_) { }
1449 0 0 unless rmdir $_
1456 0 0 if $self->ignore_co or $self->overwrite_co
1458 0 0 if $checkedout{$dad}
1459 0 0 if ($$self{'branchoffroot'}) { }
1463 0 0 if ($b =~ s[^(.*)[\\/]CHECKEDOUT$][$1])
1464 0 0 unless opendir BR, $b
1467 0 0 unless @f
1471 0 0 if @todo
1481 0 0 defined $rc ? :