Tenemos un proyecto desarrollado en una PC en la cual el nro de desarrollador de la instalacion es 0, el codigo toba se encuentra bajo a administración de SVN. Por otro lado en otra PC, dentro de la misma LAN, existe otro desarrollador, cuya nro en la instalación de esa PC es 1.
Luego de bajar la versión disponible en el repositorio mediante un Checkout y aplicando el comando toba proyecto actualizar -p miproyecto, dentro del editor no se puede ver el proyecto completo, solo se ve la gestion de usuarios tal cual como si el proyecto estuviera sin desarrollo alguno, que me esta faltando? puede ser algo referido a perfiles funcionales/datos definidos en la PC del desarrollador 0?
en caso de ser esto ultimo como se debe solucionar/configurar en la pc del desarrollador 1?
creo que el problema esta en que nunca cargaron el proyecto luego de hacer el checkout, sino que usaron el comando actualizar que sirve unicamente cuando el proyecto ya esta cargado en la instancia.
Te diria que arranques nuevamente desde el checkout y luego del mismo uses ‘toba proyecto cargar -p miproyecto’ por unica vez, luego si queres podes usar el batch “toba proyecto actualizar”.
Es correcto lo que mencionas, el problema estaba en que estabamos omitiendo realizar toba proyecto cargar como primera medida, ahora bien, estaria necesitando que me expliques paso a paso que acciones deben tomar los desarrolladores para ir trabajando siempre con la ultima versión disponible compartiendo las modificaciones que ralizan ambos, te cuento porque te consulto esto, tenos dos desarrolladores, uno es el 0 y el otro el 10, ambos desarrolladores han ido avanzando en paralelo con el proyecto pero al querer “fusionar” los cambios realizados por ambos, existen cambios que figuran como Deleted en el SVN y por ende desaparecen en la PC del desarrollador destino.
Gracias.-
Si estás usando un Linux de escritorio (digamos Ubuntu por ejemplo) te dejo un link al home de de un cliente simil TortoiseSVN pero que nunca usé, quizás haya otro mejor http://rabbitvcs.org/
A grandes rasgos, todos los desarrolladores descargan los fuentes, hacen modificaciones, luego de terminada una modificación (que esté minimamente usable:) commitean (envian/confirman/suben) esos cambios.
Ahora bien, si otro desarrollador mientras el primero hacia cambios en cargar_notas_acta.php tambien hizo cambios en el mismo archivo… cuando quiera commitear los cambios le dirá que el archivo fué actualizado desde la última vez que lo descargó.
En ese punto tendrá que descargar la versión actualizada por el otro desarrollador y mergearla (unirla) con su propia versión eso o reemplazar su versión con la nueva, o ignorar la nueva versiòn y quedarse con la suya. Puede que no tenga conflictos (que no se haya trabajado en las mismas áreas) y no deba hacer nada; o puede que los 2 hayan trabajado en lo mismo y deba hacer el merge decidiendo que cosa de que versión quedarse y cual quitar.
En resumen… el SVN no hace magia, solo te muestra rápidamente las cosas que fueron “tocadas” por otra persona y es el desarrollador el que debe elegir que hacer con esos cambios.
Esto es un problema de orden en el trabajo, en general con el comando toba proyecto actualizar alcanza… pero si alguien commitea mal los metadatos, CAOS!. Con el tiempo, los integrantes del equipo van acostumbrandose a la secuencia y deja de haber problemas. De todas maneras, para el mientras tanto… lo que se puede hacer es en el archivo instalacion.ini de cada desarrollador incluir lo siguiente:
chequea_sincro_svn=1
Eso evitara que se pueda exportar o regenerar el proyecto si es que hay diferencias entre los metadatos en disco y lo que existe en la bd. Para que esto funcione el cliente svn de linea de comandos debe estar instalado y en el path.
Cuando surge algun inconveniente, en la consola sale un texto similar al de la siguiente imagen.
Por otro lado, el comando toba proyecto actualizar realiza la siguiente secuencia de pasos:
toba proyecto exportar
svn update
toba proyecto regenerar
Simplemente se hace todo en un batch para simplificar las cosas… pero hay que estar muy atento a que no se presenten conflictos o haya errores en alguno de los puntos.
Richard decía antes “si alguien commitea mal los metadatos, CAOS!”…
El tema es que cada desarrollador debiera excluir de su SVN a todos los metadatos… por carpeta, por extensión de los archivos o 1 por 1 si fuera el caso pero nunca debiera guardarse en el SVN algo que sea parte del IDE de desarrollo.
Si trabajaras con PHP y netbeans te diría que los metadatos del netbeans podés guardarlos en ubicaciones diferenciadas para que no se mezclen con la estructura de los fuentes y recursos… pero sinceramente no recuerdo la estructura de TOBA de memoria como para decirte que carpetas excluir…
no termino de entender del todo a que te referis, me parece que estamos hablando de cuestiones separadas, una cosa es la IDE de desarrollo y otra cuestion son los metadatos de toba, yo hacia referencia a estos ultimos, si no se hacen los pasos de actualizacion en el orden correcto se puede terminar borrando la operacion que acaba de desarrollar otro miembro del grupo.