.gitmodules Parser
Разобрать .gitmodules и вывести список подмодулей с путями и URL.
Как это работает
Проект с несколькими git submodules, а вопрос как прочитать список подмодулей git без выполнения git submodule status в терминале иногда нужен просто чтобы быстро посмотреть глазами структуру, например из веб-интерфейса или при код ревью файла .gitmodules в Pull Request. Gitmodules parser online разбирает такой файл и показывает подмодули в удобной табличной форме.
Формат .gitmodules это INI-подобный текст с блоками submodule, где для каждого подмодуля указан path локальной директории и url удаленного репозитория, инструмент парсит эту структуру и выводит список пар путь и адрес для каждого найденного подмодуля.
Полезно применять при аудите зависимостей проекта от внешних git репозиториев, при документировании структуры монорепозитория с подмодулями, или просто для быстрой проверки, что путь и url конкретного подмодуля в файле записаны корректно перед коммитом изменений.
Частые вопросы
Что если в .gitmodules указана дополнительная ветка через branch?
Такое поле тоже присутствует в некоторых конфигурациях .gitmodules и означает, какую ветку подмодуля использовать при обновлении, инструмент отображает и это поле, если оно есть в блоке конкретного submodule.
Можно ли распарсить .gitmodules с несколькими десятками подмодулей?
Да, ограничений по количеству блоков submodule в тексте нет, парсер обрабатывает файл целиком вне зависимости от того, сколько подмодулей в нем описано.
Проверяет ли инструмент доступность url репозитория подмодуля?
Нет, это чисто текстовый разбор содержимого файла, реальная доступность указанного url и корректность git репозитория по этому адресу не проверяется, только структура самого .gitmodules файла.
Чем формат .gitmodules отличается от обычного .gitignore по синтаксису?
Это совершенно разные форматы, .gitignore это простой список шаблонов путей по одному на строку, а .gitmodules это INI-подобная структура с именованными блоками и парами ключ значение внутри каждого блока.