Subject: Re: bug#58525: 28.1: `vc-dir' (key sequence: C-x v d) fails when used with a CVS repository

From: Mark Harig <[email-masked]>
Date: Tue, 18 Oct 2022 01:06:34 +0000 (UTC)

> It tries to use the most specific one, by using the sorting logic at the
> end of vc-responsible-backend. That was added in
> https://debbugs.gnu.org/42966, which should have made it into Emacs 28.1.
>

It appears that `vc-responsible-backend' DOES include the sorting
code that you have described (and which is listed as a patch in
42966).  In fact, that sorting code is included in the excerpt
from that function that I included in my previous message.

> I'm not sure why your CVS value in that list is t and not a string: that
> should have been fixed in Emacs 28.1 as well, in revision
> bc636515884530f0cab6f.
> 
> There was a further fix, though (regarding expanded vs abbreviated file
> names) which is only available on master (bug#57777). But I'm not sure
> if that comes into play here.
> 
> Anyway, are you really using Emacs 28.1? If not, try that...

The command `emacs-version' reports that it is 28.1.  Also,
/usr/share/emacs/28.1/lisp/vc-dir.el includes the following that all
appear to indicate that the file is from at least 28.1, or later:

;; Copyright (C) 2007-2022 Free Software Foundation, Inc.

(defface vc-dir-header '((t :inherit font-lock-type-face))
  "Face for headers in VC-dir buffers."
  :group 'vc
  :version "28.1")

(defface vc-dir-header-value '((t :inherit font-lock-variable-name-face))
  "Face for header values in VC-dir buffers."
  :group 'vc
  :version "28.1")

(defface vc-dir-directory '((t :inherit font-lock-comment-delimiter-face))
  "Face for directories in VC-dir buffers."
  :group 'vc
  :version "28.1")

> if yes: could
> you try building Emacs from master? And seeing whether it fixes
> your problem.

The problem is fixed for me by removing or renaming my ~/.git/
directory.

To reproduce the problem, create a ~/.git/ directory and then
follow the recipe in the original problem report.  Those steps
take less than 10 minutes to reproduce the problem, using Emacs
28.1, bash, and cvs.  Please let me know if those steps do not
reproduce the problem with Emacs 28.1.

(End.)