Repositório CVS

O repositório CVS para o projecto contém versões iniciais de todos os projectos. O repositório está disponível no AFS em:

  • /afs/ist.utl.pt/groups/leic-co/co12/cvs

Os valores possíveis para a variável de ambiente CVSROOT ou pela opção -ddo comando "cvs") são:

  • /afs/ist.utl.pt/groups/leic-co/co12/cvs (disponível em máquinas 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-co/co12/cvs (disponível via SSH; verificar que CVS_RSH=ssh; ##### é o número de aluno)
Cada projecto no repositório contém inicialmente o compilador da linguagem Compact superficialmente transformado para permitir o início do desenvolvimento do compilador da linguagem TLL (isto significa que a linguagem é ainda a TLL, embora o compilador e as suas estruturas usem o nome "tll" em lugar de "compact"). Embora possam (e devam) ser acrescentados ficheiros ao projecto do compilador durante o desenvolvimento, a estrutura de directórios não pode ser alterada (excepto na adição de subdirectórios a nodes). A makefile pode precisar de ser adaptada (variáveis), mas não deve ser substancialmente alterada.
  • nodes (directoria que contém as classes dos nós da AST)
  • syntax (directoria que contém a interface para o processamento sintáctico)
  • semantics (directoria que contém as classes de processamento semântico)

Notar que todo o projecto é compilado pela Makefile na directoria de base.

Os alunos que ainda não visitaram o self-service do CIIST, devem fazê-lo, para activação dos serviços relevantes. Sem isso, não conseguirão desenvolver ou entregar o projecto, reprovando à disciplina.

Activar AFS e Shell (pelo menos) em https://ciist.ist.utl.pt/servicos/self_service/

ATENÇÃO AOS SEGUINTES ASPECTOS

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-co/co12/cvs (ou qualquer outra manipulação directa dos ficheiros do repositório: toda a interacção com o repositório deve ser limitada ao comando "cvs")

FAZER

Antes de tudo o mais, fazer cópias de segurança (vulgo "backups") de tudo o que já foi feito.
O repositório já contém uma versão preliminar do projecto (replica o método descrito no "quick-and-dirty guide" -- http://bit.ly/9FOWe1) e devem ser dados os seguintes passos, para continuar a desenvolver o projecto:

  1. cvs co ### (é criada uma directoria controlada pelo CVS com o nome ###, com a estrutura apresentada acima, contendo os ficheiros do projecto) (onde os # representam o número do grupo com três algarismos)
  2. Editar/adicionar material do/ao projecto.
  3. Caso sejam criados ficheiros ou directórios novos, fazer cvs add ficheiro1 ficheiro2 ... ficheiro3 (adicionar cada ficheiro novo 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 para o repositório)

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 do material de apoio (CDK e RTS) ao projecto (serão removidas e quaisquer alterações perdidas -- além disso, lixo no repositório é penalizado).
  • Pessoas sem área no AFS, ou sem login activado, não poderão aceder ao conteúdo do repositório: 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.

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