[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vc-arch.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc-arch.el,v |
Date: |
Fri, 20 Jul 2007 20:02:34 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 07/07/20 20:02:34
Index: vc-arch.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc-arch.el,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- vc-arch.el 18 Jul 2007 16:31:56 -0000 1.29
+++ vc-arch.el 20 Jul 2007 20:02:32 -0000 1.30
@@ -386,10 +386,15 @@
(defun vc-arch-diff (files &optional oldvers newvers buffer)
"Get a difference report using Arch between two versions of FILES."
- ;; FIXME: This implementation probably only works for singleton filesets
+ ;; FIXME: This implementation only works for singleton filesets. To make
+ ;; it work for more cases, we have to either call `file-diffs' manually on
+ ;; each and every `file' in the fileset, or use `changes --diffs' (and
+ ;; variants) and maybe filter the output with `filterdiff' to only include
+ ;; the files in which we're interested.
+ (let ((file (car files)))
(if (and newvers
(vc-up-to-date-p file)
- (equal newvers (vc-workfile-version (car files))))
+ (equal newvers (vc-workfile-version file)))
;; Newvers is the base revision and the current file is unchanged,
;; so we can diff with the current file.
(setq newvers nil))
@@ -397,7 +402,7 @@
(error "Diffing specific revisions not implemented")
(let* ((async (and (not vc-disable-async-diff) (fboundp 'start-process)))
;; Run the command from the root dir.
- (default-directory (vc-arch-root (car files)))
+ (default-directory (vc-arch-root file))
(status
(vc-arch-command
(or buffer "*vc-diff*")
@@ -405,11 +410,11 @@
nil "file-diffs"
;; Arch does not support the typical flags.
;; (vc-switches 'Arch 'diff)
- (mapcar 'file-relative-name files)
- (if (equal oldvers (vc-workfile-version (car files)))
+ (file-relative-name file)
+ (if (equal oldvers (vc-workfile-version file))
nil
oldvers))))
- (if async 1 status)))) ; async diff, pessimistic assumption.
+ (if async 1 status))))) ; async diff, pessimistic
assumption.
(defun vc-arch-delete-file (file)
(vc-arch-command nil 0 file "rm"))