emacs-diffs
[Top][All Lists]
Advanced

[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"))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]