[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: regression in C-x v = in latest versions
From: |
Glenn Morris |
Subject: |
Re: regression in C-x v = in latest versions |
Date: |
Sat, 25 Aug 2007 16:50:38 -0400 |
User-agent: |
Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) |
Paul Pogonyshev wrote:
> I understand that bugs in tetris are more important, but can anyone
> look at this? I still have the same problem with today's CVS.
This problem (only in the CVS trunk, therefore not relevant for Emacs
22.2, by the way) was introduced by Eric Raymond's 2007-07-18 change
to VC. The (rather ominous) cvs log entry reads only:
Put the lower half (the back-end) of NewVC in place. This commit
makes only the minimum changes needed to get the old vc.el logic
working with the new back ends.
You may get better response by complaining to him directly, since he
seem to be independent of these lists.
Anyway, it's caused by the removal of this code from vc-svn-diff:
(if (and oldvers (equal oldvers (vc-workfile-version file)))
;; Use nil rather than the current revision because svn
;; handles it better (i.e. locally).
(setq oldvers nil))
"file" has now been replaced by "files", a list. vc-workfile-version
can easily be generalized to accept a list of files as input, so
here's a possible patch. Though I don't understand how this is
supposed to work now.
*** vc-hooks.el 22 Aug 2007 20:18:34 -0700 1.206
--- vc-hooks.el 25 Aug 2007 13:34:14 -0700
***************
*** 549,559 ****
(defun vc-workfile-version (file)
"Return the repository version from which FILE was checked out.
! If FILE is not registered, this function always returns nil."
(or (vc-file-getprop file 'vc-workfile-version)
(if (vc-backend file)
(vc-file-setprop file 'vc-workfile-version
! (vc-call workfile-version file)))))
(defun vc-default-registered (backend file)
"Check if FILE is registered in BACKEND using vc-BACKEND-master-templates."
--- 549,562 ----
(defun vc-workfile-version (file)
"Return the repository version from which FILE was checked out.
! If FILE is not registered, this function always returns nil. If
! FILE is a list of files, return a list of repository versions."
! (if (listp file)
! (mapcar 'vc-workfile-version file)
(or (vc-file-getprop file 'vc-workfile-version)
(if (vc-backend file)
(vc-file-setprop file 'vc-workfile-version
! (vc-call workfile-version file))))))
(defun vc-default-registered (backend file)
"Check if FILE is registered in BACKEND using vc-BACKEND-master-templates."
*** vc-svn.el 25 Jul 2007 22:29:39 -0700 1.39
--- vc-svn.el 25 Aug 2007 13:33:46 -0700
***************
*** 399,404 ****
--- 399,413 ----
(defun vc-svn-diff (files &optional oldvers newvers buffer)
"Get a difference report using SVN between two versions of fileset FILES."
+ (if (and oldvers
+ (catch 'no
+ (dolist (v (vc-workfile-version files))
+ (or (equal oldvers v)
+ (throw 'no nil)))
+ t))
+ ;; Use nil rather than the current revision because svn handles it
+ ;; better (i.e. locally).
+ (setq oldvers nil))
(let* ((switches
(if vc-svn-diff-switches
(vc-switches 'SVN 'diff)
Re: regression in C-x v = in latest versions,
Glenn Morris <=
- Re: regression in C-x v = in latest versions, Paul Pogonyshev, 2007/08/25
- Re: regression in C-x v = in latest versions, Richard Stallman, 2007/08/25
- Re: regression in C-x v = in latest versions, Glenn Morris, 2007/08/25
- Re: regression in C-x v = in latest versions, Richard Stallman, 2007/08/26
- Re: regression in C-x v = in latest versions, Glenn Morris, 2007/08/27
Re: regression in C-x v = in latest versions, Stefan Monnier, 2007/08/25
Re: regression in C-x v = in latest versions, Richard Stallman, 2007/08/26
Re: regression in C-x v = in latest versions, Chong Yidong, 2007/08/26
Re: regression in C-x v = in latest versions, Richard Stallman, 2007/08/27
Re: regression in C-x v = in latest versions, Stefan Monnier, 2007/08/25