#!/usr/bin/perl -w use File::Basename; my $args = join ' ', @ARGV; open (DIFF, "cvs -nq update $args 2>/dev/null |") || die "Couldn't cvs -nq update"; while(<DIFF>) { if (/^M ([^\s]+)/) { my $file = $1; ($filename,$path,$suffix)=fileparse($file,"\.[^.]*"); system("cvs up -p $file > $path/.#$filename$suffix~"); system("opendiff $file $path/.#$filename$suffix~ -merge $file 2>/dev/null"); } }