GNU bug report logs - #42966
28.0.50; vc-dir: wrong backend

Previous Next

Package: emacs;

Reported by: sds <at> gnu.org

Date: Fri, 21 Aug 2020 15:16:02 UTC

Severity: minor

Tags: fixed

Merged with 3807, 8179, 8603, 18514

Found in versions 23.3.50, 24.0.50, 24.3, 28.0.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 42966 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Lars Ingebrigtsen <larsi <at> gnus.org>, Sam Steingold <sds <at> gnu.org>
Cc: 42966 <at> debbugs.gnu.org
Subject: Re: bug#42966: 28.0.50; vc-dir: wrong backend
Date: Fri, 16 Oct 2020 15:44:34 +0300
On 16.10.2020 11:55, Lars Ingebrigtsen wrote:

> But:
> 
>        (catch 'found
> 	;; First try: find a responsible backend.  If this is for registration,
> 	;; it must be a backend under which FILE is not yet registered.
> 	(dolist (backend vc-handled-backends)
> 	  (and (vc-call-backend backend 'responsible-p file)
> 	       (throw 'found backend))))
> 
> This just goes through the backends and the first one that happens to be
> able to say "yes" wins.  Shouldn't this instead go through all the
> backends, and if more than one says "yes", then choose the one with the
> most specific path?
> 
> Looking at the code, that shouldn't be too hard to implement, because it
> seems like responsible-p returns the root path?

The code should be straightforward, but I'd like to see some performance 
measurements: both for the local case, and for the remote one (Tramp).

The difference can be small, though, given that we already try a number 
of other backends first (Git is near the end of vc-handled-backends; we 
might want to change that, BTW).




This bug report was last modified 4 years and 204 days ago.

Previous Next


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