<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ódigo fuente
- de grandes proyectos de software. CVS almacen todas las versiones de todos
- lo ficheros de tal forma que nada es nunca perdido, y su utilización por
- varias personas es registrado. También proporciona una forma de combinar
- el código de dos o más personas que estén trabajando simultaneamente en el
- mismo fichero. Todo el có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 únicamente quieres utilizar el CVS para descargar Moodle yponerlo en
- marcha, posiblemente no necesitas esta página - simplemente sigue las instrucciones
- que aparecen en la <a target="_top" href="http://moodle.org/download">Pagina
+ una forma de trabajo habitualmente utilizada para almacenar el có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ón
+ por varias personas es registrada. También proporciona una forma de
+ combinar el código de dos o más personas que estén trabajando
+ simultáneamente en el mismo fichero. Todo el có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 únicamente quieres utilizar el CVS para descargar Moodle y ponerlo
+ en marcha, posiblemente no necesitas esta pá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> </p>
<ol>
Para los ejemplos en esta página asumiremos que tu nombre de usuario
es <strong><font color="#990000">miusuario</font></strong> y tu contraseña
es <strong><font color="#990000">micontraseña</font></strong>.
- Presta especial atención a las instruciones de sourceforge para <a target="_top" href="http://sourceforge.net/docman/display_doc.php?docid=768&group_id=1#develhomedir">crear
+ Presta especial atenció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ás que hacer con cada cuenta para "activarla" para
CVS. Bá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 él pueda configurar tu cuenta con los accesos correpondientes a los
- directorios de Moodle.</p>
- <p>Para evitar que cada vez que ejecutas un comando de CVS el sistema te
+ que é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ñ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,
la base de datos de Moodle</p>
<p><strong>windows-cron</strong> - un pequeño paquete que hace posible
el funcionamiento del cron en Windows </p>
- <p><strong>docs</strong> - varia documentacion extra generada por los usuarios </p>
+ <p><strong>docs</strong> - variada documentación extra generada por los
+ usuarios </p>
</blockquote>
<p>La mayoría de la gente está trabajando en las funcionalidades existentes
en el módulo <strong>moodle</strong>,
de transporte para seguridad, por lo que tendrás que tener definida la
variable de entorno CVS_RSH en tu sesió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>
+ 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ón puedes obtener (checkout) la última versión de desarrollo
- de Moodle usando esto (todo en la misma línea): </p>
+ <p>A continuación puedes obtener (checkout) la última versión
+ de desarrollo de Moodle usando ésto (todo en la misma lí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ódulos CVS:</p>
<p>No intentes ejecutar este primer comando CVS sobre una instalación existente
de Moodle: empieza con un directorio vacío.</p>
<p>Cada vez que ejecutes un comando CVS se te preguntará <strong><font color="#990000">micontraseña</font></strong> a
- nos ser que configures las <a target="_top" href="http://sourceforge.net/account/editsshkeys.php">claves
+ no ser que configures las <a target="_top" href="http://sourceforge.net/account/editsshkeys.php">claves
autorizadas</a>.</p>
<p>Ahora, deberías tener un nuevo directorio
- 'moodle'. Puedes renombrarlo y moverl donde quieras.
+ 'moodle'. Puedes renombrarlo y moverlo donde quieras.
Entra en él: </p>
<div class="commandline">cd moodle </div>
- <p>Todos los ficheros de Moodle deberían estar ahí. Ahora puedes modificarlos
- localmente. Para comparar tus ficheros y directorios con los que existen
- en la copias principal del servidor CVS utiliza
+ <p>Todos los ficheros de Moodle deberían estar ahí. 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>
<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>
+ tu cuenta de desarrollador:</p>
</blockquote>
<ol>
<ol>
<li> Descarga TortoiseCVS desde <a target="_top" href="http://www.tortoisecvs.org/">tortoisecvs.org</a> e
instálalo, entonces reinicia. </li>
<li>Busca o crea una carpeta en la que quieras que Moodle sea descargado.</li>
- <li>Selecionala con el botón derecho del ratón y selecciona "<strong>CVS
- Checkout</strong>" en el menú. Verás una caja de diálogo. </li>
+ <li>Seleciónala con el botón derecho del ratón
+ y selecciona "<strong>CVS
+ Checkout</strong>" en el menú. Verás una caja
+ de diálogo. </li>
<li>Copia este texto en el campo CVSROOT (¡utilizando tu propio nombre
de usuario!):
<pre> :ext:<font color="#990000">miusuario</font>@cvs.sourceforge.net:/cvsroot/moodle</pre>
<li> Con el botón derecho del ratón encima de tu carpeta Moodle (o
de cualquier otro fichero) selecciona "<strong>CVS
Update</strong>". </li>
- <li>Siéntate y examina los registros atentamente. Apunta los conflictos
- que pudieran aparecer si han realizado modificaciones en tu copia
- local que entran en conflicto con cambios en las versiones que te
- estás descargando - necesitaras editar estos ficheros y resolver
- los conflictos manualmente. <br>
+ <li>Sié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ás descargando - necesitarás editar estos ficheros
+ y resolver los conflictos manualmente. <br>
</li>
</ol>
</ol>
<div class="commandline">cvs status -v index.php</div>
<p>Algunas instrucciones sobre las etiquetas (tags):</p>
<ul>
- <li>Las los nombres de las etiquetas y de las ramas siempre deben ser escritas
+ <li>Los nombres de las etiquetas y de las ramas siempre deben ser escritos
en mayúsculas.</li>
<li>Las etiquetas y las ramas deben ser SIEMPRE aplicadas a <strong>todo
el módulo </strong> (todo Moodle). No crees etiquetas para ficheros
posible, pero normalmente contiene nuevo código con errores y pequeñas
inestabilidades.</p>
<p>En cuaquier momento podemos decidir que el producto tiene las funcionalidades
- necesarias para publicar una nueva versión. En ese momento, el tronco
- es marcado con una etiqueta <strong>MOODLE_XX_BETA</strong> tag
- (por si en algún momento queremos volver a ese punto) y una nueva rama
- es creada para esa versión con el nombre <span class="style1">MOODLE_XX_STABLE</span>. </p>
+ necesarias para publicar una nueva versión. En ese momento, el
+ tronco es marcado con una etiqueta <strong>MOODLE_XX_BETA</strong>
+ (por si en algún momento queremos volver a ese punto) y una nueva
+ rama es creada para esa versión con el nombre <span class="style1">MOODLE_XX_STABLE</span>. </p>
<p>En ese momento, un paquete Beta es también publicado - es para los usuario
que no utilizan el CVS pero quieren comprobar las nuevas funcionalidades
y ayudar en la detección de errores.</p>
creada, los esfuerzos de los desarrolladores se dividirán en dos objetivos
durante cierto tiempo. Algunas personas continuarán trabajando en nuevas
funcionalidades en el tronco para la próxima versión, pero la mayoría
- de nosotros nos concentraremos en utilizar la rama <span class="style1"><strong>STABLE</strong></span> y
+ 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 loca de Moodle a la rama <span class="style1"><strong>STABLE</strong></span> utilizando
+ <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és de esto, todos los comando descritos anteriormente serán aplicados
- a la rama stable. Para volver al tronco, simplemente teclea:</p>
+ <p>Después de esto, todos los comando descritos anteriormente será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ía tener un menú en el que puedes seleccionar
la rama que deseas.</p>
- <p>Una vez que la rama STABLE realmente se estabiliza, una versión oficial
+ <p>Una vez que la rama <span class="style1">STABLE</span> realmente se estabiliza, una versión oficial
puede ser creada. Se crean los paquetes necesarios para la distribución
- y la rama es marcada (por Martin) con una etiqueta llamada <strong>MOODLE_XXX</strong></p>
- <p>Periódicamente, los problemas solucionados en la rama STABLE deben
+ y la rama es marcada (por Martin) con una etiqueta llamada <span class="style3">MOODLE_XXX</span></p>
+ <p>Periódicamente, los problemas solucionados en la rama <span class="style1">STABLE</span> deben
ser combinados (merge) con el tronco para que también sean solucionados
- para futuras versiones de Moodle. Una etiqueta flotante llamada MOODLE_XX_MERGED
- debe ser mantenida para marcar el punto en el que se realizó la última
+ 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ó la última
combinación. El procedimiento para realizar dicha combinación es el siguiente:</p>
<ol>
<ol>
</li>
<li>Combina todo desde la rama desde la última combinación, en el tronco:<br>
<br>
- <div class="commandline">cvs update -kk -j MOODLE_13_MERGED -j MOODLE_13_STABLE</div>
+ <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>
<li>Vuelve a la rama: <br>
<br>
- <div class="commandline">cvs update -dPr MOODLE_13_STABLE</div>
+ <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óxima vez:<br>
<br>
- <div class="commandline">cvs tag -RF MOODLE_13_MERGED</div>
+ <div class="commandline">cvs tag -RF <span class="style1">MOODLE_XX_MERGED</span></div>
</li>
</ol>
</ol>
<p><br>
Por último, los valores de la variable <em>$version</em> en todos
- los ficheros version.php de Moodle en la ramas no debe ser actualizado
- en la medida de lo posible (excepto el último dígito si es verdaderamente
- necesario). La razón para esto es que alguien actualizándose desde una
- versión estable a la siguiente podría perder actualizaciones de la base
- de datos que hayan sucedido en el tronco.</p>
+ los ficheros version.php de Moodle en la ramas NO deben ser actualizados
+ en la medida de lo posible (excepto el último dígito si
+ es verdaderamente necesario). La razón para ésto es que alguien
+ actualizándose desde una
+ versión estable a la siguiente podría perder actualizaciones
+ de la base de datos que hayan sucedido en el tronco.</p>
</blockquote>
<p> </p>
<h3><a name="4.3" id="4.3"></a>4.3 Ramas de funcionalidades para grandes
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
- para, tan pronto como sea posible, combinarla con el tronco de nuevo.
+ 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 WIDGET, sige estos pasos: </p>
+ <p>Si necesitas hacer esto para tu nueva <span class="style1">WIDGET</span>, sige estos pasos: </p>
<ol>
<ol>
- <li>¡Discútelo con otros desarrolladores para estar seguro de que es
- necesaria! </li>
+ <li>¡Discú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 <strong>MOODLE_XX_WIDGET_PRE</strong>
+ Moodle) llamada <span class="style1">MOODLE_XX_WIDGET_PRE</span>
<br>
<br>
- <div class="commandline">cvs tag -R MOODLE_XX_WIDGET_PRE</div></li>
- <li>Crea tu rama llamada <span class="style1"><strong>MOODLE_XX_WIDGET</strong></span>
+ <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 sea necesario:<br>
+ estable. Envia los cambios al servidor CVS cuando estimes oportuno:<br>
<br>
<div class="commandline">cvs commit</div></li>
- <li>Cuando la funcionalidad esté lista, combina toda la rama en el
- tronco, soluciona los posibles conflicots, guárdala en el tronco
- y abandona la rama:<br>
+ <li>Cuando la funcionalidad esté lista, combina toda la rama
+ en el tronco, soluciona los posibles conflictos, guárdala
+ en el tronco y abandona la rama:<br>
<br>
<div class="commandline">
<strong>cvs update -dPA</strong><br />