CVS para programadores

Fonte: MoodleDocs
Revisão em 15h55min de 13 de maio de 2008 por Ruben Mamede (discussão | contribs)


== Desenvolvimento: CVS para programadores ==

CVS são as iniciais de Concurrent Versioning System, uma forma de trabalho habitualmente utilizada para grandes projectos de software. No CVS estão integradas todas as versões de todos os ficheiros para que nada seja perdido e a sua utilização pelos vários utilizadores seja registada. Este sistema permite também a combinação do código criado por duas ou mais pessoas que trabalhem simultaneamente sobre o mesmo ficheiro. Todo o código e respectivas versões são armazenados num servidor central (no caso do Moodle, em cvs.moodle.org). Para mais informações sobre CVS, poderá consultar o livro on-line "Open Source Development with CVS"..


Entrar no projecto como programador

Se obteve permissões de escrita no CVS para ajudar a desenvolver e manter o Moodle! Bem-vindo a bordo! Para obter estas permissões para escrever ou editar no Moodle's CVS archive, primeiro deverá ter uma conta no servidor. Só programadores de confiança conseguem estas contas. Para conseguir o acesso, deverá procurar o link "Apply for CVS Access" na página CVS do Moodle.org (http://moodle.org/cvs), comunicar quais os módulos aos quais deseja ter acesso (por exemplo: modulo de idioma) e porquê. A resposta será dada em menos de um dia. Concluída esta fase, já deverá possuir todas as permissões de que necessita, necessitando apenas de configurar a sua máquina e descarregar o código fonte corrente, podendo logo de seguida começar a trabalhar nele. Para os exemplos que veremos mais à frente vamos assumir que o nosso nome de utilizador é myusername a nossa password é mypassword.


Módulos CVS

Dentro do CVS, a palavra “módulo” refere-se a conjuntos separados de código. Nos arquivos do Moodle existem os seguintes módulos: • moodle – o código fonte principal do Moodle • lang – todos os packs de idiomas • contrib – contribuições de utilizadores e todo o tipo de código em desenvolvimento. • mysql – um phpMyAdmin para trabalhar com a base de dados do Moodle. • windows-cron - um pequeno pacote que possibilita o funcionamento do ?cron? nos sistemas Windows. • docs – diversas contribuições de utilizadores para documentação.

A maioria das pessoas está a trabalhar nas funcionalidades existentes no módulo moodle, mas muitas estão também contribuindo com novas ideias para o módulo contrib. Uma vez alcançado um certo nível de “maturidade” no código da área contrib, este pode ser migrado para a área principal da área moodle.


Comandos CVS básicos

CVS em Unix O CVS do Moodle utilize ssh como camada de transporte para segurança, pelo que deverá ter a variável de ambiente CVS_RSH na sua Shell Unix. E aconselhável por estes comandos nos seus arquivos .bashrc ou .chrc para não ter de os digitar repetidamente:

      setenv CVS_RSH ssh (para csh, tcsh etc)
      export CVS_RSH=ssh (para sh, bash etc)

Seguidamente, poderá obter a última versão do Moodle utilizando este comando (todo na mesma linha). NOTA: Não tente correr este primeiro comando CVS sobre uma instalação do Moodle já existente: Inicie novamente com uma nova directoria:

      cvs -z3 -d:ext:myusername@cvs.moodle.org:/cvsroot/moodle co moodle

Para outros módulos CVS, os comandos são semelhantes:

      cvs -z3 -d:ext:myusername@cvs.moodle.org:/cvsroot/moodle co contrib

Se desejar obter simplesmente um plugin (no exemplo é o bloco “attendance”) existente em contrib dentro da directoria actual, pode usar:

      cvs -z3 -d:ext:myusername@cvs.moodle.org:/cvsroot/moodle co -d attendance contrib/plugins/blocks/attendance

Cada vez que se executa um comando é pedida a password, poderá no entanto configurar as chaves autorizadas de forma a contornar esta situação. Deverá agora ter uma nova directoria ‘moodle’, podendo alterar o seu nome ou localização. Entre em:

      cd moodle

Todos os ficheiros do Moodle devem estar nesta localização, possibilitando localmente (na cópia instalada) a alteração dos mesmos. Para comparar os seus ficheiros com os da cópia principal do CVS no servidor poderá utilizar os comandos cvs diff, por exemplo:

      cvs diff -c config-dist.php
      cvs diff -c lang

