Solução de curto prazo:
Mover
/admin/
index.php
etc...
para, digamos, /opt/cms
Crie links sym para os arquivos para o novo local. ou seja:
$ ln -s /home/user/admin /opt/cms/admin
$ ln -s /home/user/index.php /opt/cms/index.php
Escrever um script para fazer o acima para todos os arquivos e todo o usuário deve ser trivial (com experiência). Se não, poste uma questão separada.
Em seguida, use o SVN no diretório / opt / cms, que é vinculado por todos.
Solução a longo prazo:
Elimine completamente os diretórios do usuário. Mova o aplicativo para um único local do site (/ opt / cms ou / var / www / cms, etc ...). Use algum tipo de reescrita de URL para tornar example.com/~user/images/*
apontar para example/user/images/*
e criar um diretório /opt/cms/user/images
para cada usuário. Esta solução significa que o usuário não sabe que algo mudou.
A longo prazo, reescreva o CMS para armazenar a diferença nos bastidores, ou crie uma nova estrutura e forneça aos usuários uma nova URL.