# HG changeset patch # User Gerd Moellmann # Date 999676938 0 # Node ID 570be39418f4f380dad8aedd4c68b6fb17a5f914 # Parent 544f85c0de5757b52c62435813087ad43684784c Allow - for OLD. diff -r 544f85c0de57 -r 570be39418f4 admin/revdiff --- a/admin/revdiff Wed Sep 05 07:43:47 2001 +0000 +++ b/admin/revdiff Wed Sep 05 08:02:18 2001 +0000 @@ -27,13 +27,18 @@ 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. If NEW is + -or -, build diffs between revisions OLD and OLD +/- . -OLD being `-' means use FILE's current revision. +diff in a file named FILE-OLD-NEW.diff. + +If OLD is `-' use FILE's current revision for OLD. If OLD is +`-', use the Nth revision before the current one for OLD. + +If NEW is + or -, build diffs between revisions OLD +and OLD +/- . Examples: revdiff FILE - -1 get the latest change of FILE +revdiff FILE -1 +1 also gets the latest change of FILE revdiff FILE 1.500 +2 get diffs 1.500-1.501 and 1.501-1.502. USAGE @@ -73,9 +78,17 @@ } if ($old eq "-") -{ - $old = current_revision ($file); -} + { + $old = current_revision ($file); + } +elsif ($old =~ /^-(\d+)$/) + { + my $offset = $1; + $old = current_revision ($file); + die "Internal error" unless $old =~ /(.*)\.(\d+)$/; + my $minor = $2 - $offset; + $old = sprintf ("%d.%d", $1, $minor); + } while (@ARGV) {