Zakačive skripte sa serverske strane

Zakačiva skripta je program započet nekim događajem iz spremišta, kao što je kreiranje nove revizije ili izmena neverzionisanih osobina. Svka zakačaljka rukuje sa dovoljno informacija da kaže koji je događaj, na koji cilj se izvršava i korisničko ime osobe koja je pokrenula događaj. U zavisnosti izlaza zakačaljke, ili povratni status, zakačivi program može nastaviti akciju, zaustaviti je ili suspendovati na neki način. Molim pogledajte Hook Scripts u Subverzionoj knjizi za sve detalje o zakačaljkama koje su primenjene.

Ovi zakačivi skriptovi su izvršeni na serveru koji ugošćava spremište. TortoiseSVN takođe omogućava da konfigurišete klijent stranu zakačivih skripti gde se očekuju lokalno pod nekim događajima. Vidite xref linkend="tsvn-dug-settings-hooks"/> za više informacija.

Uzorak zakačivih skripti može se naći u hooks direktorijum spremišta. Ovi uzorci skripti su dostupni za Uniks/Linuks servere ali potrebno je da budu izmenjeni ako je vaš server osnovan na Vindouzu. Zakačke mogu biti beč fajl ili izvršni. Uzorak dole prikazuje beč fajl koji može biti primenjen pre-revprop-izmene zakačka.

rem Only allow log messages to be changed.
if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1
    

Primetimo da nešto poslato u stdaut se odbacuje. Ako da se poruka pojavi u Ureži Odbaci dijalogu morate je poslati na stderr. U beč fajlu to se postiže korišćenjem >&2.

Prekrivanje zakačaljki

Ako zakačivi skript odbija vaše urezivanje onda je njegova odluka izvršna. Ali možete izgraditi mehanizam prekrivanja u samom skriptu koristeći tehniku Magična reč. Ako skript želi da odbije operaciju on najpre skenira poruku dnevnika za specijalnu prolaznu frazu, ili fiksnu frazu ili možda prefiks imena fajla. Ako nađe magičnu reč dozvoljava nastavak urezivanja. Ako fraza nije nađena onda ona može urezivati sa porukama kao Niste rekli magičnu reč :-)