moodle/lang/es/docs/cvs.html
gustav_delius 839f2456bb XHTML compliance
- fixed (hopefully) all <img> tags
- global replace on <br> to <br />
- &amp; in URLs
- got the forum module XHTML compliant
Julian Sedding
2004-09-16 17:13:57 +00:00

369 lines
21 KiB
HTML

<html>
<head>
<title>Moodle Docs: Utilizando el 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">
<!--
.style1 {color: #990000}
.style3 {color: #990000; font-weight: bold; }
.style4 {
color: #0000CC;
font-weight: bold;
}
-->
</style>
</head>
<body bgcolor="#ffffff">
<h1>CVS para Desarrolladores de Moodle </h1>
<blockquote>
<p>CVS es un <strong>Sistema Concurrente de Versiones</strong>,
una forma de trabajo habitualmente utilizada para almacenar el c&oacute;digo
fuente de grandes proyectos de software. CVS almacena todas las versiones
de todos lo ficheros de tal forma que nada es nunca perdido, y su utilizaci&oacute;n
por varias personas es registrada. Tambi&eacute;n proporciona una forma de
combinar el c&oacute;digo de dos o m&aacute;s personas que est&eacute;n trabajando
simult&aacute;neamente en el mismo fichero. Todo el c&oacute;digo y sus versiones
son almacenados en un servidor central (en el caso de Moodle, el de <a target="_top" href="http://www.sf.net/">Sourceforge</a>). </p>
<p>Si &uacute;nicamente quieres utilizar el CVS para descargar Moodle y ponerlo
en marcha, posiblemente no necesitas esta p&aacute;gina - simplemente sigue
las instrucciones que aparecen en la <a target="_top" href="http://moodle.org/download">Pagina
de Descargas de Moodle</a>.</p>
<p>&nbsp;</p>
<ol>
<li><a href="#1">Uni&eacute;ndote al proyecto como desarrollador </a></li>
<li><a href="#2">M&oacute;dulos CVS </a> </li>
<li><a href="#3">Comandos b&aacute;sicos CVS </a> <br />
3.1. <a href="#3.1">CVS en Unix</a> <br />
3.2. <a href="#3.2">CVS en Windows</a></li>
<li> <a href="#4">Trabajando con ramas </a><br />
4.1. <a href="#4.1">Desarrollando en el tronco (trunk) </a><br />
4.2. <a href="#4.2">Ramas (branches) estables para cada versi&oacute;n </a><br />
4.3. <a href="#4.3">Ramas de funcionalidades para grandes cambios </a> </li>
</ol>
<p>&nbsp;</p>
<h2><a name="1"></a>1. Uni&eacute;ndote al proyecto como desarrollador </h2>
<blockquote>
<p>&iexcl;Entonces, se te han ofrecido permisos de escritura en CVS para
ayudarnos a desarrollar y mantener Moodle! <a href="http://sourceforge.net/project/memberlist.php?group_id=30935">&iexcl;Bienvenido
a bordo!</a></p>
<p>Para poder escribir cambios en el <a target="_top" href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moodle/moodle/">archivo
de CVS Moodle</a>,
primero necesitas tener una cuenta en Sourceforge (<a href="http://sourceforge.net/account/register.php">el
registro es libre y sencillo</a>).
Para los ejemplos en esta p&aacute;gina asumiremos que tu nombre de usuario
es <strong><font color="#990000">miusuario</font></strong> y tu contrase&ntilde;a
es <strong><font color="#990000">micontrase&ntilde;a</font></strong>.
Presta especial atenci&oacute;n a las instrucciones de sourceforge para <a target="_top" href="http://sourceforge.net/docman/display_doc.php?docid=768&group_id=1#develhomedir">crear
tu directorio de CVS </a> -
algo que tendr&aacute;s que hacer con cada cuenta para "activarla" para
CVS. B&aacute;sicamente tienes que utilizar ssh para conectarte interactivamente
con cvs.sourceforge.net.</p>
<p>Una vez que tengas una cuenta funcionando en Sourceforge, contacta con <a
target="_top" href="http://moodle.org/user/view.php?id=1&course=1">Martin Dougiamas</a> para
que &eacute;l pueda configurar tu cuenta con los accesos correspondientes
a los directorios de Moodle.</p>
<p>Para evitar que cada vez que ejecutes un comando de CVS el sistema te
pregunte <strong><font color="#990000">micontrase&ntilde;a</font></strong>,
sigue las <a target="_top" href="http://sourceforge.net/account/editsshkeys.php">instrucciones
de Sourceforge para utilizar claves autorizadas</a>. Este paso es opcional,
pero puede hacer tu experiencia con CVS mucho m&aacute;s c&oacute;moda.</p>
<p>Con todo esto hecho, deber&iacute;as tener todos los permisos necesarios, as&iacute;
que &uacute;nicamente necesitas configurar tu ordenador y descargar los fuentes
actuales para empezar a trabajar con ellos.</p>
<p>&nbsp;</p>
</blockquote>
<h2><a name="2" id="2"></a>2. M&oacute;dulos CVS </h2>
<blockquote>
<p>Dentro de CVS la palabra &quot;m&oacute;dulos&quot; se hace referencia a colecciones separadas
de c&oacute;digo. En Moodle tenemos los siguientes m&oacute;dulos en nuestro repositorio:</p>
<blockquote>
<p><strong>moodle</strong> - el c&oacute;digo fuente principal de Moodle</p>
<p><strong>contrib</strong> - contribuciones de los usuarios y todo tipo
de c&oacute;digo en desarrollo</p>
<p><strong>mysql</strong> - un phpMyAdmin personalizado para trabajar con
la base de datos de Moodle</p>
<p><strong>windows-cron</strong> - un peque&ntilde;o paquete que hace posible
el funcionamiento del cron en Windows </p>
<p><strong>docs</strong> - variada documentaci&oacute;n extra generada por los
usuarios </p>
</blockquote>
<p>La mayor&iacute;a de la gente est&aacute; trabajando en las funcionalidades existentes
en el m&oacute;dulo <strong>moodle</strong>,
pero muchos tambi&eacute;n est&aacute;n contribuyendo con nuevas ideas en el m&oacute;dulo <strong>contrib</strong>.
Una vez que el c&oacute;digo alcanza cierto nivel de madurez en la zona de <strong>contrib</strong> puede
ser movido a la zona principal de <strong>moodle.</strong></p>
<p>&nbsp;</p>
</blockquote>
<h2><a name="3" id="3"></a>3. Comandos b&aacute;sicos CVS </h2>
<blockquote>
<h3><a name="3.1" id="3.1"></a>3.1 CVS en Unix </h3>
<blockquote>
<p>El sistema CVS de Sourceforge utiliza ssh como una capa
de transporte para seguridad, por lo que tendr&aacute;s que tener definida la
variable de entorno CVS_RSH en tu sesi&oacute;n de Unix. Lo mejor es poner
estos comandos en tus archivos .bashrc o .cshrc para que no tengas que
teclearlos repetidamente<strong>:</strong></p>
<div class="commandline">setenv CVS_RSH ssh <em>(para csh, tcsh etc)</em><br />
export CVS_RSH=ssh <em>(<em>para</em> sh, bash etc)</em></div>
<p>A continuaci&oacute;n puedes obtener (checkout) la &uacute;ltima versi&oacute;n
de desarrollo de Moodle usando &eacute;sto (todo en la misma l&iacute;nea): </p>
<div class="commandline">cvs -z3 -d:ext:<span class="style1">miusuario</span>@cvs.sourceforge.net:/cvsroot/moodle
co moodle</div>
<p>El comando es similar para otros m&oacute;dulos CVS:</p>
<div class="commandline">cvs -z3 -d:ext:<span class="style1">miusuario</span>@cvs.sourceforge.net:/cvsroot/moodle co contrib</div>
<p>No intentes ejecutar este primer comando CVS sobre una instalaci&oacute;n existente
de Moodle: empieza con un directorio vac&iacute;o.</p>
<p>Cada vez que ejecutes un comando CVS se te preguntar&aacute; <strong><font color="#990000">micontrase&ntilde;a</font></strong> a
no ser que configures las <a target="_top" href="http://sourceforge.net/account/editsshkeys.php">claves
autorizadas</a>.</p>
<p>Ahora, deber&iacute;as tener un nuevo directorio
'moodle'. Puedes renombrarlo y moverlo donde quieras.
Entra en &eacute;l: </p>
<div class="commandline">cd moodle </div>
<p>Todos los ficheros de Moodle deber&iacute;an estar ah&iacute;. Ahora
puedes modificarlos localmente. Para comparar tus ficheros y directorios
con los que existen en la copia principal del servidor CVS utiliza
cvs diff, p.ej.: </p>
<div class="commandline">cvs diff -c config-dist.php<br />
cvs diff -c lang </div>
<p>Para obtener las &uacute;ltimas actualizaciones desde el servidor utiliza:</p>
<div class="commandline">cvs update -dP</div>
<p>Para copiar tus nuevos ficheros de vuelta al servidor deber&iacute;as hacer
algo como:</p>
<div class="commandline">cd lang/ca <br />
cvs commit</div>
<p>Se te requerir&aacute; que a&ntilde;adas algunos comentarios sobre los cambios (depende
de tu editor de texto por defecto) ... escribe alg&uacute;n comentario con significado
y cierra el editor ... los ficheros ser&aacute;n enviados a Sourceforge y almacenados
all&iacute;. &iexcl;Hecho! </p>
<p>Para ahorrar algo de tiempo, puedes poner algunos argumentos por defecto
en un fichero llamado .cvsrc en tu directorio. Por ejemplo, el m&iacute;o contiene: </p>
<div class="commandline">diff -c <br />
update -dP</div>
<p>Utiliza 'cvs help' para obtener m&aacute;s informaci&oacute;n... </p>
<p>&nbsp;</p>
</blockquote>
<h3><a name="3.2" id="3.2"></a>3.2 CVS en Windows </h3>
<blockquote>
<p>En primer lugar necesitas descargas una copia nueva de Moodle utilizando
tu cuenta de desarrollador:</p>
</blockquote>
<ol>
<ol>
<ol>
<li> Descarga TortoiseCVS desde <a target="_top" href="http://www.tortoisecvs.org/">tortoisecvs.org</a> e
inst&aacute;lalo, entonces reinicia. </li>
<li>Busca o crea una carpeta en la que quieras que Moodle sea descargado.</li>
<li>Seleci&oacute;nala con el bot&oacute;n derecho del rat&oacute;n
y selecciona &quot;<strong>CVS
Checkout</strong>&quot; en el men&uacute;. Ver&aacute;s una caja
de di&aacute;logo. </li>
<li>Copia este texto en el campo CVSROOT (&iexcl;utilizando tu propio nombre
de usuario!):
<pre> :ext:<font color="#990000">miusuario</font>@cvs.sourceforge.net:/cvsroot/moodle</pre>
</li>
<li>En el campo &quot;Module&quot;, teclea &quot;<strong>moodle</strong>&quot; para
obtener la &uacute;ltima versi&oacute;n de Moodle, &quot;<strong>contrib</strong>&quot; para
obtener el directorio de contribuciones ,
o&quot;<strong>mysql</strong>&quot; para descargar el m&oacute;dulo MySQL
Admin.</li>
<li>Selecciona el bot&oacute;n&quot;<strong>OK</strong>&quot; y todo
deber&iacute;a ser descargado. <br />
</li>
</ol>
</ol>
</ol>
<blockquote>
<p>Un di&aacute;logo deber&iacute;a mostrarte todos los ficheros que est&aacute;n siendo descargados
y, tras un rato, deber&iacute;as tener una copia completa de Moodle. Despu&eacute;s
de esta primera descarga (checkout) puedes obtener los &uacute;ltimos cambios
desde el servidor CVS:</p>
</blockquote>
<ol>
<ol>
<ol>
<li> Con el bot&oacute;n derecho del rat&oacute;n encima de tu carpeta Moodle (o
de cualquier otro fichero) selecciona &quot;<strong>CVS
Update</strong>&quot;. </li>
<li>Si&eacute;ntate y examina los registros atentamente. Apunta los
conflictos que pudieran aparecer si has realizado modificaciones
en tu copia local que entran en conflicto con cambios en las versiones
que te est&aacute;s descargando - necesitar&aacute;s editar estos ficheros
y resolver los conflictos manualmente. <br />
</li>
</ol>
</ol>
</ol>
<blockquote>
<p>Despu&eacute;s de modificar ficheros (notar&aacute;s que sus iconos cambian de verde
a rojo) puedes enviar esos cambios al servidor CVS as&iacute;:</p>
</blockquote>
<ol>
<ol>
<ol>
<li> Con el bot&oacute;n derecho del rat&oacute;n encima de tu carpeta
Moodle (o de cualquier otro fichero) selecciona &quot;<strong>CVS Commit...</strong>&quot;.</li>
<li>En el di&aacute;logo que aparece, introduce una descripci&oacute;n clara de los
cambios que est&aacute;s enviando.</li>
<li>Selecciona &quot;OK&quot;. Tus cambios ser&aacute;n enviados al servidor. <br />
</li>
</ol>
</ol>
</ol>
<p>&nbsp;</p>
</blockquote>
<h2><a name="4" id="4"></a>4. Trabajando con ramas </h2>
<blockquote>
<p>Este diagrama te muestra como el m&oacute;dulo <strong>moodle</strong> se
divide en diferentes ramas (branches) a lo largo del tiempo.</p>
<p align="center"><img src="pix/cvstree.png" width="500" height="200"></p>
<p align="left">Para ver todas las etiquetas y ramas existentes que est&aacute;n
disponibles, utiliza este comando en cualquier fichero antiguo (como el
index.php en el directorio principal de Moodle):</p>
<div class="commandline">cvs status -v index.php</div>
<p>Algunas instrucciones sobre las etiquetas (tags):</p>
<ul>
<li>Los nombres de las etiquetas y de las ramas siempre deben ser escritos
en may&uacute;sculas.</li>
<li>Las etiquetas y las ramas deben ser SIEMPRE aplicadas a <strong>todo
el m&oacute;dulo </strong> (todo Moodle). No crees etiquetas para ficheros
o carpetas individuales.</li>
<li>No permitimos renombrar etiquetas porque muchas personas las utilizan,
as&iacute; que &iexcl;cr&eacute;alas bien la primera vez!</li>
</ul>
<p><br />
</p>
<p>&nbsp;</p>
<h3><a name="4.1" id="4.1"></a>4.1 Desarrollando en el tronco (trunk) </h3>
<blockquote>
<p>El Tronco del CVS es la versi&oacute;n de desarrollo principal de Moodle. En
CVS tambi&eacute;n es conociddo como el <span class="style4">HEAD</span>,
o rama por defecto (default branch).</p>
<p>Los desarrolladores de Moodle intentan mantenerlo tan estable como es
posible, pero normalmente contiene nuevo c&oacute;digo con errores y peque&ntilde;as
inestabilidades.</p>
<p>En cuaquier momento podemos decidir que el producto tiene las funcionalidades
necesarias para publicar una nueva versi&oacute;n. En ese momento, el
tronco es marcado con una etiqueta <strong>MOODLE_XX_BETA</strong>
(por si en alg&uacute;n momento queremos volver a ese punto) y una nueva
rama es creada para esa versi&oacute;n con el nombre <span class="style1">MOODLE_XX_STABLE</span>. </p>
<p>En ese momento, un paquete Beta es tambi&eacute;n publicado - es para los usuario
que no utilizan el CVS pero quieren comprobar las nuevas funcionalidades
y ayudar en la detecci&oacute;n de errores.</p>
</blockquote>
<p>&nbsp;</p>
<h3><a name="4.2" id="4.2"></a>4.2 Ramas (branches) estables
para cada versi&oacute;n</h3>
<blockquote>
<p>En cuanto la rama estable <span class="style3">MOODLE_XX_STABLE</span> es
creada, los esfuerzos de los desarrolladores se dividir&aacute;n en dos objetivos
durante cierto tiempo. Algunas personas continuar&aacute;n trabajando en nuevas
funcionalidades en el tronco para la pr&oacute;xima versi&oacute;n, pero la mayor&iacute;a
de nosotros nos concentraremos en utilizar la rama <span class="style1">STABLE</span> y
solucionar los problemas que sean encontrados en ella.</p>
<p>Puedes cambiar tu copia local de Moodle a la rama <span class="style1">STABLE</span> utilizando
el siguiente comando en Unix desde tu directorio base de Moodle:</p>
<div class="commandline">cvs update -dP -r <span class="style1">MOODLE_XX_STABLE</span></div>
<p>Despu&eacute;s de esto, todos los comando descritos anteriormente ser&aacute;n
aplicados a la rama estable. Para volver al tronco, simplemente teclea:</p>
<div class="commandline">cvs update -dPA</div>
<p>En clientes Windows deber&iacute;a tener un men&uacute; en el que puedes seleccionar
la rama que deseas.</p>
<p>Una vez que la rama <span class="style1">STABLE</span> realmente se estabiliza, una versi&oacute;n oficial
puede ser creada. Se crean los paquetes necesarios para la distribuci&oacute;n
y la rama es marcada (por Martin) con una etiqueta llamada <span class="style3">MOODLE_XXX</span></p>
<p>Peri&oacute;dicamente, los problemas solucionados en la rama <span class="style1">STABLE</span> deben
ser combinados (merge) con el tronco para que tambi&eacute;n sean solucionados
para futuras versiones de Moodle. Una etiqueta flotante llamada <span class="style3">MOODLE_XX_MERGED</span> debe ser mantenida para marcar el punto en el que se realiz&oacute; la &uacute;ltima
combinaci&oacute;n. El procedimiento para realizar dicha combinaci&oacute;n es el siguiente:</p>
<ol>
<ol>
<li>Obt&eacute;n la &uacute;ltima version del tronco:<br />
<br />
<div class="commandline">cvs update -dPA</div>
</li>
<li>Combina todo desde la rama desde la &uacute;ltima combinaci&oacute;n, en el tronco:<br />
<br />
<div class="commandline">cvs update -kk -j <span class="style1">MOODLE_XX_MERGED</span> -j <span class="style1">MOODLE_XX_STABLE</span></div>
</li>
<li>Observa atentamente los registros para ver si se producen conflictos,
y soluciona cada fichero que veas que presenta problemas. </li>
<li>Guarda (commit) los cambios de la combinaci&oacute;n en el tronco CVS:<br />
<br />
<div class="commandline">cvs commit</div>
</li>
<li>Vuelve a la rama: <br />
<br />
<div class="commandline">cvs update -dPr <span class="style1">MOODLE_XX_STABLE</span></div>
</li>
<li>Actualiza la etiqueta flotante para que todo este proceso pueda
desarrollarse la pr&oacute;xima vez:<br />
<br />
<div class="commandline">cvs tag -RF <span class="style1">MOODLE_XX_MERGED</span></div>
</li>
</ol>
</ol>
<p><br />
Por &uacute;ltimo, los valores de la variable <em>$version</em> en todos
los ficheros version.php de Moodle en la ramas NO deben ser actualizados
en la medida de lo posible (excepto el &uacute;ltimo d&iacute;gito si
es verdaderamente necesario). La raz&oacute;n para &eacute;sto es que alguien
actualiz&aacute;ndose desde una
versi&oacute;n estable a la siguiente podr&iacute;a perder actualizaciones
de la base de datos que hayan sucedido en el tronco.</p>
</blockquote>
<p>&nbsp;</p>
<h3><a name="4.3" id="4.3"></a>4.3 Ramas de funcionalidades para grandes
cambios</h3>
<blockquote>
<p>De vez en cuando, puede haber alguna funcionalidad que necesita estar
controlada para que distintas personas puedan trabajar en ella, pero
que es muy inestable para ser incluida en el tronco de desarrollo.</p>
<p>En estos casos, una rama temporal es creada para trabajar en la funcionalidad
y, tan pronto como sea posible, combinarla con el tronco de nuevo.
En el diagrama mostrado anteriormente se ha incluido un ejemplo llamado <span class="style1"><strong>MOODLE_14_WIDGET</strong></span> de
este tipo de rama.</p>
<p>Si necesitas hacer esto para tu nueva <span class="style1">WIDGET</span>, sige estos pasos: </p>
<ol>
<ol>
<li>&iexcl;Disc&uacute;telo con otros desarrolladores para estar seguro
de que es realmente necesaria! </li>
<li>Crea una nueva etiqueta en el <strong>tronco</strong> (para todo
Moodle) llamada <span class="style1">MOODLE_XX_WIDGET_PRE</span>
<br />
<br />
<div class="commandline">cvs tag -R <span class="style1">MOODLE_XX_WIDGET_PRE</span></div></li>
<li>Crea tu rama llamada <span class="style1">MOODLE_XX_WIDGET</span>
<br />
<br />
<div class="commandline">cvs tag -Rb <span class="style1">MOODLE_XX_WIDGET</span></strong></div></li>
<li>Trabaja en esa rama hasta que la funcionalidad sea razonablemente
estable. Envia los cambios al servidor CVS cuando estimes oportuno:<br />
<br />
<div class="commandline">cvs commit</div></li>
<li>Cuando la funcionalidad est&eacute; lista, combina toda la rama
en el tronco, soluciona los posibles conflictos, gu&aacute;rdala
en el tronco y abandona la rama:<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>
</ol>
</blockquote>
<blockquote>
<p>&nbsp;</p>
</blockquote>
</blockquote>
<p align="center">&iexcl;Buena suerte, ten cuidado y divi&eacute;rtete!</p>
<p>&nbsp;</p>
</blockquote>
<p align="CENTER"><font size="1"><a href="." target="_top">Documentaci&oacute;n de Moodle </a></font></p>
<p align="CENTER"><font size="1">Version: $Id$</font></p>
</body>
</html>