scc convertir archivo abrir version-control vb6 frm

version-control - convertir - archivo scc abrir



¿Cómo se manejan los archivos visuales básicos 6 frm y frx en el control de código fuente? (3)

Solo necesita morder la bala e incluirlos en el sistema de control de versiones. Desafortunadamente, contienen información que no está disponible en ningún otro lado en la fuente. (Los mapas de bits agregados a los controles ImageList, por ejemplo.) Si pierde esos archivos, no puede reconstruir la aplicación correctamente.

Esto siempre es un problema, sin importar el sistema de control de fuente que haya usado (fuente segura, cvs, clearcase ...) los archivos .frx binarios siempre causan problemas al combinar formas visuales básicas.

Lo sé ... lo sé ... ¿por qué estás usando Visual Basic ... porque hay muchas aplicaciones heredadas todavía escritas usando y aunque odio admitirlo, realmente me gusta usarlo ( patos tomates )


Trabajo en ClearCase y encuentro exactamente el mismo problema, y ​​una consulta de Google me hace terminar aquí. Dado que las respuestas aquí en realidad no brindan los detalles técnicos sobre cómo lidiar con estos archivos en ClearCase, permítanme agregar lo que hice hoy para resolver mi problema.

Problema:

Los archivos .frx se han creado con el tipo "archivos comprimidos" en ClearCase, que no admite fusiones, y podrían crear conflictos que desconcertarán al usuario inconsciente (y recibirán una llamada de soporte en el equipo de CM).

Solución:

El guión general que seguiremos se describe en esta nota técnica de IBM

  1. Primero que nada, debe comprender qué tipo de manejo desea para sus binarios: NEVER_MERGE o COPY.

    La referencia a estos dos nuevos tipos se puede encontrar en esta otra nota técnica de IBM

    Personalmente elijo el tipo COPY para los archivos .frx

    Debe crear los nuevos tipos utilizando ClearCase Type Explorer.

    Le sugiero que cree primero los nuevos tipos en un VOB de prueba en alguna parte. Y una vez que esté satisfecho con su prueba, cree los nuevos tipos en su VOB de administrador. Si está trabajando en UCM, eso sería a su nivel PVOB (s). En cualquier caso, asegúrese de declarar el nuevo tipo como Global. Si no está trabajando en UCM y no tiene un VOB de administrador, tendrá que crear los nuevos tipos en todos los VOB individuales que desee usar.

    Simplemente siga las instrucciones en la nota técnica anterior.

    NOTA IMPORTANTE: Tendrá que eliminar los nuevos tipos del VOB "inferior" si los ha creado en un VOB de prueba antes de crearlos en un VOB de administrador (suponiendo que su VOB de prueba estaba bajo el administrador VOB). Al eliminar un tipo de elemento, se eliminan todas las instancias de este tipo, por lo que NO cree estos nuevos tipos para probar en archivos reales, ¡ya que eliminar los tipos de un VOB de nivel inferior eliminará todos los archivos asociados a él!

    ¡Tenga cuidado de no perder datos importantes!

  2. Debe asegurarse de que se creen nuevos archivos .frx con el tipo nuevo adecuado.

    Para esto, necesitas cambiar el "Archivo Mágico". Es una buena idea centralizar los cambios en los archivos mágicos (en lugar de tener que cambiarlos en cada cliente individual). Desea cambiarlo una vez, en un Servidor (por ejemplo, su Servidor VOB), y hacer que las personas usen una variable de entorno llamada "VÍA_MÁGICA" para apuntar a ella.

    Ver esta nota de IBM

    Una vez que haya copiado y cambie el nombre del archivo predeterminado.magic en su ubicación MAGIC_PATH, debe cambiar la definición de los archivos .frx.

    En realidad, hay dos entradas para ellos en el archivo mágico predeterminado:

    (...) # Match non-printable files by name (...) vb_form_compiled vb_derived compressed_file : !-printable & -name "*.[fF][rR][xX]" ; (...) # assumed to be binary (...) vb_form_compiled vb_derived compressed_file : -name "*.[fF][rR][xX]" ;

    Los comenté a ambos y agregué la siguiente línea antes de la última entrada en el archivo mágico:

    # New COPY type: frx_visual_basic vb_derived COPY : -name "*.[fF][rR][xX]" ; # catch-all, if nothing else matches compressed_file : -name "*" ; #EOF

    Cada cliente que define la variable de entorno MAGIC_PATH debería elegirlo ahora, de modo que cualquier archivo nuevo creado con el sufijo .frx tendrá el tipo de elemento "COPY".

  3. Si ya tiene archivos .frx en su VOB, quiere cambiarlos al nuevo tipo:
    • Bloquear el VOB
    • utilice el siguiente comando en Windows desde el indicador de DOS (desde la parte superior de su VOB):

      cleartool find . -all -name "*.frx" -exec "cleartool chtype COPY %CLEARCASE_XPN%"

      Esto cambiará el tipo de elemento para todos los archivos * .frx al nuevo tipo COPY

    • Desbloquear el VOB

      Debe hacer eso para todos sus VOB.

Nota: La primera nota técnica en la parte superior de esta respuesta indica que "este tipo de fusión (es decir, COPY) no es compatible con Rational ClearCase Remote Client". a partir de ClearCase 7.0.1 y de la prueba que hice hoy, esto ahora es compatible.

Aclamaciones,

Thomas


Las fusiones de Frx son un gran dolor. Por lo que recomiendo si su sistema de control de versiones permite el bloqueo, asegúrese de usarlo en los archivos frx para evitar fusiones. Por ejemplo, bloqueo de soporte de Subversion para evitar problemas con la edición de bitmaps y otros archivos binarios.

Dicho esto, mi empresa y yo hemos estado utilizando Subversion en un proyecto CAD / CAM VB6 durante más de 5 años y solo hemos tenido un problema al combinar Frx un puñado de veces. En todos los casos, fue un asunto simple de resolver. Principalmente por una persona haciendo una copia de seguridad de su formulario y resolviendo el problema a mano a través de cortar y pegar. Si alguien hace un trabajo importante en una de las formas que tiene muchos mapas de bits, entonces nos aseguramos de bloquearla y obtener esa parte del proyecto lo más rápido posible.

PD: No se disculpe por la rareza de FRX de VB. Otros paquetes tienen el mismo problema cada vez que dos personas editan el mismo mapa de bits, wav o cualquier otro tipo de archivo binario del que dependerá un software.