Os Tutorias Mais Práticos da Web

Consiga rapidamente colocar em prática novas tecnologias. Para obter maiores informações sobre conceitos, procure as referências ao final de cada post.

Pesquisa personalizada

quarta-feira, 9 de julho de 2008

Tutorial sobre Subversion - Parte 2: Criando uma Cópia de Trabalho Local e Comandos Básicos do Dia-a-Dia

No post anterior, aprendemos a como configurar um repositório Subversion (SVN) em um servidor. Clique aqui para maiores detalhes.

Criando uma Cópia de Trabalho na Máquina Local

Para criar uma cópia de trabalho, utilize o comando:

svn checkout file:///c:/repositorio/trunk c:/copia1 (Win)
svn checkout file:///repositorio/trunk c:/copia1 (Linux)

Obs1: o diretório copia1 não deve existir previamente.

Obs2: o protocolo file:/// deve ser usado quando o repositório Subversion e a cópia de trabalho local estão na mesma máquina; caso as máquinas sejam diferentes (repositório Subversion em uma e cópia de trabalho em outra) o checkout deve ser utilizado o protocolo svn:// da seguinte forma

svn checkout svn:///repositorio/trunk c:/copia1 (Win)
svn checkout svn:///repositorio/trunk c:/copia1 (Linux)

No tutorial será usado o protocolo file:///, caso você esteja em máquinas diferentes (repositório Subversion e cópia de trabalho local), basta substituir pelo protocolo svn:// como acima.

Obs3: o checkout deve ser feito em cima da pasta trunk, que é a linha principal de desenvolvimento do projeto.

Sincronizando a Cópia de Trabalho com o Repositório Subversion

Para atualizar sua cópia de trabalho com os arquivos que estão no repositório Subversion, execute o comando:

svn update c:/copia1 (Win)
snv update /copia1 (Linux)

Marcando um Arquivo para Versionamento na Cópia de Trabalho

Para marcar um arquivo para versionamento na cópia de trabalho, use o comando:

svn add c:/copia1/teste.txt (Win)
svn add /copia/teste.txt (Linux)

Obs1: considera-se aqui que você criou um arquivo teste.txt no diretório copia1.

Enviando as Alterações da Cópia Local para o Repositório Subversion

Para enviar as alterações que você realizou em sua cópia local (nesse caso, somente a adição de um arquivo, mas o comando serve para qualquer tipo de alteração da cópia local), utilize o comando:

svn commit c:/copia1 -m "Adicao do arquivo teste.txt." (Win)
svn commit /copia1 -m "Adicao do arquivo teste.txt." (Linux)

Removendo um Arquivo Versionado

Para remover um arquivo versionado, não basta excluí-lo via o sistema operacional, pois a próxima vez que um update for executado na cópia de trabalho local, o arquivo será restaurado. Dessa forma, para excluí-lo locamente, mas também no repositório Subversion, use o comando:

svn delete c:/copia1/teste.txt
svn delete /copia1/teste.txt

Obs1: o comando delete afeta o repositório Subversion somente após a execução do comando commit.

Referências

- Documentação do Subversion (é automaticamente instalada junto com o Subversion);

Glossário
  • cópia de trabalho: estrutura de diretórios, em uma máquina local, que corresponde a um projeto armazenado em um repositório Subversion (este último localizado em um servidor).

segunda-feira, 7 de julho de 2008

Tutorial sobre Subversion - Parte 1: Configurando um Repositório

Iniciando o Servidor Subversion

Após a instalação do Subversion, abra um console do seu sistema operacional e inicie o servidor por meio do comando:

svnserve -d

Criando o Repositório Subversion

Crie o repositório do seu projeto por meio do comando (observe o respectivo comando em relação ao SO que você usa):

svnadmin create c:/repositorio (Win)
svnadmin create /repositorio (Linux)

Habilitando Acesso Autenticado ao Repositório Subversion

Habilite somente o acesso autenticado ao repositório editando o arquivo repositorio/conf/svnserve.conf e descomentando as seguintes linhas (retire o # inicial de cada linha para descomentá-las):

# [general]
# auth-access = write
# password-db = passwd

Configurando os Usuários que Têm Acesso ao Repositório Subversion

Determine quais são os usuários que terão acesso ao repositório editando o arquivo repositorio/conf/passwd e descomentando as seguintes linhas (retire o # inicial de cada linha para descomentá-las):

# [users]
# harry = harryssecret
# sally = sallyssecret

Após isso, substitua os nomes dos usuários que estão no arquivo (harry e sally) para os nomes das pessoas da sua equipe de desenvolvimento, bem como altere também as respectivas senhas (harryssecret e sallyssecret).

Criando a Estrutura de Diretórios Template para Repositórios Subversion

Crie um diretório chamado template e dentro dele crie, novamente, os três seguintes diretórios (essa é a estrutura inicial que será importada para o repositório que você criou, sendo recomendada pelos próprios desenvolvedores do Subversion):

trunk
branches
tags

Importando a Estrutura de Diretórios Template para o Repositório Subversion

Importe o diretório template para o repositório por meio do comando:

svn import c:/template file:///c:/repositorio -m "Importacao inicial." (Win)
svn import /template file:///repositorio -m "Importacao inicial." (Linux)

Nesse comando, o parâmetro -m especifica a mensagem relativa a importação inicial, sendo obrigatório.

Referências

- Documentação do Subversion (é automaticamente instalada junto com o Subversion);

Glossário
  • branches: diretório em que são feitos testes, por exemplo, de experimentação de tecnologia, de adoção de novos paradigmas de programação, entre outros; existe principalmente para que tais testes não sejam feitos na linha principal de desenvolvimento (trunk).
  • repositório: local de armazenamento dos arquivos no servidor, sendo gerenciado pelo Subversion.
  • tags: diretório em que são armazenadas as versões que são disponibilizadas para o cliente; por exemplo, versão 1.0, versão 1.1, etc.
  • trunk: diretório principal de desenvolvimento em que toda (ou quase toda) a equipe trabalha.