Localização e Acesso

Os repositórios CVS para os projectos (um por grupo) já contêm versões iniciais de todos os projectos (i.e., já foi feito o "import" inicial). Os repositórios estão disponíveis no AFS em:

  • /afs/ist.utl.pt/groups/leic-po/po14/cvs -- esta directoria não deve ser utilizada directamente
No texto que se segue:
  • ### designa o número do grupo sempre com três dígitos
  • ##### designa o número de aluno, sempre com cinco dígitos

Assim, os valores possíveis para a variável de ambiente CVSROOT ou pela opção -d do comando "cvs") são:

  • /afs/ist.utl.pt/groups/leic-po/po14/cvs/### (disponível em qualquer máquina com AFS e utilizador com token válido para a célula ist.utl.pt)
  • :ext:ist1#####@sigma.ist.utl.pt:/afs/ist.utl.pt/groups/leic-po/po14/cvs/### (disponível via SSH; verificar que CVS_RSH=ssh)

Os alunos que ainda não visitaram o self-service do CIIST  [ https://ciist.ist.utl.pt/servicos/self_service/ ], devem fazê-lo, para activação dos serviços relevantes (AFS e Shell, pelo menos). Sem isso, não conseguirão desenvolver ou entregar o projecto, reprovando à disciplina.

Os testes diários sobre o repositório CVS estão aqui: http://goo.gl/EKAuyQ

Estrutura de Módulos no Repositório

Cada projecto é constituído por módulos (por exemplo, no eclipse, são projectos independentes):

  • project/poof-core
  • project/poof-textui
Estes módulos podem ser obtidos em conjunto fazendo checkout de project ( não recomendado, pois podem aparecer interferências indesejáveis -- configurações de eclipse, por exemplo).
 
O repositório já tem a seguinte estrutura -- esta estrutura não pode ser alterada:
  • Makefile (makefile "principal" -- repete a acção sobre as secundárias)
  • poof-core (directoria principal da biblioteca com a funcionalidade sem interface "gráfica")
  • poof-core/Makefile (makefile secundária, semelhante à disponibilizada no "core" da aplicação bancária)
  • poof-core/src (directoria onde deve residir o código do "core", à semelhança do que acontece na aplicação bancária)
  • poof-textui (directoria correspondente interface baseada em texto)
  • poof-textui/Makefile (makefile secundária, semelhante à disponibilizada na biblioteca "textui" da aplicação bancária)
  • poof-textui/src (directoria onde já reside o código da interface textual, à semelhança do que acontece com a biblioteca equivalente na aplicação bancária)

Esta estrutura já contém comandos parcialmente implementados. Estas implementações devem ser adaptadas ao código particular de cada projecto, mas os nomes das classes em poof-textui não podem ser alterados.

Cuidados no Uso do Repositório

NÃO FAZER

  • cvs init (não é necessário: o repositório já existe)
  • cvs import (não é necessário: o projecto já existe)
  • cd /afs/ist.utl.pt/groups/leic-po/po14/cvs (ou qualquer outra manipulação directa do repositório: toda a interacção com o repositório deve ser limitada ao comando "cvs")

FAZER

Obter a versão inicial do projecto:

  1. cvs co project (é automaticamente criada uma directoria controlada pelo CVS com o nome project, com a estrutura apresentada acima)
  2. Editar o material obtido e produzir novo material.
  3. cvs add ficheiro1 ficheiro2 ... ficheiro3 (adicionar ficheiros novos ao projecto no CVS)
  4. cvs update (verificar que não foi esquecido nenhum ficheiro importante: voltar a 3 até terem sido todos adicionados)
  5. cvs commit (enviar alterações dos ficheiros iniciais para o repositório e enviar os novos ficheiros)

OBSERVAÇÕES IMPORTANTES

  • No ponto 3 acima, é importante notar que quando se quer adicionar o conteúdo de uma (sub)directoria, deve ser primeiro adicionada a própria directoria e, só depois, o seu conteúdo.
  • Não adicionar cópias das bibliotecas po-uilib, poof-support ao projecto (serão removidas e quaisquer alterações perdidas -- isto pode causar problemas de compilação e perda de nota).
  • Pessoas sem área no AFS ou sem login no Sigma não poderão aceder ao conteúdo do repositório ou às imagens das máquinas virtuais: para activar estes acessos, consultar o self-service do CIIST. Em caso de dificuldade, consultar o corpo docente.
  • A estrutura do projecto no CVS deve ser mantida como apresentado e cada biblioteca do projecto deve ser, em geral, semelhante, em estrutura, às apresentadas para a aplicação bancária.
  • Em caso de dúvidas, consultar o corpo docente.

Esta página contém um crash course (muito curto) sobre CVS: http://goo.gl/jdB92I

Agradece-se a comunicação de eventuais problemas.