Você está na página 1de 18

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior

Instalando e Configurando o Subversion e Projetos


Ricardo F. Minz Estrada dos Cdigos http://estradadoscodigos.blogspot.com
ricardominze@{gmail.com,yahoo.com.br}

Abstract. This article discusses briefly the configuration and creates projects in Subversion (Svn). Resumo. Este artigo aborda de forma sucinta a configurao e criao de projetos no Subversion (Svn). Palavras-chave: Subversion, Svn, Configurao, Projeto, Controle, Verso

1. Introduo
Neste documento ser tratada de forma direta a configurao e criao de projetos no Subversion que um servidor de controle de verso para arquivos, bastante importante para quem trabalha em equipe, e essencial para controle de alteraes.

2. Instalao
Antes da instalao vamos baixar o nosso instalador que voc pode obter no link baixo: http://subversion.wandisco.com/subversion-downloads/3-subversion-commandline-binaries.html Durante a o processo de instalao ser utilizado o caminho padro da aplicao C:\Arquivos de Programas\Subversion\, e a pasta do servidor ser C:\svn. 1 Tela inicial de instalao

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior

2 Tela de instrues

3 Tela de escolha do local do local de instalao

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior

4 Tela de inicio da instalao

3. Configurao do Svn
Aps o processo de instalao, vamos iniciar o processo de configurao do servidor de svn, vamos criar uma pasta chamada svn em C:\, depois da criao da pasta teremos o seguinte caminho C:\ svn.

Aps criarmos a pasta svn que ir conter todos os projetos que futuramente sero criados, preciso criar um servio que iniciar o processo do servidor svn: sc create SVN binpath= "\"C:\Arquivos de Programas\Subversion\bin\svnserve.exe\" --service --root C:\svn" displayname= "SVN" depend= Tcpip

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Caso o comando tenha criado o servio com sucesso dever aparecer a seguinte mensagem:

Obs.: Este comando dever ser executado em apenas uma linha no DOS (cmd) Aps criado o servio do servidor de svn, o prximo passo criar a estrutura de diretrios no servidor svn pelo prompt de comando com o seguinte comando: svnadmin create C:\ svn\projeto

Antes da execuo do comando a estrutura da pasta de instalao do subversion encontra-se desta forma:

Aps da execuo do comando a estrutura da pasta de instalao do subversion encontra-se desta forma:

Depois que a estrutura foi criada aps os comandos serem executados no servidor do Svn, preciso agora criar a estrutura de pastas do nosso projeto em qualquer lugar, vamos criar uma pasta com o nome de projeto na unidade C:

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior

Agora dentro da pasta do projeto sero criadas mais 3 pastas para compor a estrutura recomendada dos projetos criados no Svn contendo as pastas trunk (pasta que contm os cdigos fontes trabalhados atuais), banches (pasta que contm as junes de verses de cdigo fontes em uma nica verso), tags (pasta que contm as verses de cdigo fontes geradas dos arquivos):

Depois de criada a estrutura do projeto, basta dar o comando import no svn apontando do caminho da pasta criada no Windows para a pasta criada no svn:

Depois de executado com sucesso este comando, o console retornar a seguinte resposta:

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Depois do passo anterior, antes de configurarmos o projeto no eclipse precisamos criar um usurio para o projeto e uma senha para liberar o acesso ao projeto no servidor svn, e para isso precisamos alterar alguns arquivos que esto nesta estrutura:

Dentro da pasta conf existe um arquivo chamado svnserver.conf , abra este arquivo com o bloco de notas.

Dentro do arquivo que voc acabou de abrir dever ter o seguinte texto:
### This file controls the configuration of the svnserve daemon, if you ### use it to allow access to this repository. (If you only allow ### access through http: and/or file: URLs, then this file is ### irrelevant.) ### Visit http://subversion.tigris.org/ for more information. [general] ### These options control access to the repository for unauthenticated ### and authenticated users. Valid values are "write", "read", ### and "none". The sample settings below are the defaults. # anon-access = read # auth-access = write ### The password-db option controls the location of the password ### database file. Unless you specify a path starting with a /, ### the file's location is relative to the conf directory. ### Uncomment the line below to use the default password file. # password-db = passwd ### The authz-db option controls the location of the authorization ### rules for path-based access control. Unless you specify a path ### starting with a /, the file's location is relative to the conf ### directory. If you don't specify an authz-db, no path-based access ### control is done. ### Uncomment the line below to use the default authorization file. # authz-db = authz ### This option specifies the authentication realm of the repository. ### If two repositories have the same authentication realm, they should ### have the same password database, and vice versa. The default realm ### is repository's uuid. # realm = My First Repository

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Voc pode apagar todo o texto do arquivo e apenas colocar as seguintes linhas: [general] #anon-access=read #auth-access=write password-db=passwd authz-db=authz realm=Projeto Significado de cada linha: [general] => Cabealho do tipo de configurao #anon-access=read => Acesso annimo apenas para leitura (deixar comentado) #auth-access=write => Acesso autenticado apenas para escrita (deixar comentado) password-db=passwd => Arquivo de usurios (arquivo no mesmo diretrio) authz-db=authz => Arquivo de autorizao para usurios (arquivo no mesmo diretrio) realm=Projeto => Nome do projeto Ainda dentro da pasta conf existe um arquivo chamado passwd, abra este arquivo com o bloco de notas.

