GNU bug report logs -
#2157
23.0.90; bzr support: vc-diff doesn't work with prefix argument on unchanged files
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 2157 in the body.
You can then email your comments to 2157 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Mon, 02 Feb 2009 10:10:05 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Torsten Bronger <bronger <at> physik.rwth-aachen.de>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Mon, 02 Feb 2009 10:10:05 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
If I visit an unchanged file under bzr revision control, i.e. the modeline says
"Bzr-" (NOT "Bzr:"), I can't use C-u C-x v =, i.e. vc-diff but with explicit
revision parameters. The error message is:
vc-bzr-previous-revision: Wrong type argument: stringp, nil
In GNU Emacs 23.0.90.1 (x86_64-unknown-linux-gnu)
of 2009-02-02 on wilson
Windowing system distributor `The Cygwin/X Project', version 11.0.60899901
configured using `configure '--prefix=/usr/local/' '--mandir=/usr/local/share/man/' '--infodir=/usr/local/share/info/' '--with-x-toolkit=no' '--with-xpm' '--with-jpeg' '--with-tiff' '--with-gif' '--with-png' '--with-x''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: de_DE.utf8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
Major mode: Python
Minor modes in effect:
diff-auto-refine-mode: t
global-auto-revert-mode: t
savehist-mode: t
display-time-mode: t
desktop-save-mode: t
mouse-wheel-mode: t
global-font-lock-mode: t
font-lock-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Mon, 02 Feb 2009 20:15:03 GMT)
Full text and
rfc822 format available.
Message #8 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
> If I visit an unchanged file under bzr revision control, i.e. the modeline says
> "Bzr-" (NOT "Bzr:"), I can't use C-u C-x v =, i.e. vc-diff but with explicit
> revision parameters. The error message is:
>
> vc-bzr-previous-revision: Wrong type argument: stringp, nil
I can't reproduce this on my GNU/Linux machine.
What version of bzr are you using?
Can you do: Options / Enter debugger on error
and then please email here the contents of the *Backtrace* buffer that
appears when the error occurs.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Mon, 02 Feb 2009 20:45:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Torsten Bronger <bronger <at> physik.rwth-aachen.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Mon, 02 Feb 2009 20:45:03 GMT)
Full text and
rfc822 format available.
Message #13 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Hallöchen!
Dan Nicolaescu writes:
> Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
>
>> If I visit an unchanged file under bzr revision control, i.e. the
>> modeline says "Bzr-" (NOT "Bzr:"), I can't use C-u C-x v =,
>> i.e. vc-diff but with explicit revision parameters. The error
>> message is:
>>
>> vc-bzr-previous-revision: Wrong type argument: stringp, nil
>
> I can't reproduce this on my GNU/Linux machine. What version of
> bzr are you using?
1.11
> Can you do: Options / Enter debugger on error and then please
> email here the contents of the *Backtrace* buffer that appears
> when the error occurs.
I hope this is what you need:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
string-match("\\`[0-9]+\\'" nil)
vc-bzr-previous-revision("/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py" nil)
apply(vc-bzr-previous-revision ("/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py" nil))
vc-call-backend(Bzr previous-revision "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py" nil)
(setq rev1-default (vc-call-backend backend (quote previous-revision) first (vc-working-revision first)))
(cond ((/= ... 1) nil) ((file-directory-p first) nil) ((not ...) (setq rev1-default ...)) (t (setq rev1-default ...) (when ... ...) (setq rev2-default ...)))
(let* ((vc-fileset ...) (files ...) (backend ...) (first ...) (completion-table ...) (rev1-default nil) (rev2-default nil)) (cond (... nil) (... nil) (... ...) (t ... ... ...)) (let* (... ... ... ...) (when ... ...) (when ... ...) (list files rev1 rev2)))
call-interactively(vc-version-diff)
vc-diff((4) t)
call-interactively(vc-diff nil nil)
Tschö,
Torsten.
--
Torsten Bronger, aquisgrana, europa vetus
Jabber ID: torsten.bronger <at> jabber.rwth-aachen.de
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Mon, 02 Feb 2009 22:45:04 GMT)
Full text and
rfc822 format available.
Message #16 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
> Hallöchen!
>
> Dan Nicolaescu writes:
>
> > Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
> >
> >> If I visit an unchanged file under bzr revision control, i.e. the
> >> modeline says "Bzr-" (NOT "Bzr:"), I can't use C-u C-x v =,
> >> i.e. vc-diff but with explicit revision parameters. The error
> >> message is:
> >>
> >> vc-bzr-previous-revision: Wrong type argument: stringp, nil
> >
> > I can't reproduce this on my GNU/Linux machine. What version of
> > bzr are you using?
>
> 1.11
>
> > Can you do: Options / Enter debugger on error and then please
> > email here the contents of the *Backtrace* buffer that appears
> > when the error occurs.
>
> I hope this is what you need:
>
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> string-match("\\`[0-9]+\\'" nil)
> vc-bzr-previous-revision("/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py" nil)
> apply(vc-bzr-previous-revision ("/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py" nil))
> vc-call-backend(Bzr previous-revision "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py" nil)
> (setq rev1-default (vc-call-backend backend (quote previous-revision) first (vc-working-revision first)))
This shows that (vc-working-revision "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py")
returns nil. So probably for some reason
(vc-bzr-working-revision "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py")
returns nil. Can you try to debug why that happens?
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Tue, 03 Feb 2009 07:45:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Torsten Bronger <bronger <at> physik.rwth-aachen.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Tue, 03 Feb 2009 07:45:03 GMT)
Full text and
rfc822 format available.
Message #21 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Hallöchen!
Dan Nicolaescu writes:
> Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
>
>> Dan Nicolaescu writes:
>>
>>> Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
>>>
>>>> If I visit an unchanged file under bzr revision control,
>>>> i.e. the modeline says "Bzr-" (NOT "Bzr:"), I can't use C-u C-x
>>>> v =, i.e. vc-diff but with explicit revision parameters. The
>>>> error message is:
>>>>
>>>> vc-bzr-previous-revision: Wrong type argument: stringp, nil
>
> [...]
>
> This shows that (vc-working-revision
> "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py")
>
> returns nil. So probably for some reason
> (vc-bzr-working-revision
> "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py")
>
> returns nil. Can you try to debug why that happens?
I don't know Lisp, but I hooked into the bzr executable and can
safely say that it isn't called for this action. So apparently,
vc-bzr-working-revision tries to get the revno from the metadata in
the .bzr/ directory. The branch format is "Bazaar Branch Format 7
(needs bzr 1.6)".
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?
Tschö,
Torsten.
--
Torsten Bronger, aquisgrana, europa vetus
Jabber ID: torsten.bronger <at> jabber.rwth-aachen.de
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Tue, 03 Feb 2009 07:55:05 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Torsten Bronger <bronger <at> physik.rwth-aachen.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Tue, 03 Feb 2009 07:55:05 GMT)
Full text and
rfc822 format available.
Message #26 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Hallöchen!
Dan Nicolaescu writes:
> [...]
>
> This shows that (vc-working-revision
> "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py")
>
> returns nil. So probably for some reason
> (vc-bzr-working-revision
> "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py")
>
> returns nil. Can you try to debug why that happens?
I removed the interpretation of the meta data and fork a bzr process
always by pruning the routine to:
(defun vc-bzr-working-revision (file)
;; Together with the code in vc-state-heuristic, this makes it possible
;; to get the initial VC state of a Bzr file even if Bzr is not installed.
(lexical-let*
((rootdir (vc-bzr-root file))
(branch-format-file (expand-file-name vc-bzr-admin-branch-format-file
rootdir))
(revhistory-file (expand-file-name vc-bzr-admin-revhistory rootdir))
(lastrev-file (expand-file-name vc-bzr-admin-lastrev rootdir)))
(lexical-let*
((result (vc-bzr-command-discarding-stderr
vc-bzr-program "revno" (file-relative-name file)))
(exitcode (car result))
(output (cdr result)))
(cond
((eq exitcode 0) (substring output 0 -1))
(t nil)))))
This works perfectly, i.e. I see revision numbers always (even for
lightweight checkouts) and it solves this bug. However, it is a
lazy and provisional solution because it's much less efficient.
Tschö,
Torsten.
--
Torsten Bronger, aquisgrana, europa vetus
Jabber ID: torsten.bronger <at> jabber.rwth-aachen.de
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Wed, 04 Feb 2009 07:50:03 GMT)
Full text and
rfc822 format available.
Message #29 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
> Hallöchen!
>
> Dan Nicolaescu writes:
>
> > Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
> >
> >> Dan Nicolaescu writes:
> >>
> >>> Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
> >>>
> >>>> If I visit an unchanged file under bzr revision control,
> >>>> i.e. the modeline says "Bzr-" (NOT "Bzr:"), I can't use C-u C-x
> >>>> v =, i.e. vc-diff but with explicit revision parameters. The
> >>>> error message is:
> >>>>
> >>>> vc-bzr-previous-revision: Wrong type argument: stringp, nil
> >
> > [...]
> >
> > This shows that (vc-working-revision
> > "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py")
> >
> > returns nil. So probably for some reason
> > (vc-bzr-working-revision
> > "/home/bronger/src/chantal/current/chantal/samples/remote_client/la2chantal.py")
> >
> > returns nil. Can you try to debug why that happens?
>
> I don't know Lisp, but I hooked into the bzr executable and can
> safely say that it isn't called for this action. So apparently,
> vc-bzr-working-revision tries to get the revno from the metadata in
> the .bzr/ directory. The branch format is "Bazaar Branch Format 7
> (needs bzr 1.6)".
Thanks, I checked in a fix for that.
> 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.
If you want to look into this yourself, vc-bzr-working-revision is the
function that should get the version number.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Wed, 04 Feb 2009 08:40:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Torsten Bronger <bronger <at> physik.rwth-aachen.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Wed, 04 Feb 2009 08:40:04 GMT)
Full text and
rfc822 format available.
Message #34 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Hallöchen!
Dan Nicolaescu writes:
> Torsten Bronger <bronger <at> physik.rwth-aachen.de> 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.
Tschö,
Torsten.
--
Torsten Bronger, aquisgrana, europa vetus
Jabber ID: torsten.bronger <at> jabber.rwth-aachen.de
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Wed, 04 Feb 2009 15:55:04 GMT)
Full text and
rfc822 format available.
Message #37 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Torsten Bronger <bronger <at> physik.rwth-aachen.de> writes:
> Hallöchen!
>
> Dan Nicolaescu writes:
>
> > Torsten Bronger <bronger <at> physik.rwth-aachen.de> 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))
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#2157
; Package
emacs
.
(Wed, 04 Feb 2009 17:15:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Torsten Bronger <bronger <at> physik.rwth-aachen.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Wed, 04 Feb 2009 17:15:03 GMT)
Full text and
rfc822 format available.
Message #42 received at 2157 <at> emacsbugs.donarmstrong.com (full text, mbox):
Hallöchen!
Dan Nicolaescu writes:
> [...]
>
> 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))
This probably works, however, even better is to check whether the
"location" starts with "file://" and then look there. Maybe one can
just call the function recursively just with another "file"
parameter (must "file" exist actually?). If "location" doesn't
start with "file://", do the fallback.
The Bazaar documentation explicitly says that lightweight checkouts
should be done only locally. For example, you can use them to
switch efficiently between locally stored branches. Therefore, one
can expect "file://" in most cases indeed.
I use to have many files open (40+), and when I start Emacs, I can
see a significant CPU usage of bzr processes now, thus my concern.
Tschö,
Torsten.
--
Torsten Bronger, aquisgrana, europa vetus
Jabber ID: torsten.bronger <at> jabber.rwth-aachen.de
bug reassigned from package `emacs' to `emacs,vc'.
Request was from
Juanma Barranquero <lekktu <at> gmail.com>
to
control <at> emacsbugs.donarmstrong.com
.
(Tue, 17 Mar 2009 09:30:03 GMT)
Full text and
rfc822 format available.
Reply sent
to
Dan Nicolaescu <dann <at> ics.uci.edu>
:
You have taken responsibility.
(Mon, 23 Mar 2009 16:35:03 GMT)
Full text and
rfc822 format available.
Notification sent
to
Torsten Bronger <bronger <at> physik.rwth-aachen.de>
:
bug acknowledged by developer.
(Mon, 23 Mar 2009 16:35:03 GMT)
Full text and
rfc822 format available.
Message #49 received at 2157-done <at> emacsbugs.donarmstrong.com (full text, mbox):
I checked in a patch for this.
Thanks.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> emacsbugs.donarmstrong.com
.
(Tue, 21 Apr 2009 14:24:13 GMT)
Full text and
rfc822 format available.
This bug report was last modified 16 years and 146 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.