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-bzr.el,v [EMACS_22_BASE]


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/vc-bzr.el,v [EMACS_22_BASE]
Date: Thu, 02 Aug 2007 17:08:56 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Branch:         EMACS_22_BASE
Changes by:     Stefan Monnier <monnier>        07/08/02 17:08:55

Index: vc-bzr.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc-bzr.el,v
retrieving revision 1.11.2.2
retrieving revision 1.11.2.3
diff -u -b -r1.11.2.2 -r1.11.2.3
--- vc-bzr.el   31 Jul 2007 15:26:04 -0000      1.11.2.2
+++ vc-bzr.el   2 Aug 2007 17:08:52 -0000       1.11.2.3
@@ -105,25 +105,39 @@
     (apply 'vc-do-command buffer okstatus vc-bzr-program
            file-or-list bzr-command (append vc-bzr-program-args args))))
 
-
 ;;;###autoload
-(defconst vc-bzr-admin-dirname ".bzr")    ; FIXME: "_bzr" on w32?
+(defconst vc-bzr-admin-dirstate ".bzr/checkout/dirstate") ; "_bzr" on w32??
 
 ;;;###autoload (defun vc-bzr-registered (file)
-;;;###autoload   (if (vc-find-root file vc-bzr-admin-dirname)
+;;;###autoload   (if (vc-find-root file vc-bzr-admin-dirstate)
 ;;;###autoload       (progn
 ;;;###autoload         (load "vc-bzr")
 ;;;###autoload         (vc-bzr-registered file))))
-
 (defun vc-bzr-root-dir (file)
   "Return the root directory in the hierarchy above FILE.
 Return nil if there isn't one."
-  (vc-find-root file vc-bzr-admin-dirname))
+  (vc-find-root file vc-bzr-admin-dirstate))
 
 (defun vc-bzr-registered (file)
   "Return non-nil if FILE is registered with bzr."
-  (if (vc-bzr-root-dir file) ; Short cut.
-      (vc-bzr-state file)))                    ; Expensive.
+  (let ((root (vc-bzr-root-dir file)))
+    (and root ; Short cut.
+         ;; This looks at internal files.  May break if they change
+         ;; their format.
+         (with-temp-buffer
+           (insert-file-contents
+            (expand-file-name vc-bzr-admin-dirstate root))
+           (goto-char (point-min))
+           (let* ((relfile (file-relative-name file root))
+                  (reldir (file-name-directory relfile)))
+             (re-search-forward
+              (concat "^"
+                      (if reldir (regexp-quote (directory-file-name reldir)))
+                      ""
+                      (regexp-quote (file-name-nondirectory relfile))
+                      "")
+              nil t)))
+         (vc-bzr-state file))))         ; Expensive.
 
 (defun vc-bzr-buffer-nonblank-p (&optional buffer)
   "Return non-nil if BUFFER contains any non-blank characters."




reply via email to

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