GNU bug report logs - #68174
30.0.50; Project and VC disagree about what repository we're in

Previous Next

Package: emacs;

Reported by: Sean Whitton <spwhitton <at> spwhitton.name>

Date: Sun, 31 Dec 2023 13:27:02 UTC

Severity: normal

Found in version 30.0.50

Fixed in version 30.1

Done: Dmitry Gutov <dmitry <at> gutov.dev>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Dmitry Gutov <dmitry <at> gutov.dev>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#68174: closed (30.0.50; Project and VC disagree about what
 repository we're in)
Date: Wed, 03 Jan 2024 00:14:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 3 Jan 2024 02:13:07 +0200
with message-id <08d721c2-905e-4818-8c87-b1de6481d0e6 <at> gutov.dev>
and subject line Re: bug#68174: 30.0.50; Project and VC disagree about what repository we're in
has caused the debbugs.gnu.org bug report #68174,
regarding 30.0.50; Project and VC disagree about what repository we're in
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
68174: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68174
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Sean Whitton <spwhitton <at> spwhitton.name>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; Project and VC disagree about what repository we're in
Date: Sun, 31 Dec 2023 13:26:06 +0000
X-debbugs-cc: juri <at> linkov.net

Hello,

1. emacs -q
2. (setopt vc-deduce-backend-nonvc-modes t)
3. C-x C-f ~/src/dotfiles/.emacs.d/init.el RET
4. C-x p p ~/src/emacs/ RET o C-x v L
5. (project-root (project-current)) => "~/src/emacs/"
6. C-x v +
   - git pull is attempted in ~/src/dotfiles/.

You're in a *vc-change-log* for emacs.git, and (project-current) returns
the correct project.  But C-x v + operates in ~/src/dotfiles/.

-- 
Sean Whitton


[Message part 3 (message/rfc822, inline)]
From: Dmitry Gutov <dmitry <at> gutov.dev>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: juri <at> linkov.net, 68174-done <at> debbugs.gnu.org, spwhitton <at> spwhitton.name
Subject: Re: bug#68174: 30.0.50; Project and VC disagree about what repository
 we're in
Date: Wed, 3 Jan 2024 02:13:07 +0200
Version: 30.1

On 02/01/2024 15:28, Eli Zaretskii wrote:
>> Date: Tue, 2 Jan 2024 15:10:53 +0200
>> Cc: 68174 <at> debbugs.gnu.org, juri <at> linkov.net
>> From: Dmitry Gutov <dmitry <at> gutov.dev>
>>
>> On 02/01/2024 10:55, Sean Whitton wrote:
>>>> This particular case though seems fixed with this patch, please test:
>>>>
>>>> diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
>>>> index 3cd835a9d6b..82051740b8f 100644
>>>> --- a/lisp/vc/vc.el
>>>> +++ b/lisp/vc/vc.el
>>>> @@ -1074,6 +1074,7 @@ vc-expand-dirs
>>>>
>>>>    (defvar vc-dir-backend)
>>>>    (defvar log-view-vc-backend)
>>>> +(defvar log-view-vc-fileset)
>>>>    (defvar log-edit-vc-backend)
>>>>    (defvar diff-vc-backend)
>>>>    (defvar diff-vc-revisions)
>>>> @@ -1155,6 +1156,8 @@ vc-deduce-fileset
>>>>    	      (vc-state buffer-file-name)
>>>>    	      (vc-checkout-model backend buffer-file-name))
>>>>    	(list backend (list buffer-file-name))))
>>>> +     ((derived-mode-p 'log-view-mode)
>>>> +      (list log-view-vc-backend log-view-vc-fileset))
>>>>         ((and (buffer-live-p vc-parent-buffer)
>>>>               ;; FIXME: Why this test?  --Stef
>>>>               (or (buffer-file-name vc-parent-buffer)
>>> Yup, that works, thanks!
>>
>> Very good.
>>
>> Eli, do you think we could add this to emacs-29 as well?
>>
>> It would help the users of 29.2 avoid the described bug when/if they
>> upgrade to the latest project.el. Probably not very urgent, but OTOH the
>> change looks pretty safe.
> 
> If it's safe, you'd need to convince me.  Because just by looking at
> it, I don't have a clear idea what else it could affect.

It's not a trivial transformation, but it's semantically sound: 
log-view-mode saves -- or one might say caches -- the backend and the 
fileset in its own variables locally (referenced in the diff above). The 
commands in log-view.el (of which there are several) use those vars 
rather than look up vc-parent-buffer, so the values should be correct.

> And the use
> case is pretty rare, AFAICT.  So I tend to be happier with this on
> master.

Ok, I'll push it to master for now.


This bug report was last modified 1 year and 136 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.