Todos los usuarios realizan cambios en sus copias de trabajo individuales de la manera habitual en Control FPWIN Pro7. Los usuarios compilan, descargan y realizan pruebas según sea necesario o apropiado.
Será necesario realizar alguna intervención manual adicional en la copia de trabajo en caso de que los usuarios añadan, eliminen o cambien el nombre de un objeto con Control FPWIN Pro7.
¡Operar directamente en las carpetas y archivos de la copia de trabajo (p.ej., editar, borrar, crear, pegar, renombrar) puede destruir la copia de trabajo y el proyecto o la librería de usuario!
En la copia de trabajo, y al abrir un menú contextual, ¡asegurarse de utilizar solo los comandos del sistema de control de versiones externo que gestiona el intercambio de datos entre la copia de trabajo y el repositorio correspondiente!
Todos los usuarios pueden ver iconos superpuestos de las carpetas y archivos en el explorador de archivos que les informan sobre el estado de modificación del objeto/archivo/carpeta local en comparación con la revisión original que recibieron del repositorio de proyectos o librerías.
Los usuarios pueden consultar en cualquier momento los cambios locales que han aplicado a su copia de trabajo (en objetos o en archivos) desde el momento en que la recibieron del repositorio de proyectos o librerías (sin fusionar sus propios cambios) o cuando confirmaron sus cambios. También pueden comparar el estado actual de su copia de trabajo con cualquier revisión del proyecto o librería en el repositorio correspondiente (los usuarios también pueden comparar dos revisiones cualesquiera en el repositorio de proyectos o librerías).
Los usuarios revisan y verifican sus cambios antes de confirmarlos en el repositorio correspondiente.
Los usuarios pueden deshacer los cambios locales en su copia de trabajo revirtiéndolos por objeto o por archivo (el archivo es la unidad más pequeña que puede revertirse), parcialmente (a nivel de subcarpeta) o completamente (la carpeta completa de la copia de trabajo). La reversión también se llevará a cabo automáticamente en el proyecto o librería de usuario abierta.
Los usuarios confirman los cambios realizados en sus copias de trabajo individuales en los repositorios correspondientes, p. ej., cuando uno o varios usuarios necesitan objetos nuevos o que han sido modificados en otro lugar.
El primer usuario que confirma los cambios puede hacerlo sin recibir ninguna consulta del sistema.
El segundo usuario y subsiguientes que confirmen sus cambios pueden ser requeridos a actualizar su copia de trabajo antes de poder confirmar sus cambios, de modo que los cambios que han sido realizados por otros usuarios en el/los mismo(s) objeto(s) puedan ser fusionados en sus objetos ( modificados) primero.
El proceso de fusión solo tiene lugar cuando la copia de trabajo se actualiza desde el repositorio correspondiente. Una fusión con éxito siempre reemplaza por completo el objeto correspondiente en el archivo de proyecto. Si la fusión no tiene éxito, puede deberse a cambios contradictorios en el mismo objeto, por ejemplo, dos usuarios han utilizado dos valores iniciales diferentes para la misma variable. En este caso, todos los usuarios mantienen su propia versión hasta que se resuelva el conflicto. Los objetos y archivos con conflictos no resueltos permanecen en la carpeta de la copia de trabajo hasta que se resuelven estos conflictos.
Si la fusión no puede realizarse automáticamente, el conflicto de fusión resultante debe resolverse manualmente con la ayuda de las herramientas y los menús del sistema de control de versiones utilizado.
Con cada confirmación realizada en un repositorio de proyectos o librerías, debe añadirse un texto de comentario que ayude a otros usuarios a entender los cambios confirmados (qué se ha cambiado y por qué, tal vez un error o un número de paquete de trabajo). Se añade automáticamente el número de revisión, el autor y la fecha y la hora, y se puede consultar en cualquier momento con los datos de registro de los objetos (historial).
En cualquier momento, los usuarios pueden consultar el historial de cambios de los objetos/archivos del repositorio de proyectos o librerías desde su copia de trabajo y ver quién ha modificado qué, cuándo y por qué (el por qué depende de si las confirmaciones anteriores se han hecho con comentarios).
Todos los usuarios pueden actualizar su copia de trabajo desde el repositorio correspondiente, p. ej., si necesitan o quieren integrar los objetos o cambios de los demás usuarios. Cualquier conflicto de fusión durante esta actualización tiene que ser resuelto manualmente con la ayuda de las herramientas y menús del sistema de control de versiones utilizado. Tras una actualización con éxito o la resolución de cualquier conflicto de fusión, los cambios se incorporan automáticamente y se fusionan en la copia de trabajo de los usuarios de la siguiente manera:
Cuando se cierra el proyecto, se actualiza la copia de trabajo anidada, y tanto el proyecto como las librerías de usuario se actualizarán a partir de esta copia de trabajo anidada la próxima vez que el usuario abra el proyecto. ¡La copia de trabajo (anidada) es el maestro (local) del archivo de proyecto con sus librerías de usuario controladas por versión!
Cuando se abre el proyecto, todos los objetos modificados se actualizan automáticamente, a menos que ya estén abiertos en un editor.
Los objetos que están abiertos en un editor se actualizarán en función de su estado de modificación:
Objetos no modificados: El proceso de fusión cierra la ventana del editor y actualiza el objeto. Cuando el usuario vuelva a abrir el objeto, éste estará en estado actualizado.
Objetos modificados: Aparece un mensaje pidiendo al usuario que decida si los cambios actuales en el editor deben ser descartados o guardados. Si se descartan los cambios actuales, se cierra el editor y se actualiza el objeto. Si se guardan los cambios actuales, el objeto no se actualizará.
Todos los usuarios pueden volver a una revisión anterior del repositorio de proyectos o librerías actualizando o revirtiendo su copia de trabajo a esa revisión. Esto se reflejará automáticamente en su proyecto o librería. Sin embargo, los cambios realizados en la copia de trabajo revertida no podrán ser confirmados en el repositorio, ya que estarán basados en una revisión obsoleta.