git submodule foreach - надежный способ рекурсивной фиксации дочернего модуля первым?

Есть ли надежный способ сделать рекурсивную глубину в первую очередьgit submodule foreach команда? Я используюforeach --recursive команда, которая делает работу, кроме как в ширину. Это проблема, потому что, если у меня есть следующая структура: ABC

И у меня есть коммиты во всех трех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 '$*' && $*"; }

И тестирование с помощью следующей причудливой команды, кажется, работает:

git-sfed 'python -c "import sys; print sys.argv" $path'

Эта команда кажется надежной, или есть другие распространенные существующие методы?

Ответы на вопрос(2)

Ваш ответ на вопрос