Árvore de páginas
Skip to end of metadata
Go to start of metadata

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

Requisitos

O svntool utiliza alguns recursos externos para seu funcionamento. A lista segue abaixo:

No Windows 32bits:

  • Python, instalado e no path do Sistema Operacional.
  • Apache Ant, instalado e no path do Sistema Operacional.
  • Robocopy (ou SyncToy), instalado e no path do Sistema Operacional.
  • Subversion, instalado e no path do Sistema Operacional.

No Windows 64bits:

  • Python, instalado e no path do Sistema Operacional.
  • Apache Ant, instalado e no path do Sistema Operacional.
  • SyncToy, instalado e no path do Sistema Operacional.
  • Subversion, instalado e no path do Sistema Operacional.

No Linux 32 ou 64 bits:

  • Python, instalado e no path do Sistema Operacional.
  • Apache Ant, instalado e no path do Sistema Operacional.
  • RSync, instalado e no path do Sistema Operacional.
  • Subversion, instalado e no path do Sistema Operacional.

Ainda, algumas dependências extras existem, como o uso do SvnStat, StatSvn e SvnAnt. Porém, essas bibliotecas já estão incorporadas dentro do ditetório /lib da instalação.

NOTA: Assim como o svntool, todas as suas dependências não possuem custo de licenciamento.

Instalação

  1. Baixe a ultima versao compactada do svntool em TODO.
  2. Descompacte o svntool em um diretorio, como /usr/local/svntool ou c:\tools\svntool. Esse diretorio sera chamado simplesmente de svntool_home a partir de agora.
  3. Edite o arquivo svntool_home/build.properties, ajustando as entradas para o seu ambiente operacional. O arquivo é auto-explicativo.
  4. Para testar, acesse svntool_home e digite "ant -p". A saida deve ser algo como abaixo:

Buildfile: build.xml

Main targets:

 admin.create               CORE: Cria um repositorio em uma area especifica
 admin.help                 CORE: Help do subcomando 'admin'.
 help                       CORE: Help da ferramenta 'svntool'.
 report.generate            CORE: Gera relatorios estatisticos a partir de um repositorio
 report.generate.checkout   AUX.: Efetua checkout de um repositorio
 report.help                CORE: Help do subcomando 'report'.
 svntool.dist               CORE: Cria uma distribuicao do svntool no arquivo 'svntool.zip'.
 sync.help                  CORE: Help do sumcomando 'sync'.
 sync.run                   CORE: Inicializa e mantem sincronizados repositorios
 sync.run.linux             AUX.: Efetua a sincronizacao no Linux.
 sync.run.windows           AUX.: Efetua a sincronizacao no Windows.
 sync.run.windows.robocopy  AUX.: Efetua a sincronizacao via utilitario robocopy
 sync.run.windows.synctoy   AUX.: Efetua a sincronizacao via utilitario synctoy
Default target: help

 As tarefas marcadas como "CORE" podem ser invocadas pelo usuário. As tarefas marcadas como "AUX" são internas da ferramenta e não devem ser invocadas pelo usuário, pois podem incorrer em mau funcionamento e/ou perda de dados.

Para obter ajuda sobre uma determinada tarefa, execute "ant tarefa.help", como abaixo:

D:\TRABALHO\Eclipse\3layer-public\incubator\svntool>ant admin.help
Buildfile: build.xml

admin.help:
     [echo] Parametros disponiveis: -Darea=dir -Drepo=repositorio
     [echo] onde:
     [echo]   dir         = Diretorio onde deve ser criado o repositorio.
     [echo]   repositorio = Nome do repositorio a ser criado.
     [echo]
     [echo] EXEMPLO 1: Cria o repositorio 'incubator' na area 'jboss' com autorizacao por area.
     [echo]
     [echo] ant admin.create -Darea=jboss -Drepo=incubator
     [echo]

BUILD SUCCESSFUL
Total time: 0 seconds
D:\TRABALHO\Eclipse\3layer-public\incubator\svntool>

Objetivos e Funcionamento

O svntool possui três grandes objetivos, sendo os dois últimos focados na automatizacação através de ferramentas de agendamento do Sistema Operacional :

  1. Criação de repositórios: Repositórios Subversion são criados com base em um repositório padrão (template), que pode ser configurado conforme a necessidade do projeto. Por padrão, o repositório template é um repositório vazio com a estrutura /branches, /tags e /trunk, típica para repositórios Subversion. Ainda, como forma de facilitar a estruturação, os repositórios criados pelo svntool seguem uma organização dividida por áreas, ou seja, diretórios separados. A figura abaixo facilita a compreensão:

    Confor mostra a figura, cada área possui um arquivo de autorização em separado, o que permite um equilíbrio na configuração de segurança para vários repositórios que possuem a mesma semântica (objetivos), como "projetos públicos", "projetos privados", "projetos do cliente X", etc.
  2. Geração de relatórios: Através dos utilitários SvnStat e StaSvn, diversos relatórios estatísticos em formato HTML são produzidos através de uma única chamada. Para um exemplo desses relatórios, acesse http://3layer.com.br/svnreport.
  3. Espelhamento de repositórios: Repositórios podem ser espelhados (replicados) de um ponto para outro, tanto local quanto remotamente. Isso facilita muito o trabalho de ter múltiplas cópias de um repositório, e também funciona como forma de backup segura. Em ambientes Windows a replicação é feita com ou uso do ótimo utilitário Robocopy (somente para Win32) ou então com o SyncToy (Win32 ou Win64) e no Linux, isso é feito através do utilitário RSync. Nota-se que, devido a alta sensibilidade da estrutura dos repositórios Subversion, é necessário o uso de scripts Python (do próprio site do Subversion) para evitar problemas durante o espelhamento. Em outras palavras, o processo de espelhamento é feito em duas partes, como mostra a figura abaixo:

Todas essas funcionalidades operam em ambientes Windows e Linux de 32 ou 64 bits de forma transparente.

Criacao de repositorios

A criacao de repositorios geralmente é uma das primeiras tarefas a serem realizadas. No svntool, essa tarefa é facilitada, onde o administrador do sistema simplesmente invoca o comando "ant admin.create -Darea=public -Drepo=teste".

Como resultado, o repositório chamado "teste" será criado dentro do diretório "public" localizado dentro do caminho especificado pela variável "$svn.root", localizada no arquivo svntool_home/build.properties. Em outras palavras, o caminho do repositório será "/$svn.root/public/teste".

Ao executar um comando como "svnlook info D:\DATA\SVN\public\teste", você verá uma saída como:

admin
2008-12-20 05:37:55 -0200 (sáb, 20 dez 2008)
32
Estrutura inicial do repositorio

Ou seja, a estrutura criada para o repositório "teste" é baseada no repositório template do svntool, localizado dentro da pasta /resources.

Se você acha que precisa uma estrutura diferente para o repositório template, conecte neste repositório template e altere-o conforme sua necessidade.

Caso o repositório a ser criado já exista, nenhuma alteração é feita sobre ele.

Caso deseje não utilizar áreas para os repositórios, utilize o parâmetro de área como vazio, como -Darea="".

  • Sem rótulos