From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Configurar LVMerge con TortoiseSVN

¡Resuelto!
Ir a solución

Hola,

 

Estoy tratando de usar un repositorio de código SVN (TortoiseSVN), pero no se como configurar para que Tortoise se integre con el LabVIEW Merge(LVMerge).

Intente lo de este artículo http://expressionflow.com/2007/08/28/using-new-labview-merge-tool-lvmerge-with-tortoisesvn/ pero me sale un error del Tortoise dicendo que el archivo no es válido que es un archivo binario o algo así: smileysad:

 

Por favor, si alguien tiene algo de experiencia con este tema

 

Muchas Gracias.

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 1 de 9
4.347 Vistas

Supongo que el error que te aparece proviene del programa TortoiseMerge y te dice que los ficheros que estás tratando de fusionar no son de texto sino binarios. A mi me ha aparecido ese error antes de configurar TortoiseSVN porque cuando no se identifica la extensión del fichero se intenta utilizar el programa por defecto, TortoiseMerge, para fusionarlos.

He seguido el manual de ese blog y me ha funcionado bien, lo único que he hecho ha sido cambiar las comillas (" en vez de “) al hacer copy-paste de la instrucción desde la web para que reconozca la ruta de LVMerge y de LabVIEW.

Te sugiero que elimines la entrada de .vi en TortoiseSVN y lo intentes otra vez. Antes de intentar fusionar, ¿Te aparecen en el directorio los dos ficheros en conflicto con una extensión que contiene el nombre de la revisión (ejemplo: asdf.vi.r675 y asdf.vi.r676)?

También puedes bajar el vi en conflicto, usar Merge desde labview, borrar el fichero en el repositorio y volver a subirlo a mano. Y como opinión te puedo decir que la herramienta de fusionar apenas la he utilizado, prácticamente todo lo que hago con subversion se reduce a confirmar y actualizar mi repositorio local.

Como curiosidad, ¿has probado a integrar también la herramienta para comparar VIs?

Mensaje 2 de 9
4.331 Vistas

Tienes toda la razón, el problema era que solo habia configurado el Merge Tool pero no el Diff, es decir no habia establecido la configuración de la herramienta de comparación.

 

En mi caso por ser windows en español y LabVIEW 8.6, el campo de configuración que estoy utilizando es este:

 

"C:\Archivos de programa\National Instruments\Shared\LabVIEW Merge\LVMerge.exe" "C:\Archivos de programa\National Instruments\LabVIEW 8.6\LabVIEW.exe" %base %theirs %mine %merged

 

Pero ahora estoy obteniendo este otro error:

http://forums.ni.com/ni/board/message?board.id=170&thread.id=371265

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 3 de 9
4.320 Vistas
Solución
Aceptado por el autor del tema Luis_AM3C

Lo lamento, pero no puedo ayudarte porque no puedo reproducir el error. A mi me funciona correctamente simplemente configurando la herramienta Merge.


Mi configuración es: Windows Vista, TortoiseSVN 1.4.3 Build 8645, LV 8.5. Adjunto una captura de la configuración de TortoiseSVN, en el campo de la línea de comandos de Merge tengo:


"C:\Program Files\National Instruments\Shared\LabVIEW Merge\LVMerge.exe" "C:\Program Files\National Instruments\LabVIEW 8.5\LabVIEW.exe" %base %theirs %mine %merged


Por lo que parece ese error tiene que ver con que los parámetros que le pasas a LVMerge. Puedes intentar pasárselos desde el promt e ir cambiando cosas para ir depurando el error. Yo lo he intentado y me ha funcionado con esta instrucción:


"C:\Program Files\National Instruments\Shared\LabVIEW Merge\LVMerge.exe" "C:\Program Files\National Instruments\LabVIEW 8.5\LabVIEW.exe" "D:\Proyectos\Nueva carpeta\asdf.vi.r675" "D:\Proyectos\Nueva carpeta\asdf.vi.r676" "D:\Proyectos\Nueva carpeta\asdf.vi" "D:\Proyectos\Nueva carpeta\asdf.vi"


Por especular, los nombres de tus ficheros ¿tiene espacios?

0 kudos
Mensaje 4 de 9
4.313 Vistas

Gracias por las imagenes, lo que pasa era que tenía una sola revisión y estaba tratadando de usar la opción de comparación con el repositorio, pero con la configuración del merge.

 

Me hice otro checkout con modificaciones por separados y logre observar el menu de tu imagen y comprobar que ya funciona el LVMerge con el Tortoise SVN.

 

Ahora solo me queda preguntarte si sabes como configurar la herramienta de comparación de VIs.

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 5 de 9
4.306 Vistas

Lo de preguntarte si habías probado a integrar también la herramienta para comparar VIs era precisamente porque yo no lo he hecho, pero me he puesto a investigar un poco. El vi que se llama en Tools > Compare > Compara VIs está en el directorio \project\_procmpvis.llb\CMP Compare VIs.vi. Pero a diferencia del Merge, no hay un ejecutable a través de cual llamarlo como LVMerge.exe.


Una solución es construir un exe que reciba dos parámetros desde la línea de comandos y que llame a este vi. Ya ha habido alguien que lo ha hecho, mira LVDiff. El problema, según comentan en http://forums.ni.com/ni/board/message?board.id=170&message.id=227147, es que en las versiones 8.x han cambiado la ruta y ese exe ya no funciona, por lo que tendrás que modificarlo como comentan en el enlace anterior.

0 kudos
Mensaje 6 de 9
4.283 Vistas

Consegui este post: http://forums.lavag.org/Programmatic-launch-of-compare-VI-s-tool-t10923.html

Donde alguien hizo las modificaciones para que trabajase con LV 8.5. Si puedes pruebalo y me dices como funciona.

Yo lo estoy revisando para hacer una versión para el 8.6.

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 7 de 9
4.267 Vistas
Hola,

El código del ejemplo que enlazas antes genera un ejecutable a partir de LvDiff_Main.vi, este ejecutable recibe como parámetros los dos vis a comparar y los guarda en un fichero xml, luego llama a un segundo vi, LVDiff.vi. El segundo vi lee el fichero xml (los vis a comparar) y llama a CMP Compare VIs.vi pasándole la ruta de ambos ficheros a comparar.


He modificado un poco el código para que lea la ruta de LabVIEW desde un fichero INI, así se puede usar tanto en XP como en vista en cualquier idioma sin tener que generar otra vez el ejecutable. Lo he probado en xp y vista con LV 8.2 y 8.5. También se podría añadir en el ini la ruta a CMP Compare VIs.vi por si vuelve a cambiar...


Adjunto el fichero modificado, el fichero ejecutable generado (con un bat para probarlo) y una captura de la configuración de TortoiseSVN. Para hacerlo funcionar sólo sería necesario copiar la carpeta LvDiff donde quieras y editar el fichero LvDiff.ini para indicar la ruta de LV.

Descargar todos
0 kudos
Mensaje 8 de 9
4.260 Vistas
Lo probe en LabVIEW 8.6 y funciona correctamente. Muchisimas Gracias por tu aporte. 😃
Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 9 de 9
4.253 Vistas