#! /usr/bin/perl
-# Copyright (C) 2001 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
-#
-# GNU Emacs is free software; you can redistribute it and/or modify
+
+# GNU Emacs is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+
# You should have received a copy of the GNU General Public License
-# along with GNU Emacs; see the file COPYING. If not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
use File::Basename;
-if (@ARGV < 3)
+if (@ARGV < 3)
{
print <<USAGE;
revdiff FILE OLD NEW
-
+
Get a diff of FILE between revisions OLD and NEW. Store the
diff in a file named FILE-OLD-NEW.diff.
$file = shift @ARGV;
$old = shift @ARGV;
-sub diffit
+sub diffit
{
my ($old, $new) = @_;
print "cvs diff -r$old -r$new $file >$file-$old-$new.diff\n";
die "Can't find $entries" unless -f $entries;
open (IN, "<$entries") or die "Cannot open $entries";
my $rev;
- while ($line = <IN>)
+ while ($line = <IN>)
{
- if ($line =~ m,/$base/([^/]+),)
+ if ($line =~ m,/$base/([^/]+),)
{
$rev = $1;
break;
{
$old = current_revision ($file);
}
-elsif ($old =~ /^-(\d+)$/)
+elsif ($old =~ /^-(\d+)$/)
{
my $offset = $1;
$old = current_revision ($file);
$old = sprintf ("%d.%d", $1, $minor);
}
-while (@ARGV)
+while (@ARGV)
{
my $new = shift @ARGV;
if ($new =~ /^[+]\d+$/)
{
my $n = $new;
- for ($i = 0; $i < $n; ++$i)
+ for ($i = 0; $i < $n; ++$i)
{
- unless ($old =~ /(.*)\.(\d+)$/)
+ unless ($old =~ /(.*)\.(\d+)$/)
{
die "Internal error";
}
diffit ($old, $new);
$old = $new;
}
- }
- elsif ($new =~ /^[-]\d+$/)
+ }
+ elsif ($new =~ /^[-]\d+$/)
{
my $n = - $new;
- for ($i = 0; $i < $n; ++$i)
+ for ($i = 0; $i < $n; ++$i)
{
- unless ($old =~ /(.*)\.(\d+)$/)
+ unless ($old =~ /(.*)\.(\d+)$/)
{
die "Internal error";
}
$old = $new;
}
}
- else
+ else
{
diffit ($old, $new);
$old = $new;
# Local Variables:
# mode: cperl
# End:
+
+# arch-tag: 2798b20d-c7f2-4c78-8378-7bb529c36a09