Как вы работаете с файлами frm и frx Visual Basic 6.0 в системе управления версиями?

Это всегда неприятно, независимо от того, какую систему управления версиями я использовал (Visual SourceSafe, CVS, ClearCase и т. д.). Двоичные файлы .frx всегда вызывают проблемы при объединении форм Visual Basic.

Я знаю ... Я знаю ... почему вы используете Visual Basic ... потому что на нем все еще написано множество унаследованных приложений, и, хотя я не хочу это признавать, мне на самом деле нравится его использовать (duts Tommy < / em>).


person Andy Slater    schedule 26.11.2008    source источник


Ответы (3)


Вам нужно просто перекусить и включить их в систему контроля версий. К сожалению, они действительно содержат информацию, которой нет больше нигде в источнике. (Например, растровые изображения, добавленные в элементы управления ImageList.) Если вы потеряете эти файлы, вы не сможете правильно перестроить приложение.

person JeffK    schedule 26.11.2008
comment
Пуля укусила. Приятно знать, что я не единственный! - person Andy Slater; 28.11.2008

Слияние Frx - большая проблема. Поэтому я рекомендую, если ваша система контроля версий допускает блокировку, убедитесь, что вы используете ее для файлов frx, чтобы избежать слияний. Например, Subversion поддерживает блокировку, чтобы избежать проблем с редактированием растровых изображений и других двоичных файлов.

С учетом сказанного, моя компания и я использовали Subversion в проекте Visual Basic 6.0 CAD / CAM более пяти лет и сталкивались с проблемой слияния frx лишь несколько раз.

Во всех случаях это было несложно. В основном одним человеком, который делает резервную копию своей формы и решает проблему вручную путем вырезания и вставки. Если кто-то проделывает большую работу над одной из форм, в которой много растровых изображений, мы позаботимся о том, чтобы заблокировать ее и выполнить эту часть проекта как можно быстрее.

P.S. Не извиняйтесь за странность FRX в Visual Basic. В других пакетах такая же проблема возникает каждый раз, когда два человека редактируют одно и то же растровое изображение, WAV или любой другой тип двоичного файла, от которого зависит программное обеспечение.

person RS Conley    schedule 27.11.2008
comment
Спасибо за предложение блокировки. Я почти уверен, что ClearCase (система контроля версий, которую мы используем) позволит это сделать. - person Andy Slater; 28.11.2008

Я работаю над ClearCase и натыкаюсь на ту же проблему, и запрос Google заставляет меня оказаться здесь. Поскольку ответы здесь на самом деле не содержат технических подробностей о том, как работать с этими файлами в ClearCase, позвольте мне добавить то, что я сделал сегодня, для решения моей проблемы.

Проблема:

Файлы .frx были созданы с использованием типа compressed_files в ClearCase, который не поддерживает слияния и может создавать конфликты, которые озадачивают неосведомленного пользователя (и приводят к звонку в службу поддержки в команду CM).

Решение:

Общий сценарий, которому мы будем следовать, описан в этом техническом примечании IBM < / а>

  1. Прежде всего, вам нужно понять, какой тип обработки вы хотите для своих двоичных файлов: NEVER_MERGE или COPY. # P6 # # P7 # # P8 # # P9 # # P10 # # P11 # # P12 #
  2. Вам необходимо убедиться, что все новые файлы .frx будут создаваться с правильным новым типом. # P13 # # P14 # # P15 # # P16 #
    (...)
    
    # 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]" ;
    
    # P17 #
    # New COPY type:
    
    frx_visual_basic vb_derived COPY : -name "*.[fF][rR][xX]" ;
    
    # catch-all, if nothing else matches
    compressed_file : -name "*" ;
    
    #EOF
    
    # P18 #
  3. If you already have .frx files in your VOB, you want to change them to the new type:
    • Lock the VOB
    • используйте следующую команду в Windows из командной строки DOS (сверху вашего VOB):
      cleartool find . -all -name "*.frx" -exec "cleartool chtype COPY %CLEARCASE_XPN%"
      
      # P19 #
    • Разблокируйте VOB # P20 #

Примечание. В первом техническом примечании вверху этого ответа указано, что этот тип слияния (т. Е. КОПИРОВАНИЕ) не поддерживается удаленным клиентом Rational ClearCase. Начиная с ClearCase 7.0.1 и из теста, который я провел сегодня, теперь это поддерживается.

person Thomas Corriol    schedule 27.05.2009