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ę:
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?