| Category: | Utility Scripts |
| Author/Contact Info | Casiano |
| Description: | I use "svn" command line for most of my work, but I very much like graphic diff over "svn diff". This program uses "svn export" to get a temporary copy of the file and then "tkdiff" or whatever program you specify to present the differences between your working copy and the one in the repository |
#!/usr//bin/perl -w
use strict;
use File::Temp;
my $diff = $ENV{DIFF} || 'tkdiff';
my $svnexport = $ENV{SVNEXPORT} || 'svn export';
my $file = pop;
my $dir = File::Temp->newdir();
my $fname = "$dir/repository_${file}";
my $argv = "@ARGV";
$argv = "-r HEAD $argv" unless $argv =~ m{-r\s+\d+};
die "Can't export file $file"
if system("$svnexport $argv $file $fname");
exec("$diff $file $fname");
=head1 NAME
svntkdiff - Show the differences between some repository version and t
+he working copy using tkdiff
=head1 SYNOPSIS
svntkdiff file
svntkdiff -r #num file
=head1 DESCRIPTION
=over 2
=item * The environment variable C<DIFF> can be used to set
the C<tkdiff> program used. By default is C<tkdiff>
=item * The environment variable C<SVNEXPORT> can be used to
set the C<svn export> command. By default is C<svn export>.
=back
|
|
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: svn tk diff
by Arunbear (Prior) on Oct 25, 2008 at 15:09 UTC |