1 |
dpavlin |
485 |
package Frey::SVK; |
2 |
|
|
use Moose; |
3 |
|
|
|
4 |
dpavlin |
498 |
with 'Frey::Escape'; |
5 |
|
|
|
6 |
dpavlin |
485 |
sub modified { |
7 |
|
|
my ($self) = @_; |
8 |
|
|
my @modified; |
9 |
|
|
open(my $svk, '-|', 'svk status -q') or die $@; |
10 |
|
|
while(<$svk>) { |
11 |
|
|
chomp; |
12 |
|
|
push @modified, $1 if /^M\s+(.+)/; |
13 |
|
|
} |
14 |
|
|
return @modified; |
15 |
|
|
} |
16 |
|
|
|
17 |
|
|
sub as_data { |
18 |
|
|
my ($self) = @_; |
19 |
|
|
{ |
20 |
|
|
modified => [ $self->modified ], |
21 |
|
|
} |
22 |
|
|
} |
23 |
|
|
|
24 |
dpavlin |
498 |
sub as_markup { |
25 |
|
|
my ($self) = @_; |
26 |
|
|
|
27 |
|
|
my $status = `svk status -q`; |
28 |
|
|
my $diff = `svk diff`; |
29 |
|
|
|
30 |
|
|
my $html |
31 |
|
|
= qq|<pre>$status</pre><hr><pre>| |
32 |
|
|
. $self->html_escape( $diff ) |
33 |
|
|
. qq|</pre>| |
34 |
|
|
; |
35 |
|
|
warn "diff ",length($html)," bytes"; |
36 |
|
|
|
37 |
|
|
return $html; |
38 |
|
|
} |
39 |
|
|
|
40 |
dpavlin |
485 |
1; |