Utilização do CVS
Instalação
A instalação do CVS irá depender da distribuição de Linux em uso, mas no geral será feita pelo package manager.
Abaixo seguem alguns exemplos:
- Arch Linux:
sudo pacman -S cvs
- Debian/Ubuntu/etc:
sudo apt install cvs
Transferir o projeto para a máquina local
No âmbito do projeto, o repositório CVS encontra-se no Sigma, numa pasta do AFS.
É assim necessário definir duas environment variables:
export CVS_RSH=ssh
export CVSROOT=:ext:ist1XXXXXX@sigma.tecnico.ulisboa.pt:/afs/ist.utl.pt/groups/leic-po/po22/cvs/XXX
Obviamente é necessário substituir os XXX
pelos valores tanto do utilizador como da pasta do grupo.
Utilização com Kerberos (avançado)
Para não ser necessário colocar a password do Fénix em todos os comandos AFS, pode-se usar o Kerberos para autenticação no Sigma.
Para tal, seguir este guia ou, em alternativa, o guia da ArchWiki e/ou da DSI.
Antes de prosseguir, garantir que se consegue fazer login por SSH sem utilizar password (e.g. ssh sigma
).
Depois basta alterar a variável CVSROOT
para utilizar o novo alias.
export CVSROOT=:ext:sigma:/afs/ist.utl.pt/groups/leic-po/po21/cvs/XXX
Finalmente, executar o comando que irá criar a pasta 'project', onde será colocado o vosso projeto:
cvs co project
A password de acesso é a mesma do Fénix (tal como se entrassem normalmente no Sigma).
DICA
Se quiserem dar outro nome à pasta (sem ser project
), usem o seguinte comando em vez do anterior, alterando folder_name
para o nome pretendido.
cvs co -d folder_name project
Adicionar ficheiros ao CVS
Só é preciso adicionar ficheiros novos (que o CVS ainda não conhece), depois disso só é preciso fazer commit de mudanças.
Adicionar ficheiro
cvs add <file_name>
Adicionar pasta
(se precisarem de adicionar um ficheiro que está numa pasta que o CVS ainda não conhece têm que adicionar a pasta primeiro)
cvs add <dir_name>
Fazer commit de mudanças
Para que as mudanças sejam enviadas para o AFS e o vosso colega de grupo (ou o Professor David Matos) possa ter acesso ao vosso trabalho têm que fazer commit das mudanças, para tal corre-se.
cvs commit -m "<mensagem_que_descreve_as_mudanças>"
Para aprender a escrever commit messages úteis podem ler isto ou isto.
warning
Atenção, se correrem o comando cvs commit
numa das subdiretorias do projeto só estão a considerar
os ficheiros dessa diretoria e as suas sub-diretorias,
como tal podem acidentalmente não fazer commit a tudo o que queriam fazer commit.
Receber as mudanças
Para terem acesso às mudanças do vosso colega de grupo precisam de executar cvs update
, isto vai buscar o estado do repositório ao AFS.
A página CVS Crash Course do Professor David Matos fala do CVS com mais pormenor.