|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
235
 | 
 0  | 
 14  | 
 unless $args->{'source'}
  | 
 
| 
238
 | 
 4  | 
 10  | 
 unless $res->[0] == 200
  | 
 
| 
241
 | 
 0  | 
 10  | 
 if defined $ir and ref $ir ne 'ARRAY'
  | 
 
| 
244
 | 
 0  | 
 10  | 
 if (defined $irp)
  | 
 
| 
245
 | 
 0  | 
 0  | 
 if ref $irp
  | 
 
| 
247
 | 
 0  | 
 0  | 
 unless eval 'qr/$irp/'
  | 
 
| 
251
 | 
 0  | 
 10  | 
 if defined $er and ref $er ne 'ARRAY'
  | 
 
| 
254
 | 
 0  | 
 10  | 
 if (defined $erp)
  | 
 
| 
255
 | 
 0  | 
 0  | 
 if ref $erp
  | 
 
| 
257
 | 
 0  | 
 0  | 
 unless eval 'qr/$erp/'
  | 
 
| 
261
 | 
 4  | 
 6  | 
 if ($requires_target)
  | 
 
| 
262
 | 
 0  | 
 4  | 
 unless $args->{'target'}
  | 
 
| 
264
 | 
 1  | 
 3  | 
 unless $res->[0] == 200
  | 
 
| 
274
 | 
 4  | 
 28  | 
 unless -d $dir
  | 
 
| 
275
 | 
 13  | 
 15  | 
 if -d "$dir/.git"
  | 
 
| 
276
 | 
 0  | 
 15  | 
 if -d "$dir/branches" and -f "$dir/HEAD"
  | 
 
| 
287
 | 
 0  | 
 36  | 
 if ($e->{'name'} =~ /\A(repos\.db|\.gitbunch-sync-timestamp)\z/)
  | 
 
| 
294
 | 
 0  | 
 36  | 
 if (defined $args->{'repo'})
  | 
 
| 
297
 | 
 0  | 
 0  | 
 unless $is_repo
  | 
 
| 
298
 | 
 0  | 
 0  | 
 unless $args->{'repo'} eq $e
  | 
 
| 
302
 | 
 12  | 
 24  | 
 if ($skip_non_repo and not $is_repo)
  | 
 
| 
307
 | 
 18  | 
 6  | 
 if ($is_repo) { }
  | 
 
| 
 | 
 0  | 
 6  | 
 elsif (-f $dir and $args->{'exclude_files'}) { }
  | 
 
| 
 | 
 0  | 
 6  | 
 elsif (-d $dir and $args->{'exclude_non_git_dirs'}) { }
  | 
 
| 
309
 | 
 0  | 
 18  | 
 if ($ir and not $e->{'name'} ~~ \@$ir)
  | 
 
| 
314
 | 
 0  | 
 18  | 
 if (defined $irp and not $e->{'name'} =~ qr/$irp/)
  | 
 
| 
319
 | 
 0  | 
 18  | 
 if ($er and $e->{'name'} ~~ \@$er)
  | 
 
| 
324
 | 
 0  | 
 18  | 
 if (defined $erp and $e->{'name'} =~ qr/$erp/)
  | 
 
| 
329
 | 
 0  | 
 18  | 
 if ($min_rat and &max(grep({defined $_;} $e->{'mtime'}, $e->{'commit_time'}, $e->{'status_time'}, $e->{'pull_time'})) < $min_rat)
  | 
 
| 
352
 | 
 14  | 
 4  | 
 if ($must_exist // 1)
  | 
 
| 
353
 | 
 2  | 
 12  | 
 unless -d $$path_ref
  | 
 
| 
355
 | 
 3  | 
 13  | 
 if _is_repo($$path_ref)
  | 
 
| 
367
 | 
 0  | 
 9  | 
 unless opendir my $dh, '.'
  | 
 
| 
368
 | 
 45  | 
 9  | 
 if $_ ne '.'
  | 
 
| 
373
 | 
 27  | 
 9  | 
 if (-d _) { }
  | 
 
| 
374
 | 
 9  | 
 18  | 
 if ($e->{'name'} =~ /\A\./) { }
  | 
 
| 
392
 | 
 9  | 
 0  | 
 unless -f 'repos.db'
  | 
 
| 
403
 | 
 0  | 
 0  | 
 unless my $row = $rows{$e->{'name'}}
  | 
 
| 
456
 | 
 2  | 
 6  | 
 unless $res->[0] == 200
  | 
 
| 
469
 | 
 0  | 
 6  | 
 if $progress
  | 
 
| 
470
 | 
 0  | 
 6  | 
 if $progress
  | 
 
| 
474
 | 
 12  | 
 12  | 
 if _skip_process_repo($e, \%args, '.')
  | 
 
| 
475
 | 
 6  | 
 6  | 
 $i++ ? :
  | 
 
| 
477
 | 
 0  | 
 12  | 
 if $progress
  | 
 
| 
482
 | 
 0  | 
 12  | 
 if ($args{'-dry_run'})
  | 
 
| 
490
 | 
 10  | 
 2  | 
 if ($exit == 0 and $output =~ /nothing to commit/)
  | 
 
| 
498
 | 
 0  | 
 2  | 
 if ($exit == 0 and $output =~ /^\s*Unmerged paths:/m) { }
  | 
 
| 
 | 
 1  | 
 1  | 
 elsif ($exit == 0 and $output =~ /(
  | 
 
| 
 | 
 1  | 
 0  | 
 elsif ($exit == 0 and $output =~ /(
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($exit == 128 and $output =~ /Not a git repository/) { }
  | 
 
| 
532
 | 
 0  | 
 6  | 
 if $progress
  | 
 
| 
533
 | 
 2  | 
 4  | 
 $has_unclean ? :
  | 
 
| 
 | 
 2  | 
 4  | 
 $has_unclean ? :
  | 
 
| 
571
 | 
 0  | 
 0  | 
 unless $res->[0] == 200
  | 
 
| 
579
 | 
 0  | 
 0  | 
 if ($sort)
  | 
 
| 
583
 | 
 0  | 
 0  | 
 if (($rev, $field) = $sort =~ /\A(-)?(mtime|commit_time|status_time|pull_time)/) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (($rev, $field) = $sort =~ /\A(-)?(name)/) { }
  | 
 
| 
584
 | 
 0  | 
 0  | 
 $rev ? :
  | 
 
| 
586
 | 
 0  | 
 0  | 
 $rev ? :
  | 
 
| 
595
 | 
 0  | 
 0  | 
 if _skip_process_entry($e, \%args, '.')
  | 
 
| 
600
 | 
 0  | 
 0  | 
 if ($args{'detail'}) { }
  | 
 
| 
625
 | 
 0  | 
 4  | 
 if ($exit)
  | 
 
| 
634
 | 
 0  | 
 5  | 
 if ($exit)
  | 
 
| 
639
 | 
 0  | 
 5  | 
 unless ($output =~ /commit (\S+)/)
  | 
 
| 
651
 | 
 0  | 
 4  | 
 if ($exit)
  | 
 
| 
659
 | 
 0  | 
 4  | 
 if ($exit)
  | 
 
| 
664
 | 
 0  | 
 4  | 
 unless ($output =~ /commit (\S+)/)
  | 
 
| 
680
 | 
 2  | 
 3  | 
 if ($src_heads{$branch} and $dest_heads{$branch} and $src_heads{$branch} eq $dest_heads{$branch})
  | 
 
| 
691
 | 
 2  | 
 1  | 
 if @src_branches > 1
  | 
 
| 
693
 | 
 0  | 
 3  | 
 if ($is_bare) { }
  | 
 
| 
700
 | 
 2  | 
 1  | 
 $branch ~~ \@dest_branches ? :
  | 
 
| 
709
 | 
 0  | 
 3  | 
 if ($exit == 0 and $output =~ /Already up-to-date/) { }
  | 
 
| 
 | 
 0  | 
 3  | 
 elsif ($output =~ /^error: (.+)/m) { }
  | 
 
| 
 | 
 3  | 
 0  | 
 elsif ($exit == 0 and $output =~ /^Updating \s|
  | 
 
| 
721
 | 
 2  | 
 1  | 
 if @src_branches > 1
  | 
 
| 
723
 | 
 1  | 
 2  | 
 if @src_branches == 1
  | 
 
| 
737
 | 
 0  | 
 3  | 
 if ($exit != 0)
  | 
 
| 
744
 | 
 0  | 
 4  | 
 if ($opts->{'delete_branch'})
  | 
 
| 
746
 | 
 0  | 
 0  | 
 if $branch ~~ \@src_branches
  | 
 
| 
747
 | 
 0  | 
 0  | 
 if $branch eq 'master'
  | 
 
| 
754
 | 
 0  | 
 0  | 
 if $exit
  | 
 
| 
759
 | 
 2  | 
 2  | 
 if ($changed_branch) { }
  | 
 
| 
906
 | 
 3  | 
 3  | 
 unless $res->[0] == 200
  | 
 
| 
915
 | 
 0  | 
 3  | 
 if $backup
  | 
 
| 
919
 | 
 1  | 
 0  | 
 unless (-d $target or $args{'-dry_run'} or $action eq 'list-source-repos')
  | 
 
| 
921
 | 
 0  | 
 1  | 
 unless make_path($target)
  | 
 
| 
929
 | 
 3  | 
 0  | 
 unless $args{'-dry_run'} or $action eq 'list-source-repos'
  | 
 
| 
931
 | 
 0  | 
 3  | 
 $args{'rsync_opt_maintain_ownership'} ? :
  | 
 
| 
937
 | 
 0  | 
 3  | 
 if $args{'min_repo_access_time'}
  | 
 
| 
940
 | 
 3  | 
 0  | 
 unless $action eq 'list-source-repos'
  | 
 
| 
944
 | 
 0  | 
 3  | 
 if $progress
  | 
 
| 
945
 | 
 0  | 
 3  | 
 if $progress
  | 
 
| 
952
 | 
 0  | 
 12  | 
 if _skip_process_entry($e, \%args, "$source/$e->{'name'}")
  | 
 
| 
955
 | 
 0  | 
 12  | 
 if ($action eq 'list-source-repos')
  | 
 
| 
956
 | 
 0  | 
 0  | 
 if $is_repo
  | 
 
| 
960
 | 
 6  | 
 6  | 
 unless ($is_repo)
  | 
 
| 
962
 | 
 0  | 
 6  | 
 if $progress
  | 
 
| 
969
 | 
 0  | 
 6  | 
 if ($args{'skip_mtime_check'} or $args{'-dry_run'}) { }
  | 
 
| 
980
 | 
 0  | 
 6  | 
 log_is_debug() ? :
  | 
 
| 
981
 | 
 0  | 
 6  | 
 $args{'rsync_del'} ? :
  | 
 
| 
982
 | 
 6  | 
 0  | 
 unless $args{'-dry_run'}
  | 
 
| 
986
 | 
 0  | 
 6  | 
 $args{'-dry_run'} ? :
  | 
 
| 
 | 
 6  | 
 0  | 
 @extra_opts ? :
  | 
 
| 
995
 | 
 0  | 
 6  | 
 log_is_debug() ? :
  | 
 
| 
996
 | 
 0  | 
 6  | 
 if ($args{'-dry_run'}) { }
  | 
 
| 
 | 
 0  | 
 6  | 
 elsif ($result[0]) { }
  | 
 
| 
1003
 | 
 4  | 
 2  | 
 if ($stdout =~ /^(deleting |\Q$uuid\E)/m)
  | 
 
| 
1013
 | 
 2  | 
 4  | 
 unless (-e $repo)
  | 
 
| 
1014
 | 
 0  | 
 2  | 
 if ($args{'-dry_run'})
  | 
 
| 
1018
 | 
 0  | 
 2  | 
 if ($create_bare) { }
  | 
 
| 
 | 
 0  | 
 2  | 
 elsif (defined $create_bare) { }
  | 
 
| 
1024
 | 
 0  | 
 0  | 
 if ($exit)
  | 
 
| 
1037
 | 
 0  | 
 0  | 
 if ($exit)
  | 
 
| 
1045
 | 
 0  | 
 2  | 
 if $progress
  | 
 
| 
1052
 | 
 0  | 
 2  | 
 if ($exit) { }
  | 
 
| 
1068
 | 
 0  | 
 4  | 
 if $progress
  | 
 
| 
1071
 | 
 0  | 
 4  | 
 if ($args{'-dry_run'})
  | 
 
| 
1076
 | 
 0  | 
 4  | 
 if ($backup and not $created)
  | 
 
| 
1088
 | 
 2  | 
 2  | 
 if ($res->[0] == 200)
  | 
 
| 
1097
 | 
 0  | 
 3  | 
 if $progress
  | 
 
| 
1099
 | 
 0  | 
 3  | 
 if ($action eq 'list-source-repos')
  | 
 
| 
1143
 | 
 0  | 
 0  | 
 unless $res->[0] == 200
  | 
 
| 
1146
 | 
 0  | 
 0  | 
 unless defined $command
  | 
 
| 
1153
 | 
 0  | 
 0  | 
 if $args{'min_repo_access_time'}
  | 
 
| 
1157
 | 
 0  | 
 0  | 
 if _skip_process_repo($e, \%args, '.')
  | 
 
| 
1159
 | 
 0  | 
 0  | 
 $i++ ? :
  | 
 
| 
1160
 | 
 0  | 
 0  | 
 if ($args{'-dry_run'})
  | 
 
| 
1167
 | 
 0  | 
 0  | 
 if ($exit) { }
  | 
 
| 
1229
 | 
 0  | 
 0  | 
 unless $check_res->[0] == 200
  | 
 
| 
1238
 | 
 0  | 
 0  | 
 unless $repo_res->[1] =~ /^(Needs commit|Has untracked files)$/
  | 
 
| 
1243
 | 
 0  | 
 0  | 
 $args{'-dry_run'} ? :
  |