Commit 23570fd9 authored by Hong Xu's avatar Hong Xu Committed by Eli Zaretskii
Browse files

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
parent f708cb22
......@@ -223,7 +223,7 @@ basic editing operations under Bazaar.
@cindex SRC
@cindex src
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
allows multiple files with independent version-control histories to
exist in one directory, and is thus particularly well suited for
......@@ -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}.
@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}:
(vc-responsible-backend (file-chase-links "emacs.c"))
@end smallexample
@end defun
@node File Attributes
@subsection File Attributes
@cindex file attributes
......@@ -959,7 +959,11 @@ use."
If FILE is already registered, return the
backend of FILE. If FILE is not registered, then the
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))
(catch 'found
;; First try: find a responsible backend. If this is for registration,
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment