2003-08-29 02:39:11 +00:00
< html >
< head >
2004-08-31 10:39:17 +00:00
< 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;
}
-->
2003-08-29 02:39:11 +00:00
< / style >
< / head >
< body bgcolor = "#ffffff" >
2004-08-31 10:39:17 +00:00
< h1 > CVS para Desarrolladores de Moodle < / h1 >
2003-06-26 00:14:07 +00:00
< blockquote >
2004-08-31 10:39:17 +00:00
< p > CVS es un < strong > Sistema Concurrente de Versiones< / strong > ,
2004-08-31 10:57:24 +00:00
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
2004-08-31 10:39:17 +00:00
de Descargas de Moodle< / a > .< / p >
< p > < / p >
< ol >
< li > < a href = "#1" > Unié ndote al proyecto como desarrollador < / a > < / li >
< li > < a href = "#2" > Mó dulos CVS < / a > < / li >
< li > < a href = "#3" > Comandos bá 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ó n < / a > < br >
4.3. < a href = "#4.3" > Ramas de funcionalidades para grandes cambios < / a > < / li >
< / ol >
< p > < / p >
< h2 > < a name = "1" > < / a > 1. Unié ndote al proyecto como desarrollador < / h2 >
< blockquote >
< p > ¡ 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" > ¡ 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á 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 > .
2004-08-31 10:57:24 +00:00
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
2004-08-31 10:39:17 +00:00
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
2004-08-31 10:57:24 +00:00
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
2004-08-31 10:39:17 +00:00
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,
pero puede hacer tu experiencia con CVS mucho má s có moda.< / p >
< p > Con todo esto hecho, deberí as tener todos los permisos necesarios, así
que ú nicamente necesitas configurar tu ordenador y descargar los fuentes
actuales para empezar a trabajar con ellos.< / p >
< p > < / p >
< / blockquote >
< h2 > < a name = "2" id = "2" > < / a > 2. Mó dulos CVS < / h2 >
< blockquote >
< p > Dentro de CVS la palabra " mó dulos" se hace referencia a colecciones separadas
de có digo. En Moodle tenemos los siguientes mó dulos en nuestro repositorio:< / p >
2003-08-29 02:39:11 +00:00
< blockquote >
2004-08-31 10:39:17 +00:00
< p > < strong > moodle< / strong > - el có digo fuente principal de Moodle< / p >
< p > < strong > contrib< / strong > - contribuciones de los usuarios y todo tipo
de có 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ñ o paquete que hace posible
el funcionamiento del cron en Windows < / p >
2004-08-31 10:57:24 +00:00
< p > < strong > docs< / strong > - variada documentació n extra generada por los
usuarios < / p >
2003-08-29 02:39:11 +00:00
< / blockquote >
2004-08-31 10:39:17 +00:00
< p > La mayorí a de la gente está trabajando en las funcionalidades existentes
en el mó dulo < strong > moodle< / strong > ,
pero muchos tambié n está n contribuyendo con nuevas ideas en el mó dulo < strong > contrib< / strong > .
Una vez que el có 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 >
2003-08-29 02:39:11 +00:00
< p > < / p >
2004-08-31 10:39:17 +00:00
< / blockquote >
< h2 > < a name = "3" id = "3" > < / a > 3. Comandos bá 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á 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
2004-08-31 10:57:24 +00:00
teclearlos repetidamente< strong > :< / strong > < / p >
2004-08-31 10:39:17 +00:00
< 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 >
2004-08-31 10:57:24 +00:00
< p > A continuació n puedes obtener (checkout) la ú ltima versió n
de desarrollo de Moodle usando é sto (todo en la misma lí nea): < / p >
2004-08-31 10:39:17 +00:00
< 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 >
< 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ó 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
2004-08-31 10:57:24 +00:00
no ser que configures las < a target = "_top" href = "http://sourceforge.net/account/editsshkeys.php" > claves
2004-08-31 10:39:17 +00:00
autorizadas< / a > .< / p >
< p > Ahora, deberí as tener un nuevo directorio
2004-08-31 10:57:24 +00:00
'moodle'. Puedes renombrarlo y moverlo donde quieras.
2004-08-31 10:39:17 +00:00
Entra en é l: < / p >
< div class = "commandline" > cd moodle < / div >
2004-08-31 10:57:24 +00:00
< 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
2004-08-31 10:39:17 +00:00
cvs diff, p.ej.: < / p >
< div class = "commandline" > cvs diff -c config-dist.php< br / >
cvs diff -c lang < / div >
< p > Para obtener las ú 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í as hacer
algo como:< / p >
< div class = "commandline" > cd lang/ca < br / >
cvs commit< / div >
< p > Se te requerirá que añ adas algunos comentarios sobre los cambios (depende
de tu editor de texto por defecto) ... escribe algú n comentario con significado
y cierra el editor ... los ficheros será n enviados a Sourceforge y almacenados
allí . ¡ 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í o contiene: < / p >
< div class = "commandline" > diff -c < br / >
update -dP< / div >
< p > Utiliza 'cvs help' para obtener má s informació n... < / p >
< p > < / 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
2004-08-31 10:57:24 +00:00
tu cuenta de desarrollador:< / p >
2004-08-31 10:39:17 +00:00
< / blockquote >
< ol >
< 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 >
2004-08-31 10:57:24 +00:00
< 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 >
2004-08-31 10:39:17 +00:00
< 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 >
< li > En el campo " Module" , teclea " < strong > moodle< / strong > " para
obtener la ú ltima versió n de Moodle, " < strong > contrib< / strong > " para
obtener el directorio de contribuciones ,
o" < strong > mysql< / strong > " para descargar el mó dulo MySQL
Admin.< / li >
< li > Selecciona el botó n" < strong > OK< / strong > " y todo
deberí a ser descargado. < br >
< / li >
< / ol >
< / ol >
< / ol >
< blockquote >
< p > Un diá logo deberí a mostrarte todos los ficheros que está n siendo descargados
y, tras un rato, deberí as tener una copia completa de Moodle. Despué s
de esta primera descarga (checkout) puedes obtener los ú ltimos cambios
desde el servidor CVS:< / p >
< / blockquote >
< ol >
< ol >
< ol >
< 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 >
2004-08-31 10:57:24 +00:00
< 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 >
2004-08-31 10:39:17 +00:00
< / li >
< / ol >
< / ol >
< / ol >
< blockquote >
< p > Despué s de modificar ficheros (notará s que sus iconos cambian de verde
a rojo) puedes enviar esos cambios al servidor CVS así :< / p >
< / blockquote >
< ol >
< ol >
< ol >
< li > Con el botó n derecho del rató n encima de tu carpeta
Moodle (o de cualquier otro fichero) selecciona " < strong > CVS Commit...< / strong > " .< / li >
< li > En el diá logo que aparece, introduce una descripció n clara de los
cambios que está s enviando.< / li >
< li > Selecciona " OK" . Tus cambios será n enviados al servidor. < br >
< / li >
< / ol >
< / ol >
< / ol >
< p > < / p >
< / blockquote >
< h2 > < a name = "4" id = "4" > < / a > 4. Trabajando con ramas < / h2 >
< blockquote >
< p > Este diagrama te muestra como el mó 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á 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 >
2004-08-31 10:57:24 +00:00
< li > Los nombres de las etiquetas y de las ramas siempre deben ser escritos
2004-08-31 10:39:17 +00:00
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
o carpetas individuales.< / li >
< li > No permitimos renombrar etiquetas porque muchas personas las utilizan,
así que ¡ cré alas bien la primera vez!< / li >
< / ul >
< p > < br / >
< / p >
< p > < / 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ó n de desarrollo principal de Moodle. En
CVS tambié 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ó digo con errores y pequeñ as
inestabilidades.< / p >
< p > En cuaquier momento podemos decidir que el producto tiene las funcionalidades
2004-08-31 10:57:24 +00:00
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 >
2004-08-31 10:39:17 +00:00
< 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 >
< / blockquote >
< p > < / p >
< h3 > < a name = "4.2" id = "4.2" > < / a > 4.2 Ramas (branches) estables
para cada versió 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á 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
2004-08-31 10:57:24 +00:00
de nosotros nos concentraremos en utilizar la rama < span class = "style1" > STABLE< / span > y
2004-08-31 10:39:17 +00:00
solucionar los problemas que sean encontrados en ella.< / p >
2004-08-31 10:57:24 +00:00
< p > Puedes cambiar tu copia local de Moodle a la rama < span class = "style1" > STABLE< / span > utilizando
2004-08-31 10:39:17 +00:00
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 >
2004-08-31 10:57:24 +00:00
< p > Despué s de esto, todos los comando descritos anteriormente será n
aplicados a la rama estable. Para volver al tronco, simplemente teclea:< / p >
2004-08-31 10:39:17 +00:00
< 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 >
2004-08-31 10:57:24 +00:00
< p > Una vez que la rama < span class = "style1" > STABLE< / span > realmente se estabiliza, una versió n oficial
2004-08-31 10:39:17 +00:00
puede ser creada. Se crean los paquetes necesarios para la distribució n
2004-08-31 10:57:24 +00:00
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
2004-08-31 10:39:17 +00:00
ser combinados (merge) con el tronco para que tambié n sean solucionados
2004-08-31 10:57:24 +00:00
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
2004-08-31 10:39:17 +00:00
combinació n. El procedimiento para realizar dicha combinació n es el siguiente:< / p >
< ol >
< ol >
< li > Obté n la ú ltima version del tronco:< br >
< br >
< div class = "commandline" > cvs update -dPA< / div >
< / li >
< li > Combina todo desde la rama desde la ú ltima combinació n, en el tronco:< br >
< br >
2004-08-31 10:57:24 +00:00
< div class = "commandline" > cvs update -kk -j < span class = "style1" > MOODLE_XX_MERGED< / span > -j < span class = "style1" > MOODLE_XX_STABLE< / span > < / div >
2004-08-31 10:39:17 +00:00
< / 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ó n en el tronco CVS:< br >
< br >
< div class = "commandline" > cvs commit< / div >
< / li >
< li > Vuelve a la rama: < br >
< br >
2004-08-31 10:57:24 +00:00
< div class = "commandline" > cvs update -dPr < span class = "style1" > MOODLE_XX_STABLE< / span > < / div >
2004-08-31 10:39:17 +00:00
< / li >
< li > Actualiza la etiqueta flotante para que todo este proceso pueda
desarrollarse la pró xima vez:< br >
< br >
2004-08-31 10:57:24 +00:00
< div class = "commandline" > cvs tag -RF < span class = "style1" > MOODLE_XX_MERGED< / span > < / div >
2004-08-31 10:39:17 +00:00
< / li >
< / ol >
< / ol >
< p > < br >
Por ú ltimo, los valores de la variable < em > $version< / em > en todos
2004-08-31 10:57:24 +00:00
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 >
2004-08-31 10:39:17 +00:00
< / blockquote >
< p > < / 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
2004-08-31 10:57:24 +00:00
y, tan pronto como sea posible, combinarla con el tronco de nuevo.
2004-08-31 10:39:17 +00:00
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 >
2004-08-31 10:57:24 +00:00
< p > Si necesitas hacer esto para tu nueva < span class = "style1" > WIDGET< / span > , sige estos pasos: < / p >
2004-08-31 10:39:17 +00:00
< ol >
< ol >
2004-08-31 10:57:24 +00:00
< li > ¡ Discú telo con otros desarrolladores para estar seguro
de que es realmente necesaria! < / li >
2004-08-31 10:39:17 +00:00
< li > Crea una nueva etiqueta en el < strong > tronco< / strong > (para todo
2004-08-31 10:57:24 +00:00
Moodle) llamada < span class = "style1" > MOODLE_XX_WIDGET_PRE< / span >
2004-08-31 10:39:17 +00:00
< br >
< br >
2004-08-31 10:57:24 +00:00
< 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 >
2004-08-31 10:39:17 +00:00
< 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
2004-08-31 10:57:24 +00:00
estable. Envia los cambios al servidor CVS cuando estimes oportuno:< br >
2004-08-31 10:39:17 +00:00
< br >
< div class = "commandline" > cvs commit< / div > < / li >
2004-08-31 10:57:24 +00:00
< 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 >
2004-08-31 10:39:17 +00:00
< 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 > < / p >
< / blockquote >
< / blockquote >
< p align = "center" > ¡ Buena suerte, ten cuidado y divié rtete!< / p >
< p > < / p >
< / blockquote >
< p align = "CENTER" > < font size = "1" > < a href = "." target = "_top" > Documentació n de Moodle < / a > < / font > < / p >
< p align = "CENTER" > < font size = "1" > Version: $Id$< / font > < / p >
2003-08-29 02:39:11 +00:00
< / body >
2003-09-07 03:14:26 +00:00
< / html >