--- log_accum.pl 2003-06-05 15:34:59.576398105 -0400 +++ new-log_accum.pl 2003-06-05 15:14:14.175451437 -0400 @@ -779,8 +779,20 @@ print STDERR "main(): doing diff on $dofile\n"; } if ($branch ne '') { + my $prior_revision = '0.0'; + my $current_revision = '0.0'; + open (LOG, "-|") + || exec 'cvs', '-nQq', 'rlog', '-r', "$branch.", "$modulename/$dofile"; + while () { + if (/^revision ((?:\d+\.)+)(\d+)/) { + $current_revision = $1 . $2; + $prior_revision = $1 . ($2 - 1); + last; + } + } + open (DIFF, "-|") - || exec 'cvs', '-nQq', 'rdiff', '-r', $branch, '-t', ($do_unidiff ? '-u' : '-c'), "$modulename/$dofile"; + || exec 'cvs', '-nQq', 'rdiff', '-r', $prior_revision, '-r', $current_revision, ($do_unidiff ? '-u' : '-c'), "$modulename/$dofile"; } else { open (DIFF, "-|") || exec 'cvs', '-nQq', 'rdiff', '-t', ($do_unidiff ? '-u' : '-c'), "$modulename/$dofile";