Clarify documentation of 'vc-responsible-backend' wrt symlinks

* lisp/vc/vc.el (vc-responsible-backend): Clarify that symlinks
are not resolved when the VC backend is reported.

* doc/lispref/files.texi (Truenames): Document
'vc-responsible-backend'.  (Bug#23436)
* doc/emacs/maintaining.texi (Version Control Systems): Fix a
typo.
This commit is contained in:
Hong Xu 2016-11-04 12:06:00 +02:00 committed by Eli Zaretskii
parent f708cb22a1
commit 23570fd995
3 changed files with 21 additions and 2 deletions

View file

@ -223,7 +223,7 @@ basic editing operations under Bazaar.
@cindex SRC @cindex SRC
@cindex src @cindex src
@item @item
SRC (src) is RCS, reloaded - a specialized version-control system SRC (src) is RCS, reloaded---a specialized version-control system
designed for single-file projects worked on by only one person. It designed for single-file projects worked on by only one person. It
allows multiple files with independent version-control histories to allows multiple files with independent version-control histories to
exist in one directory, and is thus particularly well suited for exist in one directory, and is thus particularly well suited for

View file

@ -1138,6 +1138,21 @@ compares the truenames of the two directories. If @var{dir} does not
name an existing directory, the return value is @code{nil}. name an existing directory, the return value is @code{nil}.
@end defun @end defun
@defun vc-responsible-backend file
This function determines the responsible VC backend of the given
@var{file}. For example, if @file{emacs.c} is a file tracked by Git,
@w{@code{(vc-responsible-backend "emacs.c")}} returns @samp{Git}.
Note that if @var{file} is a symbolic link,
@code{vc-responsible-backend} will not resolve it---the backend of the
symbolic link file itself is reported. To get the backend VC of the
file to which @var{file} refers, wrap @var{file} with a symbolic link
resolving function such as @code{file-chase-links}:
@smallexample
(vc-responsible-backend (file-chase-links "emacs.c"))
@end smallexample
@end defun
@node File Attributes @node File Attributes
@subsection File Attributes @subsection File Attributes
@cindex file attributes @cindex file attributes

View file

@ -959,7 +959,11 @@ use."
If FILE is already registered, return the If FILE is already registered, return the
backend of FILE. If FILE is not registered, then the backend of FILE. If FILE is not registered, then the
first backend in `vc-handled-backends' that declares itself first backend in `vc-handled-backends' that declares itself
responsible for FILE is returned." responsible for FILE is returned.
Note that if FILE is a symbolic link, it will not be resolved --
the responsible backend system for the symbolic link itself will
be reported."
(or (and (not (file-directory-p file)) (vc-backend file)) (or (and (not (file-directory-p file)) (vc-backend file))
(catch 'found (catch 'found
;; First try: find a responsible backend. If this is for registration, ;; First try: find a responsible backend. If this is for registration,