/[emacs]/emacs/admin/revdiff
ViewVC logotype

Diff of /emacs/admin/revdiff

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by gerd, Wed Sep 5 08:02:18 2001 UTC revision 1.2.8.1 by miles, Fri Apr 4 06:19:49 2003 UTC
# Line 21  Line 21 
21    
22  use File::Basename;  use File::Basename;
23    
24  if (@ARGV < 3)  if (@ARGV < 3)
25  {  {
26    print <<USAGE;    print <<USAGE;
27  revdiff FILE OLD NEW  revdiff FILE OLD NEW
28        
29  Get a diff of FILE between revisions OLD and NEW.  Store the  Get a diff of FILE between revisions OLD and NEW.  Store the
30  diff in a file named FILE-OLD-NEW.diff.  diff in a file named FILE-OLD-NEW.diff.
31    
# Line 48  USAGE Line 48  USAGE
48  $file = shift @ARGV;  $file = shift @ARGV;
49  $old  = shift @ARGV;  $old  = shift @ARGV;
50    
51  sub diffit  sub diffit
52  {  {
53    my ($old, $new) = @_;    my ($old, $new) = @_;
54    print "cvs diff -r$old -r$new $file >$file-$old-$new.diff\n";    print "cvs diff -r$old -r$new $file >$file-$old-$new.diff\n";
# Line 64  sub current_revision ($) Line 64  sub current_revision ($)
64    die "Can't find $entries" unless -f $entries;    die "Can't find $entries" unless -f $entries;
65    open (IN, "<$entries") or die "Cannot open $entries";    open (IN, "<$entries") or die "Cannot open $entries";
66    my $rev;    my $rev;
67    while ($line = <IN>)    while ($line = <IN>)
68      {      {
69        if ($line =~ m,/$base/([^/]+),)        if ($line =~ m,/$base/([^/]+),)
70          {          {
71            $rev = $1;            $rev = $1;
72            break;            break;
# Line 81  if ($old eq "-") Line 81  if ($old eq "-")
81    {    {
82      $old = current_revision ($file);      $old = current_revision ($file);
83    }    }
84  elsif ($old =~ /^-(\d+)$/)  elsif ($old =~ /^-(\d+)$/)
85    {    {
86      my $offset = $1;      my $offset = $1;
87      $old = current_revision ($file);      $old = current_revision ($file);
# Line 90  elsif ($old =~ /^-(\d+)$/) Line 90  elsif ($old =~ /^-(\d+)$/)
90      $old = sprintf ("%d.%d", $1, $minor);      $old = sprintf ("%d.%d", $1, $minor);
91    }    }
92    
93  while (@ARGV)  while (@ARGV)
94    {    {
95      my $new = shift @ARGV;      my $new = shift @ARGV;
96      if ($new =~ /^[+]\d+$/)      if ($new =~ /^[+]\d+$/)
97        {        {
98          my $n = $new;          my $n = $new;
99          for ($i = 0; $i < $n; ++$i)          for ($i = 0; $i < $n; ++$i)
100            {            {
101              unless ($old =~ /(.*)\.(\d+)$/)              unless ($old =~ /(.*)\.(\d+)$/)
102                {                {
103                  die "Internal error";                  die "Internal error";
104                }                }
# Line 107  while (@ARGV) Line 107  while (@ARGV)
107              diffit ($old, $new);              diffit ($old, $new);
108              $old = $new;              $old = $new;
109            }            }
110        }        }
111      elsif ($new =~ /^[-]\d+$/)      elsif ($new =~ /^[-]\d+$/)
112        {        {
113          my $n = - $new;          my $n = - $new;
114          for ($i = 0; $i < $n; ++$i)          for ($i = 0; $i < $n; ++$i)
115            {            {
116              unless ($old =~ /(.*)\.(\d+)$/)              unless ($old =~ /(.*)\.(\d+)$/)
117                {                {
118                  die "Internal error";                  die "Internal error";
119                }                }
# Line 123  while (@ARGV) Line 123  while (@ARGV)
123              $old = $new;              $old = $new;
124            }            }
125        }        }
126      else      else
127        {        {
128          diffit ($old, $new);          diffit ($old, $new);
129          $old = $new;          $old = $new;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.2.8.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26