Subversion - Een project verwijderen uit een repository

Er is in subversion geen mogelijkheid om een project uit een repository te verwijderen.

Hieronder staat een work-arround maar dit is geheel op eigen risico!

Als voorbeeld heb ik een subversion omgeving draaien op svn.davidvandertuijn.nl met een repository DOMAINS, waarin ik het domein davidvandertuijn.nl wil verwijderen.

Ten eerste wijzigen we de privileges van de repository zodat niemand wijzigingen kan doorvoeren terwijl we bezig zijn:

chown -R root:root /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS/

We maken een dump van de gehele repository:

svnadmin dump /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS/ > dump_domains

Filter vervolgens het domein uit de repository:

svndumpfilter exclude davidvandertuijn.nl < dump_domains > dump_domains_new

Maak een nieuwe lege repository:

svnadmin create /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS_NEW

Importeer de nieuwe dumpfile die we zojuist hebben gefilterd:

svnadmin load /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS_NEW < dump_domains_new

Maak een backup van de oude repository (optioneel)

cp -R /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS/ /root/svn-domains-backup

Verwijder de oude repository

rm -fr /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS/

Hernoem de nieuwe repository

mv /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS_NEW /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS

Stel de privileges in:

chown -R apache:apache /var/www/vhosts/svn.davidvandertuijn.nl/DOMAINS/

Klaar!