Ayuda de MetaEditor

Fusión de cambios

Fusión de cambios

Una de las principales ventajas del repositorio MQL5 Storage es la posibilidad de trabajar en grupo con los archivos.

En este momento la posibilidad de conceder derechos a otros usuarios para editar carpetas en el repositorio personal aún no está implementada. Sin embargo, en estos momentos se puede trabajar con el repositorio desde varios ordenadores utilizando la misma cuenta de usuario en MQL5.community.

La fusión (merging) supone la unión de los cambios realizados en la copia de datos local con los datos que han sido cambiados de forma paralela y fijados en MQL5 Storage.

  • La fusión funciona sólo para los archivos de texto con el código fuente (mq5, mqh, cpp, h) en el formato ANSI. Los archivos bmp y wav siempre se sustituyen con la versión desde la revisión más reciente.
  • Los archivos del código fuente se comparan línea por línea. Cuando surgen conflictos (por ejemplo, en el archivo local y en el archivo correspondiente del repositorio ha sido editada la misma línea), el algoritmo de la fusión siempre tiende al guardado máximo de cambios locales.

Ejemplo de la fusión

Vamos a ver uno de los casos típicos de la fusión de dos archivos. Como ya se ha dicho más arriba, durante la fusión los archivos del código fuente se comparan línea por línea. Si el archivo del repositorio contiene las líneas que no están presentes en el archivo local, estas líneas se añaden. Por ejemplo, el archivo del repositorio contiene el siguiente código:

Archivo en el repositorio

El mismo archivo local contiene el siguiente código:

Archivo local

Después de ejecutar el comando "Actualizar Actualizar", el archivo local se quedaría intacto, puesto que los cambios locales tienen la prioridad. No obstante, si el archivo en el repositorio tuviera el siguiente código:

Archivo en el repositorio

En el archivo local sería agregada la línea "x=0;", mientras que la línea "return(true);" se quedaría sin cambios:

Archivo local actualizado

  • El principio más importante de la fusión de los archivos es la prioridad de datos locales. El algoritmo tiende a guardar los cambios locales al máximo.
  • Existe una variedad de tipos de conflictos de la fusión de datos. En este apartado hemos visto sólo una de las situaciones más típicas. El algoritmo de la fusión es bastante complejo y utiliza el enfoque multiaspectual durante el análisis de los archivos. Puede encontrar la información más detallada sobre la fusión en el libro dedicado a Subversion.