moodle/lang/pt_br/docs/cvs.html
2005-07-05 18:00:10 +00:00

218 lines
17 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Moodle Docs: Como usar o CVS</title>
<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
style ol {margin-left:40px;}
.style1 {color: #990000}
.style3 {color: #990000; font-weight: bold; }
.style4 {
color: #0000CC;
font-weight: bold;
}
-->
</style>
</head>
<body>
<h1>CVS para Desenvolvedores do Moodle</h1>
<blockquote>
<p>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 <a target="_top" href="http://www.sf.net/">Sourceforge</a>). </p>
<p>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 <a target="_top" href="http://moodle.org/download">página de download do Moodle</a>.</p>
<ol>
<li><a href="#n1">Filiando-se ao projeto como um desenvolvedor</a></li>
<li><a href="#n2">Módulos CVS </a> </li>
<li><a href="#n3">Comandos básicos CVS</a> <br />
3.1. <a href="#n3.1">CVS no Unix</a> <br />
3.2. <a href="#n3.2">CVS no Windows</a></li>
<li> <a href="#n4">Trabalhando com Ramos</a><br />
4.1. <a href="#n4.1">Tronco de Desenvolvimento</a><br />
4.2. <a href="#n4.2">Ramos estáveis de cada edição</a><br />
4.3. <a href="#n4.3">Ramos especiais para grandes alterações</a> </li>
</ol>
</blockquote>
<br />
<h2><a name="n1" id="n1"></a>1. Filiando-se ao projeto como um desenvolvedor</h2>
<blockquote>
<p>Você foi autorizado a escrever no CVS para ajudar-nos a desenvolver e a manter o Moodle!
<a href="http://sourceforge.net/project/memberlist.php?group_id=30935">Benvindo a bordo </a>!</p>
<p>Para estar apto a escrever mudanças no <a target="_top" href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moodle/moodle/">arquivo CVS do Moodle</a>, você precisa ter uma conta no Sourceforge (<a href="http://sourceforge.net/account/register.php">o registro é livre e fácil</a>). Para os exemplos desta página, vamos assumir o nome de usuário <strong><font color="#990000">myusername</font></strong> e a senha <strong><font color="#990000">mypassword</font></strong>. Preste atenção especialmente nas instruções sourceforge para <a target="_top" href="http://sourceforge.net/docman/display_doc.php?docid=768&amp;group_id=1#develhomedir">criar seu diretório CVS principal local </a> - 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.</p>
<p>Uma vez que tenha uma conta aberta no Sourceforge, contate <a
target="_top" href="http://moodle.org/user/view.php?id=1&amp;course=1">Martin Dougiamas</a> para que ele possa configurar as permissões de acesso da sua conta em certos diretórios do CVS.</p>
<p>Para evitar o pedido continuo de <strong><font color="#990000">mypassword</font></strong> todas as vezes que rodar um comando do CVS, siga as <a target="_top" href="http://sourceforge.net/account/editsshkeys.php">diretrizes do Sourceforge para usar as chaves autorizadas</a>. Este passo é opcional, mas pode tornar sua experiência com o CVS muito mais agradável.</p>
<p>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. </p>
<p>&nbsp;</p>
</blockquote>
<h2><a name="n2" id="n2"></a>2. Modulos CVS </h2>
<blockquote>
<p>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:</p>
<blockquote>
<p><strong>moodle</strong> - o código fonte principal do Moodle</p>
<p><strong>contrib</strong> - contribuições de usuários e outros códigos variados em desenvolvimento</p>
<p><strong>mysql</strong> - um phpMyAdmin customizado para plugar ao Moodle para administração do banco de dados</p>
<p><strong>windows-cron</strong> - um pequeno pacote que faz o cron possível nos sistemas Windows</p>
<p><strong>docs</strong> - vários documentos extras de contribuição de usuários</p>
</blockquote>
<p>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. </p>
<p>&nbsp;</p>
</blockquote>
<h2><a name="n3" id="n3"></a>3. Comandos básicos CVS </h2>
<blockquote>
<h3><a name="n3.1" id="n3.1"></a>3.1 CVS no Unix </h3>
<blockquote>
<p>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:</p>
<div class="commandline">setenv CVS_RSH ssh <em>(for csh, tcsh etc)</em><br />
export CVS_RSH=ssh <em>(for sh, bash etc)</em></div>
<p>Depois, você pode checar a última versão de desenvolvimento do Moodle usando isto (tudo em uma linha): </p>
<div class="commandline">cvs -z3 -d:ext:<span class="style1">myusername</span>@cvs.sourceforge.net:/cvsroot/moodle co moodle</div>
<p>O comando é similar para outros módulos CVS: </p>
<div class="commandline">cvs -z3 -d:ext:myusername@cvs.sourceforge.net:/cvsroot/moodle co contrib</div>
<p>Não tente rodar este primeiro comando CVS sobre uma instalação existente do moodle; comece com um novo diretório.</p>
<p>Note que você terá que digitar <strong><font color="#990000">mypassword</font></strong> para cada comando a menos que você configure <a target="_top" href="http://sourceforge.net/account/editsshkeys.php">chaves autorizadas</a>.</p>
<p>Agora, você deve ter um novo diretório moodle. Você pode renomeá-lo e movê-lo se você desejar. Faça assim para entrar: </p>
<div class="commandline">cd moodle </div>
<p>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:</p>
<div class="commandline">cvs diff -c config-dist.php<br />
cvs diff -c lang </div>
<p>Para buscar as últimas atualizações do servidor use: </p>
<div class="commandline">cvs update -dP</div>
<p>Para copiar seus novos arquivos de volta ao servidor você pode fazer algo como: </p>
<div class="commandline">cd lang/ca <br />
cvs commit</div>
<p>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! </p>
<p>Para economizar mais tempo você pode colocar argumentos padrões dentro de um arquivo chamado .cvsrc em seu diretório local. Por exemplo: </p>
<div class="commandline">diff -c <br />
update -dP</div>
<p>Tente cvs help para mais detalhes ... </p>
<p>&nbsp;</p>
</blockquote>
<h3><a name="n3.2" id="n3.2"></a>3.2 CVS em Windows </h3>
<blockquote>
<p>Primeiro você precisa fazer o download de uma cópia completa do Moodle utilizando a sua conta de desenvolvedor.</p>
</blockquote>
<ol>
<li> Baixe TortoiseCVS em <a target="_top" href="http://www.tortoisecvs.org/">tortoisecvs.org</a> e instale o programa, reinicialize.</li>
<li>Encontre ou crie uma nova pasta onde você deseje fazer o download do Moodle.</li>
<li>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.</li>
<li>Copie este texto dentro do campo CVSROOT (utilizando seu próprio nome de usuário!):
<pre> :ext:<font color="#990000">myusername</font>@cvs.sourceforge.net:/cvsroot/moodle</pre>
</li>
<li>No campo &quot;Module&quot; , digite &quot;<strong>moodle</strong>&quot; para obter a última versão em desenvolvimento de Moodle, &quot;<strong>contrib</strong>&quot; para obter o diretório de contribuições ou &quot;<strong>mysql</strong>&quot; para obter o módulo MySQL Admin.</li>
<li>Aperte o botão: &quot;<strong>OK</strong>&quot; e será feito o download de tudo.<br />
</li>
</ol>
<blockquote>
<p>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:</p>
</blockquote>
<ol>
<li> Clique com o botão direito sobre a pasta do Moodle (ou qualquer arquivo) e selecione CVS Update. </li>
<li>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. <br />
</li>
</ol>
<blockquote>
<p>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:</p>
</blockquote>
<ol>
<li> Clique como botão direito sobre a pasta do Moodle (ou qualquer arquivo) e selecione CVS Commit... .</li>
<li>Na caixa de diálogo, digite uma descrição clara das alterações que você está enviando.</li>
<li>Clique &quot;OK&quot;. Suas alterações serão enviadas ao servidor.<br />
</li>
</ol>
<br />
</blockquote>
<h2><a name="n4" id="n4"></a>4. Trabalhando com ramos</h2>
<blockquote>
<p>Este diagrama mosta como o módulo principal Moodle ramifica em diferentes versões com o passar do tempo.</p>
<p align="center"><img src="pix/cvstree.png" width="500" height="200" /></p>
<p align="left">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): </p>
<div class="commandline">cvs status -v index.php</div>
<p>Algumas diretrizes para Tags:</p>
<ul>
<li>Nomes de Tag e ramos devem sempre ser com letras maiúsculas.</li>
<li>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. </li>
<li>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!
</li>
</ul>
</blockquote>
<br />
<h3><a name="n4.1" id="n4.1"></a>4.1 Tronco de desenvolvimento</h3>
<blockquote>
<p>O tronco do CVS é a versão de desenvolvimento principal do Moodle. No CVS ele também é conhecido como HEAD, ou branch default.</p>
<p>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.</p>
<p>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. </p>
<p>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.</p>
</blockquote>
<p>&nbsp;</p>
<h3><a name="n4.2" id="n4.2"></a>4.2 Ramos estáveis para cada edição</h3>
<blockquote>
<p>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. </p>
<p>Você pode trocar a sua cópia local do Moodle pela versão estável usando o seguinte comando Unix no diretório raiz:</p>
<div class="commandline">cvs update -dP -r <span class="style1">MOODLE_XX_STABLE</span></div>
<p>Depois disto, todos os comandos descritos acima serão aplicáveis à versão estável. Para retornar à versão tronco basta digitar:</p>
<div class="commandline">cvs update -dPA</div>
<p>Os clientes Windows tem um menu para a escolha do ramo. </p>
<p>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</p>
<p>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:</p>
<ol>
<li>Obtenha a última versão do tronco:<br />
<br />
<div class="commandline">cvs update -dPA</div>
</li>
<li>Reunir tudo no ramo desde a última reunião na sua versão tronco<br /><br />
<div class="commandline">cvs update -kk -j MOODLE_13_MERGED -j MOODLE_13_STABLE</div>
</li>
<li>Cuidadosamente visualize os logs da atualização checando os conflitos, e corrija cada arquivo em que se vê um conflito </li>
<li>Mande a cópia reunida ao CVS tronco<br />
<br />
<div class="commandline">cvs commit</div>
</li>
<li>Retorne à versão tronco<br /><br />
<div class="commandline">cvs update -dPr MOODLE_13_STABLE</div>
</li>
<li>Atualize o tag para que este processo possa ser repetido na próxima vez
<br /><br />
<div class="commandline">cvs tag -RF MOODLE_13_MERGED</div>
</li>
</ol>
<p><br />
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. </p>
</blockquote>
<br />
<h3><a name="n4.3" id="n4.3"></a>4.3 Ramos especiais para grandes alterações </h3>
<blockquote>
<p>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.</p>
<p>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. </p>
<p>Se você precisa fazer isto para sua nova característica WIDGET, siga estes passos:</p>
<ol>
<li>Discuta com outros desenvolvedores para ter certeza que é necessário!</li>
<li>Faça um novo tag no tronco (para tudo no Moodle) chamado MOODLE_XX_WIDGET_PRE <br /><br />
<div class="commandline">cvs tag -R MOODLE_XX_WIDGET_PRE</div></li>
<li>Crie seu ramo chamado MOODLE_XX_WIDGET
<br /><br />
<div class="commandline">cvs tag -Rb <span class="style1">MOODLE_XX_WIDGET</span></div></li>
<li>Trabalhe neste ramo até que a característica esteja razoavelmente estável. Use o comando commit quando necessário.
<br /><br />
<div class="commandline">cvs commit</div></li>
<li>Quando estiver pronto, reunir todo o ramo no tronco, corrijir conflitos, fazer o commit no tronco e abandonar o ramo.
<br />
<br />
<div class="commandline">
<strong>cvs update -dPA</strong><br />
<strong>cvs update -kk -j <span class="style1">MOODLE_XX_WIDGET</span></strong><br />
<strong>cvs commit </strong></div>
</li>
</ol>
</blockquote>
<br />
<blockquote>
<p align="center">Boa Sorte, seja cuidadoso e divirta-se!</p>
</blockquote>
<br />
<p align="center"><font size="1"><a href="." target="_top">Documentação do Moodle</a></font></p>
<p align="center"><font size="1">Version: $Id$</font></p>
</body>
</html>