CVS. Concurrent Versions System ¿Qué es y para qué sirve? ¿Cómo configurar WinCVS para los usuarios de los grupos de robótica móvil? ¿Cómo usar WinCVS para modificar/actualizar la interface RoboGUI?
¿Qué es y para qué sirve? CVS: Concurrent Versions System. Open-source network-transparent version control system. Permite a distintos programadores/usuarios trabajar simultaneamente en un projecto, manteniendo las versiones y modificaciones de forma controlada.
¿Cómo configurar WinCVS para los usuarios de los grupos de robótica móvil? 1. Ver si pertenece a grupo cvsnew, si no pedir con un mail a que añada al grupo. En una ventana de comando unix en haydn poner: groups
2. Configurar fichero.rhosts. Para ver si tienes un fichero.rhosts
Si no lo tienes, puedes crear uno desde la línea de comando con: printf “maquina.upc.es usuario” >.rhosts 3. Añadir un softlink a cvsroot en tu raíz: ln –s /users/cvsroot/ cvsroot
4. Bajar e instalar cvswin de repositorio en groups/lrobots/private/index.html User: visioPassword: vision
5. Configurar WinCVS Admin->Preferences
CVSROOT -> :ext:haydn.upc.es:/users/robot/usuario/cvsroot
Como usar el CVS en el grupo de robótica móvil del IRI Pasos a seguir para trabajar de forma concurrente en un projecto con CVS Checkout Modificaciones al código Update Revisión de conflictos Commit
Checkout Create->Checkout Module Module name: RoboGUI Folder to checkout to: Donde tu quieras en tu disco
Si todo va bien, saldrá algo así
Modificaciones al código Supongamos que yo quiero modificar el fichero pruebacvs.cpp Añadiendo
Update Una vez que haz modificado el código deberás hacer un update para ver que sea compatible con el trabajo de los demás.
M significa que el fichero ha sido modificado sin problemas. C significa que ha habido conflicto y deberá corregirse
Revisión de conflictos Los conflictos pueden verse haciendo un diff entre la versión local y la del repositorio
Si CVS pudo resolver automáticamente los conflictos, incrementará el número de versión y no reportará código de error. Pero si el código de Update es “C”, deberán arreglarse los conflictos manualmente en las fuentes.
Commit Una vez resueltos los conflictos se podrá remitir la nueva versión del código al repositorio.