Eu recomendaria olhar para CruiseControl.net e configurá-lo como segue:
- Crie uma cópia de trabalho que não seja publicada pelo IIS (isto é, só está disponível no servidor).
- Configure o CruiseControl.net para criar o projeto a partir desta cópia de trabalho.
- Defina um evento Post-Build (em uma compilação de sucesso) no CruiseControl.net para exportar para sua pasta publicada.
Isso tem dois efeitos importantes:
- Um svn-revision não construtivo não pode ser publicado.
- Seus diretórios .SVN ou _SVN não serão publicados. Teoricamente alguém poderia aparecer e olhar seu código-fonte em /.svn/text-base/your-filename.ext.svn-base.
Informações sobre como configurar o CruiseControl.net e o Subversion:
- Integração contínua + CruiseControl.Net + Subversion + MSBuild + .Net 2.0
- CruiseControl.NET: Bloco de controle de código-fonte do Subversion
Informações sobre como configurar o CruiseControl.net para publicar arquivos:
Informações sobre como configurar o CruiseControl.net para acionar quando você fizer um commit: