GNU bug report logs - #78819
31.0.50; Inconsistent behavior of vc commands in various major modes

Previous Next

Package: emacs;

Reported by: Kristoffer Balintona <krisbalintona <at> gmail.com>

Date: Tue, 17 Jun 2025 22:21:02 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Kristoffer Balintona <krisbalintona <at> gmail.com>, Sean Whitton <spwhitton <at> spwhitton.name>
Cc: 78819 <at> debbugs.gnu.org
Subject: bug#78819: 31.0.50; Inconsistent behavior of vc commands in various major modes
Date: Sat, 28 Jun 2025 12:20:36 +0300
> From: Kristoffer Balintona <krisbalintona <at> gmail.com>
> Date: Tue, 17 Jun 2025 15:19:57 -0700
> 
> Hi,
> 
> I noticed that in vc-dir buffers the behavior of certain commands are
> inconsistent with respect to which backend is used. That is, some
> commands operate according to the backend returned by
> `vc-deduce-backend’ while others operate according to the backend
> returned by `vc-responsible-backend’. I will explain below.
> 
> (After looking into it, I realized that this also effects other major
> modes specially considered by `vc-deduce-backend’, which vc-dir-mode is
> just one of. They include: log-view-mode, log-edit-mode, diff-mode, and
> the modes specified in `vc-deduce-backend-nonvc-modes’. Although the
> explanation below is written with the behavior specifically in vc-dir
> buffers, it should also apply to the other major modes I’ve listed
> above.)
> 
> The difference in vc-dir buffers is that `vc-deduce-backend’ considers
> the backend associated with the current vc-dir buffer, whereas
> `vc-responsible-backend’ takes in a file and infers the backend
> associated with it. Most of the time these two should be the same, but
> not always: sometimes users may call `vc-dir’ with a universal argument
> to choose which backend a new vc-dir buffer should use. In this case,
> the backend returned by `vc-deduce-backend’ will differ from that of
> `vc-responsible-backend’.
> 
> At least the following commands behave correctly, using
> `vc-deduce-backend’: `vc-print-root-log’, `vc-print-log’,
> `vc-log-outgoing’, `vc-log-incoming’, `vc-log-mergebase’, and
> `vc-diff-mergebase’ work. Other commands behave incorrectly:
> `vc-switch-branch’ and `vc-retrieve-tag’. Perhaps there are more.
> 
> If I’m not mistaken, I can try sending over a patch trying to correct
> the behavior of the misbehaving commands. In that case, I’d appreciate
> if others mention any other commands I’ve not listed above that are
> misbehaving so I don’t miss them in the patch.

Thanks.

Sean, any comments?




This bug report was last modified 47 days ago.

Previous Next


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