[LIFEHACK] Jak jedną komendą dodać wszystkie nowo wgrane pliki do commita w SVN (subversion)?
Nowe pliki, które pojawią się w wersji roboczej są oznaczone pytajnikiem. Można je wylistować przez komendę:
svn st
Mają one oznaczenie przez pytajnik (?) dla przykładu:
? AddressController.php ? AddressesController.php ? AttachmentController.php ? AuthController.php ? BestSalesController.php
Aby je wszystkie na raz dodać do commita wywołaj:
svn status | grep "^\?" | sed -e 's/? *//' | sed -e 's/ /\\ /g' | xargs svn add
W pewnych sytuacjach powyższa komenda może okazać się niewystarczająca. Jeśli zastana wersia subversion lub nazwy kommitowanych plików nie powodują dodania wszystkich plików – wtedy bardziej rozbudowana wersja tej komendy powinna pomóc:
svn status | grep "^\?" | awk '{ printf("\""); for (f=2; f <= NF; f++) { printf("%s", $f); if (f
Jeszcze inną alternatywną w niektórych sytuacjach komendą, która to realizuje to:
svn status | grep '?' | sed 's/^.* /svn add /' | bash
Potem już wystarczy wykonać commit:
svn ci -m 'Jakiś komentarz do commita ;-)'

