changeset 49428:0f80cb4f9d29

2003-01-25 Michael Kifer <kifer@cs.stonybrook.edu> * ediff.el (ediff-revision): better defaults. * ediff-vers.el (ediff-vc-latest-version): new function. (ediff-vc-internal): use latest version instead of working version.
author Michael Kifer <kifer@cs.stonybrook.edu>
date Sat, 25 Jan 2003 08:09:16 +0000
parents 5c89d088d737
children bb4e71346ae7
files lisp/ChangeLog lisp/ediff-vers.el lisp/ediff.el man/ediff.texi
diffstat 4 files changed, 33 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Jan 25 02:45:12 2003 +0000
+++ b/lisp/ChangeLog	Sat Jan 25 08:09:16 2003 +0000
@@ -1,3 +1,10 @@
+2003-01-25  Michael Kifer  <kifer@cs.stonybrook.edu>
+	
+        * ediff.el (ediff-revision): better defaults.
+	
+	* ediff-vers.el (ediff-vc-latest-version): new function.
+	(ediff-vc-internal): use latest version instead of working version.
+	
 2003-01-24  Thien-Thi Nguyen  <ttn@gnu.org>
 
 	* info.el (Info-extract-menu-node-name): When looking for end of menu
--- a/lisp/ediff-vers.el	Sat Jan 25 02:45:12 2003 +0000
+++ b/lisp/ediff-vers.el	Sat Jan 25 08:09:16 2003 +0000
@@ -52,12 +52,28 @@
 ;; end pacifier
       
 ;; VC.el support
+
+(defun ediff-vc-latest-version (file)
+  "Return the version level of the latest version of FILE in repository."
+  (if (fboundp 'vc-latest-version)
+      (vc-latest-version file)
+    (or (vc-file-getprop file 'vc-latest-version)
+	(cond ((vc-backend file)
+	       (vc-call state file)
+	       (vc-file-getprop file 'vc-latest-version))
+	      (t (error "File %s is not under version control" file))))
+    ))
+
+
 (defun ediff-vc-internal (rev1 rev2 &optional startup-hooks)
-;; Run Ediff on versions of the current buffer.
-;; If REV2 is "" then compare current buffer with REV1.
-;; If the current buffer is named `F', the version is named `F.~REV~'.
-;; If `F.~REV~' already exists, it is used instead of being re-created.
+  ;; Run Ediff on versions of the current buffer.
+  ;; If REV1 is "", use the latest version of the current buffer's file.
+  ;; If REV2 is "" then compare current buffer with REV1.
+  ;; If the current buffer is named `F', the version is named `F.~REV~'.
+  ;; If `F.~REV~' already exists, it is used instead of being re-created.
   (let (file1 file2 rev1buf rev2buf)
+    (if (string= rev1 "") 
+	(setq rev1 (ediff-vc-latest-version (buffer-file-name))))
     (save-window-excursion
       (save-excursion
 	(vc-version-other-window rev1)
--- a/lisp/ediff.el	Sat Jan 25 02:45:12 2003 +0000
+++ b/lisp/ediff.el	Sat Jan 25 08:09:16 2003 +0000
@@ -1,13 +1,13 @@
 ;;; ediff.el --- a comprehensive visual interface to diff & patch
 
-;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02, 03 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Created: February 2, 1994
 ;; Keywords: comparing, merging, patching, tools, unix
 
-(defconst ediff-version "2.77" "The current version of Ediff")
-(defconst ediff-date "March 5, 2002" "Date of last update")  
+(defconst ediff-version "2.78" "The current version of Ediff")
+(defconst ediff-date "January 25, 2003" "Date of last update")  
 
 
 ;; This file is part of GNU Emacs.
@@ -1353,11 +1353,11 @@
   (let (rev1 rev2)
     (setq rev1
 	  (read-string
-	   (format "Version 1 to compare (default: %s's working version): "
+	   (format "Revision 1 to compare (default: %s's latest revision): "
 		   (file-name-nondirectory file)))
 	  rev2
 	  (read-string 
-	   (format "Version 2 to compare (default: %s): "
+	   (format "Revision 2 to compare (default: %s's current state): "
 		   (file-name-nondirectory file))))
     (ediff-load-version-control)
     (funcall
--- a/man/ediff.texi	Sat Jan 25 02:45:12 2003 +0000
+++ b/man/ediff.texi	Sat Jan 25 08:09:16 2003 +0000
@@ -2434,6 +2434,7 @@
 David Prince (dave0d@@fegs.co.uk),
 Paul Raines (raines@@slac.stanford.edu),
 Stefan Reicher (xsteve@@riic.at),
+Charles Rich (rich@@merl.com),
 Bill Richter (richter@@math.nwu.edu),
 C.S.@: Roberson (roberson@@aur.alcatel.com),
 Kevin Rodgers (kevin.rodgers@@ihs.com),