Como extrair a revisão atual do diretório / arquivos repo do SVN (subversion)

2

Eu tenho um repositório SVN que é gerenciado via interface web ( svn checkout https://server/repos/proj1 etc.), o que funciona.

Agora, com cada commit , desejo copiar a versão mais recente em um diretório, por exemplo, em /home/user/somewhere/proj1/rev102/ usando um comando shell no servidor.

Se bem me lembro, você pode chamar um comando em cada commit e não estou muito preocupado sobre como isso é feito (que, na minha falta, eu poderia criar um trabalho cron ), mas:

Como faço para extrair os arquivos mais novos do diretório / arquivos svn repo usando um shell script localmente sem usar svn update , mecanismos de login svn, etc.? Todos os arquivos estão lá e acessíveis a partir do shell, então isso deve ser fácil?

    
por Ned64 15.07.2016 / 14:08

1 resposta

2

Você não precisa de um svn login se tiver acesso direto ao banco de dados svn. Em algum lugar no servidor você tem a raiz do banco de dados svn, digamos, diretório /some/dir . Tem subdiretórios db , conf , hooks e locks . Você pode verificar isso repositório na mesma máquina usando

cd /home/user/somewhere/
svn list file:///some/dir/
svn checkout file:///some/dir/repos/proj1/rev102  proj1/rev102

Você também pode fazer svn update no subdiretório recém-criado.

Como você disse, você pode chamar um comando em cada commit. Edite e renomeie o arquivo hooks/post-commit.tmpl a hooks/post-commit em /some/dir .

    
por 15.07.2016 / 20:00

Tags