--- trunk/lib/Frey/SVK.pm 2009/06/30 21:30:02 1138 +++ trunk/lib/Frey/SVK.pm 2009/06/30 21:39:09 1139 @@ -25,14 +25,18 @@ isa => 'Str', ); +our $svk = 'svk'; +$svk = 'svn' if -e '.svn'; +warn "using $svk"; + sub svk { my ( $self, $exec, $coderef ) = @_; - open(my $svk, '-|', 'svk ' . $exec) or die "svk $exec: $@"; - while(<$svk>) { + open(my $pipe, '-|', "$svk $exec") or die "$svk $exec: $@"; + while(<$pipe>) { chomp; $coderef->( $_ ); } - close($svk) or die "can't close svk $exec: $@"; + close($pipe) or die "can't close $svk $exec: $@"; } our $svk_status_path = '^(\w+[\+\s]+)(.+)'; @@ -54,7 +58,7 @@ my ( $label, $value ) = split(/:\s+/, $_, 2); $info->{$label} = $value if $label; }); - warn "# svk info ",$self->dump( $info ); + warn "# $svk info ",$self->dump( $info ); return $info; } @@ -67,7 +71,7 @@ sub commit_as_markup { my ($self) = @_; - my $status = `svk status -q`; + my $status = `$svk status -q`; $status =~ s{$svk_status_path}{$1 . $self->checkbox('path',$2) . qq|$2|}egm; if ( $status ) { $self->add_css(qq| @@ -107,7 +111,7 @@ sub diff_as_markup { my ($self) = @_; - my $diff = `svk diff`; + my $diff = `$svk diff`; $self->add_status( diff => $diff ); $diff = $self->html_diff( $diff ); @@ -133,9 +137,9 @@ $new =~ s{/([^/]+)$}{/.postponed.$1}; die "Allready have ", $self->path_size($new) if -e $new; - $cmd = "mv $old $new && svk revert $old"; + $cmd = "mv $old $new && $svk revert $old"; } elsif ( $self->action ) { - $cmd = 'svk ' . $self->action; + $cmd = "$svk " . $self->action; if ( $self->action eq 'commit' ) { my $msg = $self->commit_message || return $self->error( "need commit message\n" ); $msg =~ s{"}{\\"}gs; @@ -171,7 +175,7 @@ my $html = $self->action_as_markup; - $self->title( 'svk' . ( $self->action ? ' - ' . $self->action : '' ) ); # XXX without this we get wrong icon and title + $self->title( $svk . ( $self->action ? ' - ' . $self->action : '' ) ); # XXX without this we get wrong icon and title $html .= $self->commit_as_markup . $self->diff_as_markup || qq|No changes in tracked files|;