Mercurial > emacs
changeset 39132:570be39418f4
Allow -<number> for OLD.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Wed, 05 Sep 2001 08:02:18 +0000 |
parents | 544f85c0de57 |
children | e573c7f532dd |
files | admin/revdiff |
diffstat | 1 files changed, 19 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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 +<number> -or -<number>, build diffs between revisions OLD and OLD +/- <number>. -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 +`-<number>', use the Nth revision before the current one for OLD. + +If NEW is +<number> or -<number>, build diffs between revisions OLD +and OLD +/- <number>. 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) {