Снаряд Emacs с несколькими репозиториями (git/svn и т. Д.) В одном проекте

У меня есть один репозиторий Git со структурой каталогов, которая выглядит следующим образом:

root ---------- src
        |
        |
        |------ 3rd

root мой рабочий каталог, 3rd состоит из нескольких сторонних git-подмодулей.
projectile-find-file находит только файлы в src, это не работает для подмодулей.

2 ответа

Решение

projectile-git-command использования git ls-files перечислить файлы, принадлежащие проекту,
поэтому я решил проблему с помощью следующего кода:

(setq projectile-git-command "git-ls-all-files")

git-ls-all-files скрипт оболочки:

\#!/bin/zsh
files=`git ls-files -co --exclude-standard`
sb_files=`git --no-pager submodule --quiet foreach 'git ls-files --full-name -co --exclude-standard | sed s!^!$path/!'`
all_files=$files$sb_files

echo $all_files

У меня просто была эквивалентная проблема, я исправил ее, добавив пустой .projectile подать в мой root каталог, это говорит снаряду, что этот каталог является настоящим корневым каталогом проекта и ищет все файлы в его подкаталогах, когда вы хотите что-то найти.

Смотрите здесь для получения дополнительной информации.

Помимо решения Майка, добавляю .projectile файл в каждый подмодуль, и этот подмодуль станет новым проектом в Emacs.

Другие вопросы по тегам