GNU bug report logs -
#3214
23.0.92; VC dir mode fails after commit when files are deleted
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 3214 in the body.
You can then email your comments to 3214 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#3214
; Package
emacs
.
(Mon, 04 May 2009 22:45:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Bob Rogers <rogers-emacs <at> rgrjr.dyndns.org>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Mon, 04 May 2009 22:45:04 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
To reproduce:
1. Find or create a working copy of a repository, and identify a
file that you want to remove from the repo, call it "foo.text". (I used
SVN, but the problem doesn't seem to be backend-dependent.) You will
need to commit in order to trigger the bug, so be sure you really don't
mind getting rid of it.
2. "emacs -Q" in the working copy.
3. "C-x C-f foo.text RET". The deleted file must be visited in
order to trigger the bug.
4. Remove the file via the VC command-line tools, but don't commmit
yet. (Don't use vc-delete-file, as that will also delete the buffer.)
5. "C-x v d" to get VC dir mode in the other window. It should tag
foo.text as "removed". (FWIW, if you do "C-x v d" first, you will see
bug #3213.)
6. Type "v" on the foo.text line, then "C-c C-c" in the log entry
buffer to commit the change. You should then get a "File foo.text no
longer exists!" error. A sample backtrace is shown below.
The patch after the backtrace cures the symptom crudely, albeit by
papering over it, and possibly hiding other bugs. It would be better if
vc-finish-logentry could recognize which files are being deleted, and
then have vc-resynch-buffer simply delete those buffers, but it is not
clear to me how to do that in a backend-independent way.
Admittedly, this is a comparatively minor nuisance; the VC change is
comitted properly, and the partially-updated VC-dir buffer can be fixed
by typing "g". (And I don't know whether this is a regression.)
-- Bob Rogers
http://www.rgrjr.com/
Backtrace:
Debugger entered--Lisp error: (error "File /home/rogers/projects/test2/test/foo.text no longer exists!")
signal(error ("File /home/rogers/projects/test2/test/foo.text no longer exists!"))
error("File %s no longer exists!" "/home/rogers/projects/test2/test/foo.text")
revert-buffer(t t t)
vc-revert-buffer-internal(t t)
vc-resynch-window("/home/rogers/projects/test2/test/foo.text" t t)
vc-resynch-buffer("/home/rogers/projects/test2/test/foo.text" t t)
#[(file) "=3fffc2 =3fffc3#=3fff87" [file vc-keep-workfiles vc-resynch-buffer t] 4]("/home/rogers/projects/test2/test/foo.text")
mapc(#[(file) "=3fffc2 =3fffc3#=3fff87" [file vc-keep-workfiles vc-resynch-buffer t] 4] ("/home/rogers/projects/test2/test/foo.text"))
vc-finish-logentry()
call-interactively(vc-finish-logentry)
log-edit-done()
call-interactively(log-edit-done nil nil)
------------------------------------------------------------------------
Index: lisp/vc-dispatcher.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc-dispatcher.el,v
retrieving revision 1.67
diff -c -r1.67 vc-dispatcher.el
*** lisp/vc-dispatcher.el 5 Jan 2009 03:19:52 -0000 1.67
--- lisp/vc-dispatcher.el 4 May 2009 19:29:54 -0000
***************
*** 444,453 ****
;; and mark properly even in cases where vc-restore-buffer-context
;; would fail. However, save-excursion might also get it wrong --
;; in this case, vc-restore-buffer-context gives it a second try.
! (save-excursion
! ;; t means don't call normal-mode;
! ;; that's to preserve various minor modes.
! (revert-buffer arg no-confirm t))
(vc-restore-buffer-context context)))
(defun vc-resynch-window (file &optional keep noquery)
--- 444,457 ----
;; and mark properly even in cases where vc-restore-buffer-context
;; would fail. However, save-excursion might also get it wrong --
;; in this case, vc-restore-buffer-context gives it a second try.
! (condition-case error
! (save-excursion
! ;; t means don't call normal-mode;
! ;; that's to preserve various minor modes.
! (revert-buffer arg no-confirm t))
! (error
! (message "Got error %S" error)
! (sit-for 2)))
(vc-restore-buffer-context context)))
(defun vc-resynch-window (file &optional keep noquery)
------------------------------------------------------------------------
In GNU Emacs 23.0.92.1 (i686-pc-linux-gnu, GTK+ Version 2.12.9)
of 2009-04-24 on rgr
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
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: en_US.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
Major mode: Debugger
Minor modes in effect:
diff-auto-refine-mode: t
shell-dirtrack-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
Information forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#3214
; Package
emacs
.
(Wed, 20 Jan 2010 03:59:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 3214 <at> debbugs.gnu.org (full text, mbox):
Just had what seems to be a same problem as this (bug#3214) with the
trunk from 2010-01-10.
In the emacs admin/ directory, I did (from the command-line):
bzr remove revdiff
Then I edited the ChangeLog file, then did M-x vc-dir on the admin
directory.
In the resulting buffer, the ChangeLog was marked as modified, and
revdiff as removed.
I marked both files, hit `v', entered a log message, and tried to
commit. The vc-dir process finished with an error:
Running bzr status ChangeLog in foreground...
Running bzr status ChangeLog...OK = 0
Running bzr status revdiff in foreground...
vc-do-command: Running bzr status revdiff...FAILED (status 3)
Matches vc-do-command: Running bzr status revdiff...FAILED (... [-1-]
I'm left with a vc-dir buffer which looks like:
* up-to-date ChangeLog
* removed revdiff
However, the commit to the repository did complete OK.
Information forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#3214
; Package
emacs
.
(Wed, 20 Jan 2010 07:17:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 3214 <at> debbugs.gnu.org (full text, mbox):
Glenn Morris <rgm <at> gnu.org> writes:
> Just had what seems to be a same problem as this (bug#3214) with the
> trunk from 2010-01-10.
>
> In the emacs admin/ directory, I did (from the command-line):
>
> bzr remove revdiff
>
> Then I edited the ChangeLog file, then did M-x vc-dir on the admin
> directory.
>
> In the resulting buffer, the ChangeLog was marked as modified, and
> revdiff as removed.
>
> I marked both files, hit `v', entered a log message, and tried to
> commit. The vc-dir process finished with an error:
>
> Running bzr status ChangeLog in foreground...
> Running bzr status ChangeLog...OK = 0
> Running bzr status revdiff in foreground...
> vc-do-command: Running bzr status revdiff...FAILED (status 3)
> Matches vc-do-command: Running bzr status revdiff...FAILED (... [-1-]
We get to vc-do-command like this:
vc-bzr-state -> vc-bzr-status -> vc-bzr-command -> vc-do-command
vc-bzr-command is passed a 0 for OKSTATUS.
but
bzr status revdiff
returns 3, that is why the message above is printed.
Changing that 0 to 3 helps, but then vc-bzr-state prints
"bzr: ERROR: Path(s) do not exist: revdiff".
Maybe we can make vc-bzr-status ignore that message.
I'd like to get a second opinion before making the 2 changes above (0->3
and ignore the error message).
> I'm left with a vc-dir buffer which looks like:
>
> * up-to-date ChangeLog
> * removed revdiff
>
> However, the commit to the repository did complete OK.
The calls above occur after the checkin has been completed.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#3214
; Package
emacs
.
(Sun, 15 Oct 2023 10:35:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 3214 <at> debbugs.gnu.org (full text, mbox):
Bob Rogers <rogers-emacs <at> rgrjr.dyndns.org> writes:
> To reproduce:
>
> 1. Find or create a working copy of a repository, and identify a
> file that you want to remove from the repo, call it "foo.text". (I used
> SVN, but the problem doesn't seem to be backend-dependent.) You will
> need to commit in order to trigger the bug, so be sure you really don't
> mind getting rid of it.
>
> 2. "emacs -Q" in the working copy.
>
> 3. "C-x C-f foo.text RET". The deleted file must be visited in
> order to trigger the bug.
>
> 4. Remove the file via the VC command-line tools, but don't commmit
> yet. (Don't use vc-delete-file, as that will also delete the buffer.)
>
> 5. "C-x v d" to get VC dir mode in the other window. It should tag
> foo.text as "removed". (FWIW, if you do "C-x v d" first, you will see
> bug #3213.)
>
> 6. Type "v" on the foo.text line, then "C-c C-c" in the log entry
> buffer to commit the change. You should then get a "File foo.text no
> longer exists!" error. A sample backtrace is shown below.
>
I tried to reproduce this bug, but couldn't. I tried with svn and with
git, and didn't get an error.
I also tried the recipe in Emacs 27.1 (the oldest one I have available
here), and still wasn't able to reproduce it.
Are you still seeing this?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#3214
; Package
emacs
.
(Sat, 21 Oct 2023 01:31:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 3214 <at> debbugs.gnu.org (full text, mbox):
From: Mauro Aranda <maurooaranda <at> gmail.com>
Date: Sun, 15 Oct 2023 07:34:09 -0300
I tried to reproduce this bug, but couldn't. I tried with svn and with
git, and didn't get an error.
I also tried the recipe in Emacs 27.1 (the oldest one I have available
here), and still wasn't able to reproduce it.
Are you still seeing this?
No, at least not in current master with git. Feel free to close it.
(I'd totally forgotten about this.)
-- Bob
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#3214
; Package
emacs
.
(Sat, 21 Oct 2023 10:23:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 3214 <at> debbugs.gnu.org (full text, mbox):
On 20/10/23 22:29, Bob Rogers wrote:
> From: Mauro Aranda <maurooaranda <at> gmail.com>
> Date: Sun, 15 Oct 2023 07:34:09 -0300
>
> I tried to reproduce this bug, but couldn't. I tried with svn and
with
> git, and didn't get an error.
>
> I also tried the recipe in Emacs 27.1 (the oldest one I have available
> here), and still wasn't able to reproduce it.
>
> Are you still seeing this?
>
> No, at least not in current master with git. Feel free to close it.
> (I'd totally forgotten about this.)
>
> -- Bob
Thanks for checking. I'm inclined to leave it open a while longer and
see if anyone interested can reproduce it, maybe with some other
backend.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#3214
; Package
emacs
.
(Sat, 21 Oct 2023 10:38:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 3214 <at> debbugs.gnu.org (full text, mbox):
tags 3214 + fixed
thanks
Mauro Aranda <maurooaranda <at> gmail.com> writes:
> Thanks for checking. I'm inclined to leave it open a while longer and
> see if anyone interested can reproduce it, maybe with some other
> backend.
I think we can probably close it, given that it's been open for 14 years
already. If anyone wants to test with other backends, they will have 30
days to reply back before a closed bug is archived.
BTW, thanks everyone for triaging and paying attention to these very old
bug reports. That is much appreciated.
Added tag(s) fixed.
Request was from
Stefan Kangas <stefankangas <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Sat, 21 Oct 2023 10:38:03 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#3214
; Package
emacs
.
(Sat, 21 Oct 2023 11:25:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 3214 <at> debbugs.gnu.org (full text, mbox):
close 3214
quit
On 21/10/23 07:36, Stefan Kangas wrote:
> tags 3214 + fixed
> thanks
>
> Mauro Aranda <maurooaranda <at> gmail.com> writes:
>
>> Thanks for checking. I'm inclined to leave it open a while longer and
>> see if anyone interested can reproduce it, maybe with some other
>> backend.
>
> I think we can probably close it, given that it's been open for 14 years
> already. If anyone wants to test with other backends, they will have 30
> days to reply back before a closed bug is archived.
>
No objections from me. Everyone, feel free to reopen if you find a way
to reproduce it.
bug closed, send any further explanations to
3214 <at> debbugs.gnu.org and Bob Rogers <rogers-emacs <at> rgrjr.dyndns.org>
Request was from
Mauro Aranda <maurooaranda <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Sat, 21 Oct 2023 11:25:03 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 18 Nov 2023 12:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 174 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.