git submodule foreach - solidny sposób na rekursywne zatwierdzenie modułu potomnego w pierwszej kolejności?

Czy istnieje solidny sposób na wykonanie rekurencyjnej głębokości jako pierwszejgit submodule foreach dowództwo? Używamforeach --recursive polecenie, które wykonuje zadanie, z wyjątkiem tego, że ma szerokość pierwszą. Jest to problem, ponieważ jeśli mam następującą strukturę:

ABC

I mam zobowiązania we wszystkich trzechforeach --recursive add -A && git commit ... trafi A, B, C, co jest problematyczne, jeśli chcę, aby supermoduł przechwycił zatwierdzenia B w tym czasie.

znalazłemta dyskusja od 2008 r., ale nie wygląda na to, aby żadna z sugerowanych funkcji była w obecnej wersji Gita, którą posiadam (1.7.9.5).

W tym celu napisałem małą funkcję bash (usprawiedliwiając skrótowe nazewnictwo):

function git-sfed() { git submodule foreach "git submodule foreach '$*' && $*"; }

Testowanie go za pomocą następującego fantazyjnego polecenia wydaje się działać:

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

Czy to polecenie wydaje się solidne, czy istnieją inne powszechnie stosowane metody?

questionAnswers(2)

yourAnswerToTheQuestion