Git - связывание cmds (т.е. ls-файлов) с подмодулями

Есть ли способ связать cmds с подмодулями в вашем репо? Я ищу встроенные методы, так как мне нужно, чтобы это было переносимо и без дополнительных установок.

В моем случае у меня есть конвейер рабочего процесса, основанный на ls-файлах (и журнале), и мне нужно иметь возможность просматривать файлы, которые соответствуют определенным условиям, даже если они находятся в подмодулях.

т.е.

git ls-files some/file/path/above/my/submodules/globed-file

Показывает только файлы в текущем репо и игнорирует файлы субмодуля.

1 ответ

Решение

Июнь 2015: Вы можете попытаться выполнить свою команду в каждом подмодуле, используя git submodule foreach:

git submodule --quiet --recursive foreach "git ls-files yourFile"

Один из подмодулей будет возвращать что-то, если этот файл присутствует в нем.

Обратите внимание, что с Git 2.11+ (4 квартал 2016 года) вы можете использовать вместо:

git ls-files --recurse-submodules

Смотрите " поиск списка файлов (например, используяgit ls-files ) включая подмодули".

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