Estão disponíveis repositórios de CVS para utilização durante o projecto conjunto de ES+SD. Uma vez que cada campus tem recursos informáticos próprios, a tabela seguinte descreve os dois repositórios CVS existentes, devendo os alunos utilizar o repositório do campus a que pertencem:
Campus | Sistema de Autenticação | Servidor | Repositório |
---|---|---|---|
Alameda | LoginRNL | sdes2008.rnl.ist.utl.pt |
/home/cvs |
Taguspark | Identidade T.D.I. | tlinux.tagus.ist.utl.pt |
/afs/tagus/courses/dei/es0/public/repository |
Existem várias formas de acesso ao repositório. A forma mais aconselhada, por ser a única que é segura, é utilizar o modo :ext: com ssh. Para tal devem definir as seguintes variáveis de ambiente1:
CVSROOT=:ext:<utilizador>@<servidor>:<repositório>
CVS_RSH=<ssh>
onde <utilizador>
corresponde ao login
(no sistema de autenticação) da pessoa que está a usar o CVS
e <ssh>
é o path para o ficheiro
executável do programa SSH instalado na máquina cliente.
Dentro do repositório existe um módulo para cada grupo. O módulo tem o nome igual ao do grupo (com o formato <inicial do campus><grupo de SD><grupo de ES>, ex.: T0112 para um grupo do Taguspark, inscrito com o número 01 a SD e com o número 12 a ES; A0016 para um grupo da Alameda, inscrito apenas em ES com o número 16)2.
Cada grupo deve manter a seguinte estrutura de directórios dentro do seu módulo:
<modulo> <-- módulo do grupo | `-LojaVirtual <-- projecto do sistema LojaVirtual |-- lib <-- bibliotecas comuns aos vários sub-projectos |-- import-ant <-- ferramenta ImportAnt |-- Armazem <-- sub-projecto da aplicação Armazém | |-- core | |-- view | |-- ws | `-- ws-client |-- Pagamento <-- sub-projecto da aplicação Pagamento | |-- core | |-- view | |-- ws | `-- ws-client |-- Expedicao <-- sub-projecto da aplicação Expedição | |-- core | |-- view | |-- ws | `-- ws-client |-- Loja <-- sub-projecto da aplicação Loja Virtual | |-- core | |-- view | `-- web `-- SAut <-- sub-projecto da aplicação Serviço de Autenticação |-- core |-- view |-- ws `-- ws-client
Todas as entregas são realizadas através do CVS. Não são aceites
entregas de ficheiros por e-mail. Em cada entrega, os ficheiros devem
ser etiquetados recorrendo aos comandos tag
ou
rtag
.
A hora limite de cada entrega é até às 20h do dia dessa entrega. Esta hora é controlada automaticamente pelo relógio do servidor pelo que os ficheiros que pretenderem entregar deverão ser etiquetados ANTES da hora limite. Não são aceites entregas após a hora limite.
Todas as etiquetas devem ser atribuídas recursivamente a todos os ficheiros a partir do directório LojaVirtual, i.e., todos os ficheiros devem ser etiquetados.3
A tabela seguinte descreve os nomes que deverão ter as etiquetas a colocar em cada entrega.
Data Entrega | Etiqueta |
---|---|
2 Abril 2008 | RELEASE_1 |
30 Abril 2008 | RELEASE_2 |
6 Junho 2008 | RELEASE_3 |
NOTA: as etiquetas são case sensitive.
O espaço ocupado pelos ficheiros no CVS pode descontar do espaço em disco que cada utilizador tem no servidor. O erro mais comum durante as entregas de projectos é falta de espaço na área do utilizador que está a etiquetar os ficheiros.
Para evitar problemas, garantam sempre que têm suficiente espaço livre na área, especialmente durante commits e tags. Estejam atentos às mensagens de erro. Se for necessário, libertem espaço e repitam a operação4.
Confirmem que estão a entregar os ficheiros pretendidos nas versões pretendidas! A melhor forma de confirmar é efectuar um checkout da etiqueta que acabaram de colocar e testar se está tudo bem.
1 Este exemplo é para uma utilização
directa na shell. A utilização via Eclipse necessita apenas da
definição prévia da variável de ambiente CVS_RSH
, pois a
definição da localização do repositório é efectuada dentro do eclipse.
2 Embora existam vários módulos o
repositório é apenas um, pelo que o nome utilizado na
variável CVSROOT
não tem de ser alterado para cada grupo,
definindo-se sempre com o valor indicado para cada um dos campi.
(NÃO necessitam de inicializar o repositório.)
3 Em CVS, um mesmo ficheiro pode ter várias etiquetas.
4 Quando uma operação no CVS falha
por falta de espaço em disco, é possível que apenas parte da operação
tenha sido concluída. No caso de etiquetação é possível mover etiquetas
ou re-etiquetar ficheiros, caso uma etiqueta já tenha sido atribuída
anteriormente. Ver opção '-F' da operação tag
.