Toimintokomento on ohjelma, joka käynnistyy jonkin arkistotapahtuman (esim. uuden version luonti tai versioimattoman ominaisuuden muokkaus) takia. Kullekin toimintokomennolle annetaan tiedot tapahtumasta ja sen kohteesta/kohteista, samoin kuin tapahtuman suorittaneen henkilön käyttäjätunnus. Toimintokomennon tuloksista tai tuloskoodista riippuen komento voi jatkaa tapahtumaa, keskeyttää sen tai viivästyttää sitä jollain tavoin. Lue Subversion-kirjan kappaleesta Hook Scripts yksityiskohtaisempaa tietoa tuetuista toimintokomentotyypeistä.
Toimintokomennot suorittaa palvelin, jolla arkisto sijaitsee. TortoiseSVN sallii myös asiakaspään toimentokomentojen määrittelyn. Ne suoritetaan paikallisesti joidenkin tapahtumien yhteydessä. Katso lisätietoja luvusta ”Asiakaspään komentojonot”.
Esimerkkejä toimintokomennoista löytyy arkiston hooks -hakemistosta. Nämä esimerkit on tarkoitettu Unix/Linux -palvelimille, ja niitä on muutettava, mikäli palvelimesi on Windows-pohjainen. Toimintokomento voi olla .bat tai .exe -tiedosto. Seuraava esimerkki näyttää .bat-tiedoston, jota voitaisiin käyttää toteuttamaan pre-revprop-change -toimintokomento.
rem Only allow log messages to be changed. if "%4" == "svn:log" exit 0 echo Property '%4' cannot be changed >&2 exit 1
Huomaa, että kaikki komennon stdout-kahvaan tehty tulostus katoaa. Mikäli haluat virheilmoituksen ilmestyvän Toimitus peruttu -ikkunaan, se on kirjoitettava stderr-kahvaan. .bat-tiedostossa tämän voi tehdä lausekkeella >&2.