| Nota | ||
|---|---|---|
| ||
Esta pagina eh um rascunho |
Requisitos
O svntool utiliza alguns recursos externos para seu funcionamento. A lista segue abaixo:
...
Caso deseje não utilizar áreas para os repositórios, utilize o parâmetro de área como vazio, como -Darea="".
Geracao de relatorios
TODO
Espelhamento de repositorios
...
| title | IMPORTANTE |
|---|
...
O SVNTool utiliza duas bibliotecas para produzir relatorios, incluindo elementos graficos. Sao o SvnStat e StatSvn. Porem, o SVNTool abstrai a complexidade de uso desses utilitarios, e para o usuario final a geracao de relatorios se resume a execucao de comandos, como:
| Painel |
|---|
/opt/lm2/apache-ant-1.7.1/bin/ant -f /opt/lm2/svntool/build.xml report.generate -Doutput=public/3pup -Drepo=file:///opt/lm2/data/svn/public/3pup |
Neste exemplo, o SVNTool eh chamado atraves da linha de comando com a opcao "report.generate", com o parametro "-Doutput" apontando para um diretorio de saida, onde serao gerados os relatorios para o repositorio especificado pelo parametro "-Drepo", usando a ultima revisao do repositorio (opcao "-Drev") com o usuario e senha especificados por "-Duser" e "-Dpass", respectivamente.
Um exemplo de saida desses relatorios pode ser conferido em http://3layer.org/svnreport/public/incubator/svntool
.
Geracao continua de relatorios
Estando em ambiente Windows ou Linux, eh possivel utilizar as ferramentas nativas do Sistema Operacional para produzir continuamente os relatorios do SVNTool.
NO Windows, a linha de comando acima pode ser adicionada a uma entrada no servico Task Scheduler. No Linux o mesmo pode ser feito com o servico Crontab.
Abaixo, um exemplo de configuracao no Crontab no linux, que produz relatorios para diversos repositorios diariamente as 06:00 AM:
| Sem Formato |
|---|
[root@jekyll ~]# crontab -e
#--
# Relatorios diarios do SVN, diariamente as 06:00 AM
00 6 * * * /opt/lm2/svntool/cron.sh 1>> /var/log/cron_log 2>> /var/log/cron_error
[root@jekyll ~]# vim /opt/lm2/svntool/cron.sh
#!/bin/bash -x
# Define o locale para o SVN funcionar. Vide tarefa JBAG2A-20
LC_ALL=en_US.UTF-8
export LC_ALL
#--
# public/3pup
/opt/lm2/apache-ant-1.7.1/bin/ant -f /opt/lm2/svntool/build.xml report.generate -Doutput=public/3pup -Drepo=file:///opt/lm2/data/svn/public/3pup -Drev=HEAD -Duser=user.admin -Dpass=xxx
#--
# public/magoo
/opt/lm2/apache-ant-1.7.1/bin/ant -f /opt/lm2/svntool/build.xml report.generate -Doutput=public/magoo -Drepo=file:///opt/lm2/data/svn/public/magoo -Drev=HEAD -Duser=user.admin -Dpass=xxx
#--
# public/merlin
/opt/lm2/apache-ant-1.7.1/bin/ant -f /opt/lm2/svntool/build.xml report.generate -Doutput=public/merlin -Drepo=file:///opt/lm2/data/svn/public/merlin -Drev=HEAD -Duser=user.admin -Dpass=xxx
#--
# public/mammon
/opt/lm2/apache-ant-1.7.1/bin/ant -f /opt/lm2/svntool/build.xml report.generate -Doutput=public/mammon -Drepo=file:///opt/lm2/data/svn/public/mammon -Drev=HEAD -Duser=user.admin -Dpass=xxx
|
Espelhamento de repositorios
| Aviso | ||
|---|---|---|
| ||
O svntool suporta apenas repositorios do tipo FileSystem (FSFS), que sao os mais atuais e o o padrao recomendado pelo Subversion. Se voce utiliza repositorios baseados em BerkleyDB, nao utilize o svntool para fazer espelhamento, pois os resultados sao imprevisiveis. |
| Aviso | ||
|---|---|---|
| ||
O svntool foi projetado para suportar uma estrutura de pastas de dois niveis, ou seja, um diretorio superior que indicam as "areas de repositorios" (parametro -Darea) e, dentro de cada uma dessas areas, os repositorios em si (parametro -Drepo). Ao utilizar uma estrutura com niveis mais profundos de diretorios, o comportamento do svntool pode nao ser o esperado. Entao, muita atencao ao utilizar estruturas de diretorios diferentes dessa: |
No Windows
TODO
No Linux
No Linux, tem-se duas situacoes para o espelhamento, descritas abaixo:
...
| Painel | ||
|---|---|---|
|
76. Pronto. Nesse momento é possível realizar a cópia remota de arquivos e pastas de forma segura através do SSH. Isso é a base para a replicação remota que o svntool utiliza com base no Rsync.
...
| Painel |
|---|
ant sync.run -Dsource=lm2/admin -Ddest=marcelo.mrack@hermes:/opt/backup |
72. Pronto. No caminio hermes:/opt/backup deve existir uma estrutura idêntica ao repositório de origem, incluindo o nome da area especificada, caso houver. Em outras palavras, a copia espelho estara em hermes:/opt/backup/lm2/admin. Isso pode ser visto abaixo:
| Painel |
|---|
TODO |
xxx.