[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#42966: 28.0.50; vc-dir: wrong backend
From: |
Lars Ingebrigtsen |
Subject: |
bug#42966: 28.0.50; vc-dir: wrong backend |
Date: |
Sun, 18 Oct 2020 10:31:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Dmitry Gutov <dgutov@yandex.ru> writes:
> Or, more low-level, if we find that every backend follows the pattern
> of aliasing vc-xyz-responsible-p to vc-xyz-root, and calling
> vc-find-root in the latter's implementation, we could opt for creating
> a backend action that returns the "witness" file name (e.g. ".git"),
> and then construct a regexp from all witness file names, and pass it
> to 'directory-files' as MATCH. Depending on the cost of certain
> things, this could end up being much faster, both locally and
> remotely.
That does sound a lot faster. Let's see...
./lisp/obsolete/vc-arch.el491:(defalias 'vc-arch-responsible-p 'vc-arch-root)
./lisp/vc/vc-git.el873:(defalias 'vc-git-responsible-p 'vc-git-root)
./lisp/vc/vc-bzr.el646:(defalias 'vc-bzr-responsible-p 'vc-bzr-root
./lisp/vc/vc-hg.el1177:(defalias 'vc-hg-responsible-p 'vc-hg-root)
./lisp/vc/vc-svn.el313:(defalias 'vc-svn-responsible-p 'vc-svn-root)
./lisp/vc/vc-mtn.el201:(defun vc-mtn-responsible-p (file) (vc-mtn-root file))
Then:
./lisp/vc/vc-rcs.el284:(defun vc-rcs-responsible-p (file)
(defun vc-rcs-responsible-p (file)
(file-directory-p (expand-file-name "RCS"
(if (file-directory-p file)
file
(file-name-directory file)))))
So, basically the same.
./lisp/vc/vc-dav.el142:(defun vc-dav-responsible-p (url)
(defun vc-dav-responsible-p (url)
t)
:-/
./lisp/vc/vc-src.el248:(defun vc-src-responsible-p (file)
(defun vc-src-responsible-p (file)
(file-directory-p (expand-file-name ".src"
(if (file-directory-p file)
file
(file-name-directory file)))))
./lisp/vc/vc-sccs.el218:(defun vc-sccs-responsible-p (file)
This one is more complicated:
(defun vc-sccs-responsible-p (file)
(or (file-directory-p (expand-file-name "SCCS" (file-name-directory file)))
(stringp (vc-sccs-search-project-dir (or (file-name-directory file) "")
(file-name-nondirectory file)))))
./lisp/vc/vc-cvs.el319:(defun vc-cvs-responsible-p (file)
(defun vc-cvs-responsible-p (file)
(file-directory-p (expand-file-name "CVS"
(if (file-directory-p file)
file
(file-name-directory file)))))
So it looks like the only possibly problematic backend is SCCS?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
bug#42966: 28.0.50; vc-dir: wrong backend, Glenn Morris, 2020/10/16
- bug#42966: 28.0.50; vc-dir: wrong backend, Dmitry Gutov, 2020/10/16
- bug#42966: 28.0.50; vc-dir: wrong backend, Lars Ingebrigtsen, 2020/10/17
- bug#42966: 28.0.50; vc-dir: wrong backend, Dmitry Gutov, 2020/10/17
- bug#42966: 28.0.50; vc-dir: wrong backend,
Lars Ingebrigtsen <=
- bug#42966: 28.0.50; vc-dir: wrong backend, Glenn Morris, 2020/10/26
- bug#42966: 28.0.50; vc-dir: wrong backend, Lars Ingebrigtsen, 2020/10/26
- bug#42966: 28.0.50; vc-dir: wrong backend, Dmitry Gutov, 2020/10/26
- bug#42966: 28.0.50; vc-dir: wrong backend, Dmitry Gutov, 2020/10/26