Pergunta

Eu tenho um site sob SVN e eu quero corrigir o website ao vivo com o que está atualmente no repositório (ou seja, chamando efetivamente svn update no site ao vivo), mas eu não quero diretórios .svn em cada pasta sobre a produção website.

Existe uma maneira de configurar o SVN para que a pasta .svn com informações sobre a versão não está no mesmo diretório que os arquivos sob controle de versão?

Em git você pode criar e detatch uma árvore de trabalho e enviar atualizações para um projeto dessa maneira (de acordo com http://toroid.org/ams/git-website-howto ), basicamente, eu quero ser capaz de fazer algo semelhante no SVN.

Foi útil?

Solução

svn export funciona de forma semelhante a um checkout mas sem os diretórios .svn. No entanto, você não pode update uma estrutura deste tipo, uma vez que não é uma cópia de trabalho svn.

Você também pode configurar o servidor web para acesso disallow para os diretórios .svn e apenas ir com o método de checkout + atualização.

Outras dicas

Como cerca de rsync configurado para não copiar ".svn" diretórios?

rsync --exclude=.svn local_svn_copy webserver:site/

Isso pode ser re-run para atualizar a cópia do servidor.

httpd.conf:

<Directory ~ "\.svn">
    Order allow,deny
    Deny from all
</Directory>

Como laalto mencionou svn export marcas para um método fácil, mas não muito eficiente para atualizar uma "cópia de trabalho" quando usado repetidamente:

milen@dev:~$ svn export --non-interactive --force "<URL>" <directory>

Você também pode usar git-svn para criar um espelho git do site e, em seguida, publicar o caminho descrito no artigo é ligada. Obviamente, isso não é uma solução para a frente apesar de tudo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top