# HG changeset patch # User Thien-Thi Nguyen # Date 1139241377 0 # Node ID 61cc95860e058e8773b157aaca326bbc64bea213 # Parent 2c98a2211785ed0759b0fbf03f720179d0048a88 (vc-svn-previous-version, vc-svn-next-version): New funcs. diff -r 2c98a2211785 -r 61cc95860e05 lisp/vc-svn.el --- a/lisp/vc-svn.el Mon Feb 06 15:28:38 2006 +0000 +++ b/lisp/vc-svn.el Mon Feb 06 15:56:17 2006 +0000 @@ -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