Subject: Re: bug#2157: 23.0.90; bzr support: vc-diff doesn't work with prefix argument on unchanged files

From: Dan Nicolaescu <[email-masked]>
Date: Wed, 4 Feb 2009 07:48:10 -0800 (PST)

Torsten Bronger <[email-masked]> writes:

  > Hallöchen!
  > 
  > Dan Nicolaescu writes:
  > 
  > > Torsten Bronger <[email-masked]> writes:
  > >
  > > [...]
  > >
  > >> By the way, bug#618 is probably related to this.  Formerly, I had
  > >> missing revno in the modeline only in lightweight checkout, now I
  > >> have the same problem with all branches.  Maybe the branch
  > >> metadata format has diverged too much for vc-bzr?
  > >
  > > Is this still a problem now?  If it is and you can describe how to
  > > get a "lightweight checkout", it might be easy to fix.
  > 
  > It works for branches now but not for lightweight checkouts.  You
  > get a lightweight checkout with "bzr checkout --leightweight". LCs
  > don't have the file ".bzr/branch/last-revision", so unless you can
  > get the revno info from another file (I don't think you can), you
  > have to fork a Bazaar process.

It looks like the lightweight checkout contains a .bzr/branch/location
file that is not present in a normal one.   So that could be used to
differentiate between the two, like here:

--- vc-bzr.el.~1.74.~ Wed Feb  4 05:54:29 2009
+++ vc-bzr.el         Wed Feb  4 07:43:07 2009
@@ -327,7 +327,12 @@
        (lastrev-file (expand-file-name vc-bzr-admin-lastrev rootdir)))
     ;; This looks at internal files to avoid forking a bzr process.
     ;; May break if they change their format.
-    (if (file-exists-p branch-format-file)
+    (if (and 
+     (file-exists-p branch-format-file)
+      (not (file-exists-p 
+             (expand-file-name
+               (concat vc-bzr-admin-dirname
+                               "/branch/location") rootdir))))
         (with-temp-buffer
           (insert-file-contents branch-format-file)
           (goto-char (point-min))