Dažas noderīgas lietas par SVN
Ir tāda jauka lieta, kā SVN. Rakstā apkopoti daži noderīgi triki, kas palīdzēs ikdienas darbu ar SVN padarīt raitāku. Tātad – svn jauno failu pievienošana, .svn mapīšu tīrīšana un SVN hooks. Raksts paredzēts lasītājam, kuram ir kaut neliela nojausma – kas ir svn :)
Ir tāda jauka lieta, kā SVN. Tiem kas tankā – lasām šeit [1]. SVN, kā zināms, sastāv no divām pusēm – servera un klienta. Serverī attiecīgi glabājas visas izmaiņas. Ja esat nonākuši tik tālu, ka ir piešķirts (vai izveidots) SVN repozitārijs, tad tā ir laba pazīme, ka ar serveri viss ok :) Klients ir vieta, kur viss notiek un kur glabājas darba kopija, attiecīgi tad ar kuru programmētājs arī strādā.
1. Jauno failu pievienošana. Ja sanāk darboties Linux vidē (konsole), tad esošām svn komandām pietrūkst divas lietas – izčekot, kuri faili nākuši klāt (pie nosacījuma, ka katru reizi nerakstām svn add) un kuri nākuši prom.
Tātad:
svn status | grep "^\?" | awk '{print $2}' | xargs svn add
Ja failu nosaukumos izmantojas atstarpes, noderēš šāda komandu virkne:
svn status | grep "^\?" | sed -e 's/? *//' | sed -e 's/ /\\ /g' | xargs svn add
Gatavojot šo rakstu atradu vēl arī šitādu:
svn add . –recursive
mēģinājis neesmu.
2. Pārvērst no svn darba kopijas uz ne-darba. Īsi sakot izvākt .svn mapītes. Šis varētu noderēt ja vajag iekopēt „netīro” kodu citā svn darba projektā vai arī paklausīt gudri vīru runās, ka .svn mapītes nevajag izlikt uz publiskā servera.
find . -name ".svn" -exec rm -rf {} \;
3. Uz servera, pie katrām izmaiņām eksportē projektu (piemēram, uz publisko mapi). Šis triks sanāks, ja ir gana plašas tiesības kaut ko pielabot SVN servera konfigurācijā. Tātad, runa ies par SVN hukiem (hooks).
Uz servera izveidojot jaunu repozitāriju (svnadmin create) tiek izveidoti dažādi konfigurācijas failiņi un mapītes. Viena no šādām mapītēm ir hooks.
Tad nu attiecīgi iekš hooks pārsaucam post_commit.tmpl par post_commit, piešķiram izpildīšanas tiesības un veicam nepieciešamos labojumus. Neaizmirstam arī par tiesībām.
Process notiek gaužām necaurspīdīgi, līdz ar ko ja kaut kas nesanāk – vienīgais variants – žurnalēt (log).
[1] http://en.wikipedia.org/wiki/Subversion_%28software%29
komentāri