Function: project--submodule-p
project--submodule-p is a byte-compiled function defined in
project.el.gz.
Signature
(project--submodule-p ROOT)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/project.el.gz
(defun project--submodule-p (root)
;; XXX: We only support Git submodules for now.
;;
;; For submodules, at least, we expect the users to prefer them to
;; be considered part of the parent project. For those who don't,
;; there is the custom var now.
;;
;; Some users may also set up things equivalent to Git submodules
;; using "git worktree" (for example). However, we expect that most
;; of them would prefer to treat those as separate projects anyway.
(let* ((gitfile (expand-file-name ".git" root)))
(cond
((file-directory-p gitfile)
nil)
((with-temp-buffer
(insert-file-contents gitfile)
(goto-char (point-min))
;; Kind of a hack to distinguish a submodule from
;; other cases of .git files pointing elsewhere.
(looking-at "gitdir: [./]+/\\.git/modules/"))
t)
(t nil))))