Есть ли надежный способ сделать рекурсивную команду глубины git submodule foreach
? Я использую команду foreach --recursive
, которая выполняет задание, за исключением того, что она имеет ширину. Это проблема, потому что, если у меня есть следующая структура:
-
- В
- С
И я совершил во всех трех случаях, a foreach --recursive add -A && git commit ...
ударит по A, B, C, что является проблематичным, если я хочу, чтобы супермодуль фиксировал фиксации B в это время.
Я нашел эту дискуссию с 2008 года, но не похоже, что какая-либо из предложенных функций находится в текущей версии Git, которая у меня есть (1.7. 9.5).
Я написал небольшую функцию bash для этого (извините сокращение имен):
function git-sfed() { git submodule foreach "git submodule foreach '$*' && $*"; }
И тестирование его следующей командой fanciful работает:
git-sfed 'python -c "import sys; print sys.argv" $path'
Эта команда кажется надежной или существуют другие распространенные существующие методы?