svnadminUma ferramenta para criar, ajustar ou reparar um repositório Subversion.
Criando um repositóriosvnadmin create ou
svnadmin create /*Para alterar alguma coisa no repositório é necessário, após a criação, baixar uma cópia de trabalho, através do comando “checkout”, alterar e usar o comando “commit” para enviar alterações.
svnserveUm programa servidor independente, que roda como um processo daemon ou pode ser invocado via SSH. É um modo de tornar o repositório disponível na rede.
Tornando o repositório disponível na rede através do protocolo svn
svnserve -d -r Desta forma, pode-se acessar o repositório de outras máquinas, através do ip ou hostname.
svn ls svn://svnO programa cliente para linha de comando.
Comandos para as funcionalidades do controle de versão (checkout, commit, update, etc.)
*Cada comando possui subcomandos para ações específicas.
Importando arquivo ou conteúdo de diretório para o repositóriosvn import svn:// -m ou
svn import file:/// -m *É necessario o uso de um protocolo (svn, file, etc.), pois o svn só trabalha com url’s.
*Ao importar um diretório, para usar o conceito de branch, tag e trunk, é necessário que se importe uma pasta à qual contém o projeto a ser armazenado no repositório contendo as pastas branch e tag (ambas vazias) e trunk (com os arquivos do projeto).
Adicionando arquivos ou diretóriossvn add *Os arquivos serão adicionados ao repositório no próximo commit.
Removendo arquivos do repositóriosvn rm svn commit *Exclui da cópia local e dá um commit para o repositório
ou
svn rm *Para excluir diretamente do repositório
Listar todos os repositórios disponíveis no servidor srvbuild.svn ls ou
svn list Há também outra forma de listar o conteúdo do repositório, passando diretamente o caminho onde ele se encontra no disco.
svn ls file:///Outros parâmetros podem ser passados, como formas diferentes de listar o conteúdo do repositório.
svn ls –recursive *Desce recursivamente aos conteúdos de cada diretório
svn ls –verbose *Lista informações adicionais
Baixar uma cópia dos arquivos disponíveis no repositóriosvn co ou
svn checkout Adicionalmente podem ser passados alguns parâmetros para baixar revisões específicas.
svn co svn:/// -r ou
svn co file:/// -r *Neste caso para acessar diretamente o local onde se encontra o repositório
Visualizar informações referentes à uma cópia de trabalho ou item remoto svn infoou
svn info Atualizar uma cópia local com a disponível no repositório svn update *Se estiver na pasta local de trabalho
ou
svn update Listar modificações feitas na cópia de trabalho.svn diff *Se estiver na pasta local de trabalho
ou
svn diff svn diff lista as linhas dos arquivos que sofreram modificações daquelas que estão no repositório.
Listar os arquivos modificados na cópia de trabalhosvn status *Se estiver na pasta local de trabalho
ou
svn status svn status lista os arquivos que sofreram modificações daqueles que estão no repositório.
Enviar as alterações efetuadas na cópia local para o repositório.svn commit -m *Se estiver na pasta à qual possui os arquivos locais do repositório
ou
svn commit -m *A frase é o relato das alterações que estão sendo postadas
Liberar uma “release” para o repositórioApós efetuar todos os testes encima do projeto em desenvolvimento o mesmo deve ser disponibilizado como uma cópia estável para a pasta branches do projeto que está sendo desenvolvido. Para isso, é necessário fazer um checkout da ultima versão do projeto no repositório e simplesmente copiar a pasta trunk para dentro da pasta branches.
Trabalhando com a cópia local:
svn checkout / cd svn copy trunk branches/ *Copiando a pasta trunk para a pasta branches
svn status *Para listar os arquivos que sofreram modificações.
svn commit *Somente agora as alterações vão para o repositório
Trabalhando diretamente no repositórioO comando svn copy pode operar sobre diretórios ou diretamente sobre as URL’s do repositório.
svn copy //trunk //branches -m Visualizar logs de alteraçõessvn log *Mostra as descrições das alterações feitas nos arquivos ou diretórios
ou
svn log –verbose *Mostra as descrições e os arquivos que sofreram alterações
PropriedadesÉ possível a atribuição de propriedades à arquivos ou diretórios contidos no repositório.
Listar propriedades de um projeto
svn propget ou
svn status *Se estiver na pasta à qual possui os arquivos locais do repositório
ou
svn status Setar propriedades em um projetosvn propset copyright ‘’ svn://srvbuild/repos/sgiapi-testesou
svn propset -R ou
svn propset -F >
*As propriedades devem ser setadas em uma cópia local, e realizar commit para efetivação no repositório.
Existem vários tipos de propriedades definidas pelo subversion que podem ser atribuidas aos projetos.
Ligações Externas (svn:externals)As definições externas são um tipo especial de propriedades, que criam um link à arquivos em outro local no repositório. São um mapeamento de um diretório local para a URL.
Alguns comandos para trabalhar com definições externas:
Setar a propriedade svn:externals para uma cópia localsvn propset svn:externals “ ” l>
svn commit *Para enviar as ligações externas ao repositório
Desta forma, é criado um link à pasta
dentro do fazendo com que, após o commit, sem que se realize um checkout sobre o repositório, automaticamente se baixe os fontes referentes à definição externa. É bastante útil, caso possua uma API, ou libs que sejam necessários para vários projetos. Sendo que quando se realiza manutenção sobre a API ou sobre as libs, a mesma se aplica a todos os projetos que fazem dela uma definição externa.
Listar Ligações externas à um projeto
svn propget svn:externals
*Lembrando que os exemplos entre “<…>” deverão ser substituídos pelo caminho do arquivo ou diretório ou url.
Fonte: http://samuca.wordpress.com/2007/04/12/tutorial-subversion/