====== Usando o CVS via linha de comando no Linux ======
===== Iniciando o uso - obtendo os dados iniciais =====
* Crie uma pasta do tipo //terralib_cvs// e entre nela
mkdir terralib_cvs
cd terralib_cvs
* Logue como //anonymous// no CVS da DPI:
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib login
* Baixe o //src, terralibx// e //extensions//. Caso não esteja no INPE, essa atividade pode demorar (e como!). E o servidor tem dias que fica pior que atacante dentro da área: é um cai-cai miserável.
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib co src
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib co terralibx
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib co extensions
* Efetue o logout:
cvs -d :pserver:anonymous@cvs.dpi.inpe.br:/home/terralib logout
* Entre na pasta //extensions//:
cd extensions
* Efetue o login como usuário da rede (para ter acesso aos fontes do terraOGC):
cvs -d :pserver:seu_login@cvs.dpi.inpe.br:/home/terralib login
* Agora sim, baixe o terraOGC:
cvs -d :pserver:seu_login@cvs.dpi.inpe.br:/home/terralib co terraOGC
* Por fim, efetue o logout:
cvs -d :pserver:seu_login@cvs.dpi.inpe.br:/home/terralib logout
===== Usando o CVS do TerraOGC =====
* Efetue o login como usuário da rede (para ter acesso aos fontes do terraOGC):
cvs -d :pserver:seu_login@cvs.dpi.inpe.br:/home/terralib login
* Vá para o diretório onde quer realizar o update (fontes do ows, por exemplo):
cd terraOGC/src/ows
* Pode visualizar as diferenças entre os arquivos
cvs diff
* Cheque antes de mandar os arquivos. Se tiver algum conflito, aparecerá o **C**, (veja tabela de equivalência das letras [[twsg:dicas:uso_cvs_linux#sumario_das_operacoes|aqui]])
cvs -n update
* Atualize seus dados locais antes de mandar as atualizações
cvs update
* A opção ''P'' desconsidera pastas vazias e ''d'' cria diretórios novos que existem no repositório mas não na máquina local.
cvs update -Pd
* Agora mande os arquivos de fato
cvs ci [*|(nome_arquivo)*]
* Atualizando no repositório todos os arquivos da pasta atual com uma mensagem de log
cvs ci -m "Novos arquivos adicionados e alguns atualizados"
===== Adicionando e removendo pastas e arquivos =====
* Para adicionar um arquivo, ou muitos arquivos (sempre //comitando// no final)
cvs add novoArquivo
cvs add *
cvs add TeXYZClasse.h TeXYZClasse.cpp
cvs ci
* Pode colocar msgs junto
cvs add -m "Adicionando varios arquivos" *
* Para adicionar um diretório
cvs add novoDir
cvs ci novoDir
* Para remover arquivos e diretórios, é bem simples também:
cvs remove arquivo1.h arquivo1.cpp ...
cvs remove diretorio
cvs ci -m "Removendo as classes ..."
===== Sumário das operações =====
* Baseado no material de Junqueira e Ignácio Jr
{{ twsg:dicas:imagens:tabela_cvs.png }}