* 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-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
;; 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)
;;; 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.
(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
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),