# Guia do Linux/Avançado/CVS/Clientes de CVS
## Clientes de CVS

Esta seção traz alguns programas cliente em modo texto/gráfico e visualizadores de repositórios via web. Eles facilitam o trabalho de controle de revisão por parte de iniciantes e flexibilidade para pessoas mais experientes, além de ter uma interface de navegação disponível para todos os interessados em fazer pesquisas no repositório.

### cvs

Este é o cliente Unix padrão, bastante poderoso e que opera em modo texto. As explicações neste capítulo do guia assumem este cliente de cvs, então as explicações sobre sua utilização se encontra em [#s-s-cvs-p Criando projetos para serem usados no CVS, Seção 17.3] e os parâmetros de linha de comando em [#s-s-cvs-opcoescmd Opções de linha de comando, Seção 17.1.10] É altamente recomendável a leitura caso deseje utilizar um cliente de cvs gráfico, pois os conceitos são os mesmos.

### gcvs - Linux

Este é um cliente CVS em GTK Python para Linux que interage externamente com o cliente cvs externo, todas as opções do cvs estão disponíveis através de checkboxes nas telas de comando, incluindo suporte a compactação, visualizador gráfico da árvore de releases, histórico, diffs, etc. Sua instalação é bastante fácil, instale o programa com apt-get install gcvs e execute o programa através do menu do sistema ou do terminal. Utilize os seguintes procedimentos para configurar e utilizar o programa:
* Defina o repositório CVSROOT através do menu Admin/Preferences. Selecione o método de acesso, entre com o login, servidor e repositório.
O formato deve ser EXATAMENTE como o usado na variável CVSROOT no shell, incluindo os ":". Caso tenha erros de login, verifique o valor de CVSROOT cuidadosamente antes de contactar o administrador de sistemas!
* Agora faça o login no sistema em: Admin, Login. Note que o status de todas as operações do cvs são mostradas na janela de status que fica na parte inferior da tela.
* Crie um diretório que será usado para armazenar os fontes baixados do CVS, por exemplo: mkdir ~/projetos
* Acesse o menu Create, Checkout Module para baixar o projeto do CVS para sua máquina local. Ele irá te pedir o nome de diretório para onde o código fonte do servidor CVS será baixado. Digite ~/projetos ou outro diretório que foi criado no passo anterior.
OBS: Não utilize o nome "cvs" para o diretório local, pois o gcvs oculta automaticamente pois os arquivos administrativos de controle ficam neste local.
* Altere o diretório padrão do gcvs para o diretório onde baixou o projeto (~/projetos)clicando no botão "set" no topo da coluna esquerda do gcvs.
* Para enviar um arquivo modificado de volta ao servidor, selecione os arquivos, clique em Modify, Commit Selection, entre com a mensagem descrevendo as alterações e clique em "OK".
Note que os arquivos modificados serão identificados por um ícone vermelho e seu status será "Mod. File" (arquivo modificado).
* Se desejar adicionar um novo projeto no CVS, entre em Create, Import Module, entre no diretório que deseja adicionar como um projeto no servidor de CVS. Após isto será feita uma checagem e mostrada uma tela de possíveis problemas que podem ocorrer durante a importação do novo projeto.
Na próxima tela, digite o nome do módulo e caminho no servidor remoto no primeiro campo, no segundo campo a mensagem de log para adicionar o projeto ao servidor. Em "Vendor tag" especifique o nome do projeto e sua versão logo abaixo. Clique em "OK" e aguarde a transferência dos arquivos para o servidor. Para maiores detalhes sobre a criação de novos projetos no servidor de CVS, veja [#s-s-cvs-p-import Adicionando um novo projeto, Seção 17.3.6]. OBS: Você deverá ter permissão de gravação para criar um novo projeto no servidor CVS.
* A partir de agora você poderá explorar as funções do programa e fazer uso das funções habituais do CVS. Todas as funções de operação e opções extras do CVS estão disponíveis na interface gráfica, basta se acostumar com sua utilização.
Após isto, explore bastante as opções do programa. Todas as funcionalidades do CVS estão organizadas entre os menus do programa. Caso não entenda bem as funções do programa, leia atentamente [#s-s-cvs-p Criando projetos para serem usados no CVS, Seção 17.3] e também não deixe de consultar detalhes na info page do cvs.

### WinCVS - Windows

Este é um cliente CVS em Python para Windows equivalente ao gcvs para Linux. Suas funcionalidades e recomendações são idênticas aos do gcvs. Este cliente pode ser baixado de: http://telia.dl.sourceforge.net/sourceforge/cvsgui/WinCvs13b13.zip e o Python para Windows de http://starship.python.net/crew/mhammond/downloads/win32all-153.exe. Para sua utilização, as explicações em [#s-s-cvs-c-gcvs gcvs - Linux, Seção 17.5.2] são totalmente válidas.

### MacCVS - Macintosh (PPC)

Idêntico ao gcvs, pode ser baixado de http://telia.dl.sourceforge.net/sourceforge/cvsgui/MacCvsX-3.3a1-1.dmg.

### viewcvs

Este é um visualizador de repositórios CVS via web, ele precisa apenas de um servidor web instalado com suporte a CGI. Para instalar, execute o comando apt-get install viewcvs e siga os passos para configurar programa. Para adequar melhor o viewcvs ao seu sistema, edite o arquivo /etc/viewcvs/viewcvs.conf. O viewcvs possui uma interface que se parece com a navegação de um diretório de ftp, recursos como a extração de diffs coloridos entre versões de um arquivo selecionado, visualização de commits (com data, log do commit, usuário, etc.), classificação da listagem exibida. OBS:Leve em consideração as implicações de segurança impostas por aplicativos cgi sendo executados em seu sistema. Veja [ch-s-apache.html Apache, Capítulo 12] para entender melhor o assunto.