Variable: projectile-vcs-markers
projectile-vcs-markers is a customizable variable defined in
projectile.el.
Value
((".git" . git) (".hg" . hg) (".fslckout" . fossil)
("_FOSSIL_" . fossil) (".bzr" . bzr) ("_darcs" . darcs)
(".pijul" . pijul) (".svn" . svn) (".sl" . sapling) (".jj" . jj)
(".osc" . osc))
Documentation
Alist of (MARKER . VCS) pairs probed by projectile-project-vcs.
The order only breaks ties between markers in the same directory -
during the upward walk the nearest marker directory always wins.
The main reason to customize this is colocated repositories: a
repository created with jj git init contains both .jj and
.git, and moving .jj first makes such projects detect as jj.
Unknown VCS symbols are fine - file listing falls back to the
generic command and projectile-vc to vc-dir - so new markers
can be added here without any other configuration.
VCS detection is cached per project; run projectile-invalidate-cache
after changing this for it to affect already-visited projects.
This variable was added, or its default value changed, in projectile version 3.1.0.
Aliases
projectile--vcs-markers (obsolete since 3.1.0)
Source Code
;; Defined in ~/.emacs.d/elpa/projectile-20260820.1509/projectile.el
(defcustom projectile-vcs-markers
'((".git" . git)
(".hg" . hg)
(".fslckout" . fossil)
("_FOSSIL_" . fossil)
(".bzr" . bzr)
("_darcs" . darcs)
(".pijul" . pijul)
(".svn" . svn)
(".sl" . sapling)
(".jj" . jj)
(".osc" . osc))
"Alist of (MARKER . VCS) pairs probed by `projectile-project-vcs'.
The order only breaks ties between markers in the same directory -
during the upward walk the nearest marker directory always wins.
The main reason to customize this is colocated repositories: a
repository created with `jj git init' contains both `.jj' and
`.git', and moving `.jj' first makes such projects detect as `jj'.
Unknown VCS symbols are fine - file listing falls back to the
generic command and `projectile-vc' to `vc-dir' - so new markers
can be added here without any other configuration.
VCS detection is cached per project; run `projectile-invalidate-cache'
after changing this for it to affect already-visited projects."
:group 'projectile
:type '(alist :key-type (string :tag "Marker") :value-type (symbol :tag "VCS"))
:package-version '(projectile . "3.1.0"))