File Coverage

File:lib/App/TimeTracker/Command/SyncViaGit.pm
Coverage:70.0%

linestmtbrancondsubpodtimecode
1package App::TimeTracker::Command::SyncViaGit;
2
2
2
2
1308
4
39
use strict;
3
2
2
2
9
4
48
use warnings;
4
2
2
2
2
2
2
65
90
26
11
5
23
use 5.010;
5
6# ABSTRACT: TimeTracker SyncViaGit plugin
7
8
2
2
2
9
5
19
use Moose::Role;
9
2
2
2
6188
6
19
use Git::Repository;
10
11sub cmd_sync {
12
0
0
    my $self = shift;
13
14
0
    my $r = Git::Repository->new( work_tree => $self->home );
15
16
0
    my @new = $r->run('ls-files' =>'-om');
17
0
    foreach my $changed (@new) {
18
0
        $r->run(add=>$changed);
19    }
20
21
0
    $r->run(commit => '-m','synced on '.$self->now);
22
23
0
    foreach my $cmd (qw(pull push)) {
24
0
        my $c = $r->command( $cmd );
25
0
        print $c->stderr->getlines;
26
0
        $c->close;
27    }
28}
29
30
2
2
2
281
5
15
no Moose::Role;
311;
32