Para obter as ultimas actualizações a partir do servidor:

      cvs update -dP

Para copiar os seus novos ficheiros de volta para o servidor necessitará de algo como:

      cd lang/ca
      cvs commit

Ser-lhe-á pedido que adicione alguns comentários (dependendo do seu editor de texto predefinido). Deverá escrever comentários descritivos e com significado. Depois disto as suas alterações serão enviadas para o servidor CVS e guardadas no respectivo repositório. Para poupar algum tempo poderá colocar argumentos predefinidos dentro de um ficheiro chamado .cvsrc na sua directoria principal. Por exemplo, o meu contém:

      diff -c
      update -dP

Poderá utilizar o 'cvs help' para mais informações ...


CVS no Mac OSX Poderá seguir as mesmas instruções descritas anteriormente para Unix numa janela terminal. No entanto o comando cvs não está instalado por defeito no OSX. Deverá instalar previamente as ferramnetas XCode. Deverá encontar as mesmas no seu disco de instalação original. Caso contrário poderá descarrega-las a partir do Web site da Apple para o desenvolvimento (http://devoloper.apple.com).


CVS em Windows Primeiro, deverá descarregar uma cópia actual do Moodle usando a sua conta de programador. 1. Descarrega TortoiseCVS a partir de tortoisecvs.org, instale e reinicie. 2. Procure ou crie uma pasta onde o Moodle possa ser descarregado. 3. Clique com o botão direito do rato na pasta e escolha “CVS Checkout”. Deverá surgir uma caixa de diálogo. 4. Copie este texto para o campo CVSROOT (utilizando o seu próprio username!):

         :ext:myusername@cvs.moodle.org:/cvsroot/moodle

5. No campo “Module”, digite “moodle” para obter a ultima versão do moodle, “contrib” para obter a directoria de contribuições ou “mysql” para obter o módulo MySQL Admin. 6. Clique em “OK” e tudo será descarregado. Uma caixa de diálogo deverá mostrar todos os ficheiros que estão a ser descarregados, depois disto já deverá ter uma cópia completa do Moodle instalada. Poderá posteriormente obter actualizações a partir do servidor CVS: 1. Clique com o botão direito do rato na sua pasta Moodle (ou em qualquer dos seus ficheiros) e escolha “CVS Update”. 2. Examine atentamente os registos e tome nota dos conflitos que podem ocorrer entre as alterações ao código que efectuou na sua cópia e as novas versões obtidas. Estes ficheiros terão de ser editados manualmente de forma a resolver os conflitos. Depois de modificar os ficheiros (os seus ícones mudarão de verde para vermelho), poderá enviar as alterações de volta ao servidor CVS: 1. Clique com o botão direito do rato na sua pasta Moodle (ou em qualquer dos seus ficheiros) e escolha “CVS Commit…”. 2. Na caixa de diálogo, digite uma descrição clara das alterações que estão a ser submetidas. Incluindo sempre o nome de qualquer edição do Tracker do Moodle relacionado com o que está a ser corrigido (MDL-XXXX). 3. Clique em “OK”. As suas alterações serão enviadas para o servidor. 4. Se criar uma pasta, deverá ter algum cuidado ao usar a opção “CVS add” pois irá acrescentar a pasta ao CVS sem requerer verificação/confirmação (commit) da mesma. Uma vez adicionada, a pasta não pode ser removida do CVS mesmo que esteja vazia. NOTA: Deverá ter em atenção que (à data de edição deste texto em Abril de 2008) o TartoiseCVS 1.10.6 poderá não funcionar plenamente com o Windows Vista. Poderá reportar bugs e encontrar mais informação no site TortoiseCVS ou no Google “TortoiseCVS vista”. Mensagens commit CVS Por cada alteração submetida no CVS, deverá receber uma mensagem de confirmação/verificação (denominada commit), contendo o ID da edição (por exemplo, MDL-12345) e da breve descrição do problema nela corrigido. Se julgar que a breve descrição é insuficiente, poderá adicionar mais informação no Tracker do Moodle.org ou no Moodle Docs (https://docs.moodle.org). CVS_para_programadores