Automatizarea comenzilor SVN add/rm

Configurare noua (How To)

Situatie

Ai fisiere versionate care sunt updatate sub diferite modalitati (software update, git etc) sau folosesti svn pentru arhivarea fisierelor generate automat? Inseamna ca esti deja obisnuit cu comenzile svn add si svn rm. Acest mecanism se poate automatiza…

 

 

Solutie

 

Puterea shell-ului din Unix provine din usurinta cu care tu poti da comenzi simple, majoritatea comenzilor folosind standard input-output.

Exemplu: Output-ul comenzii svn status poate fi procestata de catre sed (stream editor) astfel inca sa rezulte numele corect al fisierului pentru comenzile svn add sau svn rm cu ajutorul xargs , care transforma input-ul standard in parametrii command-line-ului pentru comanda respectiva.

Asadar, daca vrei sa marchezi toate fisierele noi adaugate in plus catre svn si toate fisierele sterse din versiunea repository-ului, observa urmatoarele:

svn status | sed -n 's/^?.......(.*)/1@/p' | xargs -d 'n' svn add
svn status | sed -n 's/^!.......(.*)/1@/p' | xargs -d 'n' svn rm


Diferente intre cele doua comenzi (! vs. ? si rom vs. add) sunt evidentiate cu scop educational.

Tip solutie

Permanent

Voteaza

(12 din 52 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?