diff lisp/vc-svn.el @ 90294:c5406394f567

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-13 Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 43-57) - Update from CVS - Merge from erc--emacs--0 - Make constrain-to-field notice overlays - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 18-21) - Update from CVS - Merge from emacs--devo--0
author Miles Bader <miles@gnu.org>
date Wed, 08 Feb 2006 04:26:44 +0000
parents 7beb78bc1f8e 61cc95860e05
children 4b3d39451150
line wrap: on
line diff
--- a/lisp/vc-svn.el	Sun Feb 05 02:46:54 2006 +0000
+++ b/lisp/vc-svn.el	Wed Feb 08 04:26:44 2006 +0000
@@ -1,6 +1,6 @@
 ;;; vc-svn.el --- non-resident support for Subversion version-control
 
-;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  Stefan Monnier <monnier@gnu.org>
@@ -114,7 +114,7 @@
 					   (file-name-directory file)))
     (with-temp-buffer
       (cd (file-name-directory file))
-      (let ((status 
+      (let ((status
              (condition-case nil
                  ;; Ignore all errors.
                  (vc-svn-command t t file "status" "-v")
@@ -176,6 +176,23 @@
 	  ((eq svn-state 'needs-patch) "(patch)")
 	  ((eq svn-state 'needs-merge) "(merge)"))))
 
+(defun vc-svn-previous-version (file rev)
+  (let ((newrev (1- (string-to-number rev))))
+    (when (< 0 newrev)
+      (number-to-string newrev))))
+
+(defun vc-svn-next-version (file rev)
+  (let ((newrev (1+ (string-to-number rev))))
+    ;; The "workfile version" is an uneasy conceptual fit under Subversion;
+    ;; we use it as the upper bound until a better idea comes along.  If the
+    ;; workfile version W coincides with the tree's latest revision R, then
+    ;; this check prevents a "no such revision: R+1" error.  Otherwise, it
+    ;; inhibits showing of W+1 through R, which could be considered anywhere
+    ;; from gracious to impolite.
+    (unless (< (string-to-number (vc-file-getprop file 'vc-workfile-version))
+               newrev)
+      (number-to-string newrev))))
+
 
 ;;;
 ;;; State-changing functions