Via de SSH server kun je gebruikmaken van een subversion client (afgekort als SVN). Met een SVN kun je jouw website in een externe (niet door Byte gehoste) subversion repository beheren. In deze repository staat dan de nieuwste versie van je website of software. Met de SVN commando’s kun je vervolgens je website/software beheren zodat deze de nieuwste versies bevat.

In dit artikel wordt uitgelegd hoe je via Shell gebruik kunt maken van een subversion client en welke commando’s daarbij handig zijn om te gebruiken.

Let op! Voor uitgebreide informatie over subversion kun je de online variant van het boek Version Control with Subversion raadplegen.

Basisfuncties Shell SVN

checkout

Met een checkout download je een revisie van een repository naar een lokale directoy. Vanaf dat moment is de lokale directory onder versie beheer.

svn checkout https://uwsvn.nl/repository directory/

update

Met een update worden alle lokale bestanden geüpdatet naar de nieuwste versie in de repository.

svn update

commit

Met een commit worden de bestanden in de repository geüpdatet naar de lokale wijzigingen.

svn commit -m "Beschrijving van de wijziging"

status

Om de verschillen tussen de repository en lokale directory te zien gebruik je het status commando :

svn status

Nu wordt er per gewijzigd bestand aangegeven wat dit voor een wijziging is. Wat de betekenis is van de weergegeven output kun je vinden met het volgende commando :

svn help status

add

Wanneer je aan de lokale directory bestanden toevoegt, moeten deze ook worden toegevoegd aan de repository. Dit doe je met het volgende commando :

svn add bestandsnaam

De bestanden worden bij de volgende commit aan de repository toegevoegd en onder versiebeheer geplaatst.

delete

Wanneer je bestanden uit de lokale directory verwijdert, zijn deze nog wel aanwezig in de repository en zullen dus de volgende update worden terug geplaatst. Als je bestanden uit de lokale directory en uit de repository wilt verwijderen doe je dit met het volgende commando:

svn del bestandsnaam

De bestanden worden bij de volgende commit uit de repository verwijderd.

.svn mappen beveiligen

SVN maakt mappen .svnin de lokale directory. Die mappen moet je beveiligen tegen toegang via de webserver. Dat kan bijvoorbeeld door de regel

RedirectMatch permanent \.svn/ /

in je .htaccess op te nemen.

00