Moodle Docs: Como usar o CVS
CVS para Desenvolvedores do Moodle
Um sistema CVS (Concurrent Versioning System) geralmente é usado como uma maneira de gerenciar códigos-fontes para grandes projetos de softwares. Guardam-se todas as versões de todos os arquivos nćo sendo nada perdido, e o uso por diferentes pessoas é rastreado. Ele também fornece maneiras de unir códigos se duas ou mais pessoas estćo trabalhando no mesmo arquivo. Todos os códigos e todas as versões sćo armazenadas em um servidor central (no caso do Moodle, no Sourceforge).
Se vocÄ™ desejar somente baixar o Moodle usando o CVS para rodar um site, provavelmente vocÄ™ nćo precisará desta página
apenas siga as instruções do CVS na página de download do Moodle.
Filiando-se ao projeto como um desenvolvedor
Módulos CVS
Comandos básicos CVS
3.1. CVS no Unix
3.2. CVS no Windows
Trabalhando com Ramos
4.1. Tronco de Desenvolvimento
4.2. Ramos estáveis de cada ediçćo
4.3. Ramos especiais para grandes alterações
1. Filiando-se ao projeto como um desenvolvedor
VocÄ™ foi autorizado a escrever no CVS para ajudar-nos a desenvolver e a manter o Moodle!
Benvindo a bordo !
Para estar apto a escrever mudanças no arquivo CVS do Moodle, vocÄ™ precisa ter uma conta no Sourceforge (o registro é livre e fácil). Para os exemplos desta página, vamos assumir o nome de usuário myusername e a senha mypassword. Preste atençćo especialmente nas instruções sourceforge para criar seu diretório CVS principal local - vocÄ™ tem que fazer isto com cada nova conta para habilitá-la no CVS. Basicamente vocÄ™ tem que usar o ssh para conectar-se interativamente ao cvs.sourceforge.net.
Uma vez que tenha uma conta aberta no Sourceforge, contate Martin Dougiamas para que ele possa configurar as permissões de acesso da sua conta em certos diretórios do CVS.
Para evitar o pedido continuo de mypassword todas as vezes que rodar um comando do CVS, siga as diretrizes do Sourceforge para usar as chaves autorizadas. Este passo é opcional, mas pode tornar sua experiÄ™ncia com o CVS muito mais agradável.
Feito isto, vocÄ™ deve ter todas as permissões que precisa, basta configurara o seu PC e baixar os códigos atualizados para trabalhar com eles.
2. Modulos CVS
No CVS, a palavra módulos se refere a coleções separadas de códigos. No Moodle nós temos os seguintes módulos no repositório:
moodle - o código fonte principal do Moodle
contrib - contribuições de usuários e outros códigos variados em desenvolvimento
mysql - um phpMyAdmin customizado para plugar ao Moodle para administraçćo do banco de dados
windows-cron - um pequeno pacote que faz o cron possível nos sistemas Windows
docs - vários documentos extras de contribuiçćo de usuários
A maioria das pessoas estćo trabalhando nas características existentes no módulo moodle, mas muitos também estćo contribuindo com novas idéias nos módulos contrib. Uma vez que o código atinge um certo nível de maturidade na área contrib, pode ser migrado para a árvore principal moodle.
3. Comandos básicos CVS
3.1 CVS no Unix
Sourceforge CVS usa ssh como uma camada de transporte para segurança, assim vocÄ™ terá que setar a variável CVS_RSH em seu shell Unix. É melhor colocar estes comandos em seu .bashrc ou .cshrc assim vocÄ™ nćo terá que digitá-lo todas as vezes:
setenv CVS_RSH ssh (for csh, tcsh etc)
export CVS_RSH=ssh (for sh, bash etc)
Depois, vocę pode checar a śltima versćo de desenvolvimento do Moodle usando isto (tudo em uma linha):
cvs -z3 -d:ext:myusername@cvs.sourceforge.net:/cvsroot/moodle co moodle
O comando é similar para outros módulos CVS:
cvs -z3 -d:ext:myusername@cvs.sourceforge.net:/cvsroot/moodle co contrib
Nćo tente rodar este primeiro comando CVS sobre uma instalaçćo existente do moodle; comece com um novo diretório.
Note que vocÄ™ terá que digitar mypassword para cada comando a menos que vocÄ™ configure chaves autorizadas.
Agora, vocÄ™ deve ter um novo diretório moodle. VocÄ™ pode renomeá-lo e movÄ™-lo se vocÄ™ desejar. Faça assim para entrar:
cd moodle
Todos os Å›ltimos arquivos Moodle devem estar lá. VocÄ™ pode agora alterar os arquivos em sua cópia. Para comparar seus arquivos e diretórios em relaçćo a cópia principal CVS no servidor use cvs diff, por exemplo:
cvs diff -c config-dist.php
cvs diff -c lang
Para buscar as Å›ltimas atualizações do servidor use:
cvs update -dP
Para copiar seus novos arquivos de volta ao servidor vocÄ™ pode fazer algo como:
cd lang/ca
cvs commit
VocÄ™ será solicitado a adicionar alguns comentários (dependendo do editor de texto padrćo) ... adicionar um comentário significativo e fechar o editor ... os arquivos serćo enviados ao Sourceforge e armazenados. Feito!
Para economizar mais tempo vocÄ™ pode colocar argumentos padrões dentro de um arquivo chamado .cvsrc em seu diretório local. Por exemplo:
diff -c
update -dP
Tente cvs help para mais detalhes ...
3.2 CVS em Windows
Primeiro vocę precisa fazer o download de uma cópia completa do Moodle utilizando a sua conta de desenvolvedor.
Baixe TortoiseCVS em tortoisecvs.org e instale o programa, reinicialize.
Encontre ou crie uma nova pasta onde vocÄ™ deseje fazer o download do Moodle.
Clique com o botćo direito do mouse sobre a pasta e escolha CVS Checkout no menu. VocÄ™ deve visualizar uma caixa de diálogo.
Copie este texto dentro do campo CVSROOT (utilizando seu próprio nome de usuário!):
:ext:myusername@cvs.sourceforge.net:/cvsroot/moodle
No campo "Module" , digite "moodle" para obter a Å›ltima versćo em desenvolvimento de Moodle, "contrib" para obter o diretório de contribuições ou "mysql" para obter o módulo MySQL Admin.
Aperte o botćo: "OK" e será feito o download de tudo.
Uma caixa de diálogo deve mostrar todos os arquivos que estćo sendo descarregados, e depois de um tempo vocÄ™ terá uma cópia completa do Moodle. Após este primeiro checkout, vocÄ™ pode buscar os arquivos mais recentes do servidor CVS:
Clique com o botćo direito sobre a pasta do Moodle (ou qualquer arquivo) e selecione CVS Update.
Aguarde e observe os logs que irćo aparecendo. Preste atençćo nos conflitos que possam ocorrer caso seu código local tiver alterações que conflitam com as versões vigentes - vocÄ™ precisará editar estes arquivos e resolver os conflitos manualmente.
Depois de modificar os arquivos (vocÄ™ notará a mudança dos ícones de verde para vermelho!), vocÄ™ pode encerrar enviando-os de volta ao CVS:
Clique como botćo direito sobre a pasta do Moodle (ou qualquer arquivo) e selecione CVS Commit... .
Na caixa de diálogo, digite uma descriçćo clara das alterações que vocÄ™ está enviando.
Clique "OK". Suas alterações serćo enviadas ao servidor.
4. Trabalhando com ramos
Este diagrama mosta como o módulo principal Moodle ramifica em diferentes versões com o passar do tempo.
Para visualizar todos os tags atuais e os ramos que estćo ativados, utilize este comando em qualquer arquivo antigo (tal como index.php no diretório superior do moodle):
cvs status -v index.php
Algumas diretrizes para Tags:
Nomes de Tag e ramos devem sempre ser com letras maiśsculas.
Tags e ramos devem SEMPRE ser aplicados no módulo inteiro (em tudo no Moodle). Nćo coloque tag em arquivos ou diretórios individuais.
Nós nćo permitimos renomear tags porque alguém pode estar contando com eles, entćo faça-os corretamente já na primeira vez!
4.1 Tronco de desenvolvimento
O tronco do CVS é a versćo de desenvolvimento principal do Moodle. No CVS ele também é conhecido como HEAD, ou branch default.
Desenvolvedores do Moodle tentam conservá-lo tćo estável quanto possível, mas como geralmente ele contém novos códigos, podem ser presentes bugs e pequenas instabilidades.
De vez em quando nós decidimos que o produto tem características suficientes para se fazer uma nova versćo. Neste momento, o tronco é marcado com um tag MOODLE_XX_BETA (para o caso de desejarmos retornar Ä…quele ponto) e um novo ramo é formado para a versćo, chamado MOODLE_XX_STABLE.
Um pacote Beta tem é criado neste ponto - para os desenvolvedores que nćo utilizam o CVS mas desejam testar as Å›ltimas características e reportar os bugs.
4.2 Ramos estáveis para cada ediçćo
Tćo logo seja criado o ramo estável MOODLE_XX_STABLE, esforços de desenvolvimento seguirćo em duas direções por um tempo. Algumas pessoas podem continuar trabalhando em novas características no tronco para a próxima ediçćo, mas a maioria dos desenvolvedores deve se concentrar em usar o ramo corrente STABLE e fixar os bugs que forem achados.
VocÄ™ pode trocar a sua cópia local do Moodle pela versćo estável usando o seguinte comando Unix no diretório raiz:
cvs update -dP -r MOODLE_XX_STABLE
Depois disto, todos os comandos descritos acima serćo aplicáveis Ä… versćo estável. Para retornar Ä… versćo tronco basta digitar:
cvs update -dPA
Os clientes Windows tem um menu para a escolha do ramo.
Uma vez que o novo ramo STABLE realmente estabiliza, uma ediçćo pode ser definida. Os pacotes sćo criados para distribuiçćo e o ramo será rotulado (por Martin) com um tag nomeado: MOODLE_XXX
Periodicamente, os bugs eliminados no ramo STABLE deverćo ser atualizados no tronco para se tornarem disponíveis nas futuras versões do Moodle. Um tag chamado MOODLE_XX_MERGED será mantido para conservar a Å›ltima atualizaçćo. O procedimento para introduzir a atualizaçćo é o seguinte:
Obtenha a śltima versćo do tronco:
cvs update -dPA
Reunir tudo no ramo desde a śltima reunićo na sua versćo tronco
cvs update -kk -j MOODLE_13_MERGED -j MOODLE_13_STABLE
Cuidadosamente visualize os logs da atualizaçćo checando os conflitos, e corrija cada arquivo em que se vÄ™ um conflito
Mande a cópia reunida ao CVS tronco
cvs commit
Retorne ą versćo tronco
cvs update -dPr MOODLE_13_STABLE
Atualize o tag para que este processo possa ser repetido na próxima vez
cvs tag -RF MOODLE_13_MERGED
Finalmente, os valores para $version em todos os arquivos version.php dentro do branch estável nćo deverćo ser atualizados na medida do possível (exceto o Å›ltimo dígito se necessário). A razćo disto é que alguém atualizando de uma versćo muito estável para a próxima versćo muito estável poderia perder os upgrades no banco de dados que ocorreram no tronco.
4.3 Ramos especiais para grandes alterações
Ocasionalmente, pode haver uma característica muito grande que precisa ser checada por muitas pessoas, mas é demasiadamente instável para ser incluída no tronco de desenvolvimento principal.
Nestes casos um ramo menor pode ser criado para trabalhar nesta caracterísitca, antes de atualizar o tronco principal. Um exemplo chamado MOODLE_14_WIDGET pode ser visto no diagrama acima.
Se vocÄ™ precisa fazer isto para sua nova característica WIDGET, siga estes passos:
Discuta com outros desenvolvedores para ter certeza que é necessário!
Faça um novo tag no tronco (para tudo no Moodle) chamado MOODLE_XX_WIDGET_PRE
cvs tag -R MOODLE_XX_WIDGET_PRE
Crie seu ramo chamado MOODLE_XX_WIDGET
cvs tag -Rb MOODLE_XX_WIDGET
Trabalhe neste ramo até que a característica esteja razoavelmente estável. Use o comando commit quando necessário.
cvs commit
Quando estiver pronto, reunir todo o ramo no tronco, corrijir conflitos, fazer o commit no tronco e abandonar o ramo.
cvs update -dPA
cvs update -kk -j MOODLE_XX_WIDGET
cvs commit
Boa Sorte, seja cuidadoso e divirta-se!
Documentaçćo do Moodle
Version: $Id$
Wyszukiwarka
Podobne podstrony:
cvscvscvscvscvscvscvs writecvscvscvscvs anonSecure CVS Pservercvscvs howtocvscvscvswięcej podobnych podstron