Dentro do arquivo que voc acabou de abrir dever ter o seguinte texto:
### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret

Voc pode apagar todo o texto do arquivo e apenas colocar as seguintes linhas: [users] ricardo=123 Significado de cada linha: [users] => Cabealho do tipo de configurao ricardo=123 => Usurio e senha

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Ainda dentro da pasta conf existe um arquivo chamado authz, abra este arquivo com o bloco de notas.

Dentro do arquivo que voc acabou de abrir dever ter o seguinte texto:
### This file is an example authorization file for svnserve. ### Its format is identical to that of mod_authz_svn authorization ### files. ### As shown below each section defines authorizations for the path and ### (optional) repository specified by the section name. ### The authorizations follow. An authorization line can refer to: ### - a single user, ### - a group of users defined in a special [groups] section, ### - an alias defined in a special [aliases] section, ### - all authenticated users, using the '$authenticated' token, ### - only anonymous users, using the '$anonymous' token, ### - anyone, using the '*' wildcard. ### ### A match can be inverted by prefixing the rule with '~'. Rules can ### grant read ('r') access, read-write ('rw') access, or no access ### (''). [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # harry = rw # &joe = r #*= # [repository:/baz/fuz] # @harry_and_sally = rw #*=r

Voc pode apagar todo o texto do arquivo e apenas colocar as seguintes linhas: #[aliases] #[groups] #[/foo/bar] # [repository:/baz/fuz]

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior possvel definir grupos informando os usurios que fazem parte desse grupo. [groups] grupo1 = usuario1, usuario2, usuario3 grupo2 = usuario3, usuario4, usuario9 grupo3 = usuario5, usuario2, usuario6 Os prximos blocos indicam as polticas de acesso que definiremos para cada repositrio ou subseco de um repositrio. Para isso temos dois tipos de privilgios: r = privilgio de leitura w = privilgio de escrita Se quisermos definir uma poltica vlida para todos os repositrios, basta identificarmos atravs do bloco raiz. Os blocos que identificam polticas por repositrio tem o seguinte formato: [<repositorio>:<path>] Por exemplo: [repositorio1:/] Indicar as permisses para o repositorio1 inteiro; [repositorio1:/cliente02/] Indicar as permisses apenas para a estrutura /cliente02 dentro do repositorio1; [/] Indicar as permisses para todos os repositrios; esse tipo de entrada no tem precedncia alguma, e qualquer definio seletiva por repositrios sobrepe essas definies; O formato de regras de acesso para cada repositrio segue o padro: [<repositorio>:<path>] <usuario> = <privilegio> <usuario> = <privilegio> Podem haver inmeras linhas de permisses por bloco; os recursos <privilegio> j conhecemos, podem ser r (leitura) ou w (escrita), e <usuario> pode ser: * todos os usurios; @grupo um grupo de usurios; usurio apenas o usurio;

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Vamos exemplificar agora a configurao do arquivo authz: Definio de grupos: [groups] grupo1 = patrick, usuario2 grupo2 = usuario2, cliente3 Poltica de acesso por repositrios: [/] * => Todos os diretrios => Todos os usurios

Repositorio projeto01 [projeto01:/] @grupo1 = rw @grupo2 = r Repositorio projeto02 [projeto02:/] *=r @grupo1 = rw [projeto02:/publico] * = rw [projeto02:/ramo2] usuario2 = rw Depois de definidas nossas polticas de acesso aos repositrios, vamos passar para a prxima parte, que ser a configurao de um projeto de svn no eclipse. Depois que o servidor svn estiver instalado, o primeiro passo para a configurao do eclipse iniciar o servio do servidor, v ao seguinte menu: Iniciar => Configuraes => Painel de Controle => Ferramentas Administrativas

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Agora no cone de servios d um duplo clique, depois voc estar ma lista de servios:

Depois de iniciado o servio do servidor svn podemos abrir o eclipse, prefira uma verso do eclipse que j tenha o plugin de cliente do svn. Acesse => Windows => Preferences => Busque SVN => Selecione SVN

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Selecione a interface de cliente chamada SVNKit (Pure Java). Agora que o cliente correto est selecionado para a conexo com o svn, podemos iniciar a configurao do projeto que fizemos via DOS no inicio deste documento. Para acessar o repositrio preciso ir na seguinte opo do eclipse: File => New => Other

Agora selecione a opo Checkout Projects from SVN

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Selecione a opo Create a new repository location

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Agora vamos colocar a url de conexo com o servidor: svn:// <ip ou nome do servidor> / <repositrio>

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Selecione a pasta trunk que ser a pasta de trabalhos correntes nos arquivos do projeto:

Configure as prximas configuraes de acordo com a tela a seguir:

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Agora selecione o local onde os arquivos sero armazenados para serem trabalhados em no computador:

Como resultado principal temos o nosso projeto disponvel para trabalho no eclipse.

Instalando e Configurando o Subversion e Projetos Ricardo Francisco Minz Jnior Espero ter contribudo ricamente ao conhecimento dos que buscam como configurar o SVN em sua maquina ou em servidores para desenvolvimento de software. At o prximo tutorial.