Кто-нибудь имел успех с приложением VB6 и Source Control?
В настоящее время я использую Source Safe с унаследованным приложением VB6 и неоднократно замечал, что приложение неправильно обновляет файлы с использованием последней версии get или добавляет новые файлы в проект. Я просто считаю, что у кого-то должен быть лучший способ использования контроля версий в приложениях VB6.
5 ответов
Используйте что-то еще - что-нибудь еще. Три наиболее популярных решения с открытым исходным кодом - это git, mercurial и svn. Я сомневаюсь, что git и mercurial интегрируются в VB6, но у SVN есть решение для интеграции - вы можете найти его здесь: http://svnvb6.tigris.org/
Что бы это ни стоило, я привык к тому, что контроль исходных кодов не интегрирован в мою IDE, поэтому интеграция даже не стала бы фактором в моем решении, если бы я выбирал новое решение.
Я использую Mercurial с комбинированным приложением VB6/.NET около года. Оно работает. Я столкнулся со следующими проблемами на стороне VB6, но они не нарушают соглашения:
Если у вас есть "ресурсы" в форме, подобной изображению, они встраивают их в параллельный файл.frx рядом с файлом.frm, и эти файлы.frx не могут быть объединены, если вы и ваш коллега вносите изменения в в то же время. Контроль источника, который предлагает блокировку для определенных типов файлов, будет работать лучше для этого. Нам нужно было либо (а) смириться с несколькими случаями, когда это произошло, либо (б) использовать какую-то процедуру ручной блокировки: "Я редактирую frmMain... никто больше не трогал ее!"
В среде IDE VB6 есть некоторые неприятные проблемы с попыткой автоматически исправить регистр ваших идентификаторов, и это не помогает. Поэтому Mercurial всегда видит изменения в файле, где все, что действительно изменилось, было в случае имени переменной. Хуже всего то, что в среде IDE значения Enum обрабатываются как глобальные переменные, поэтому он будет учитывать ваши значения Enum и применять их ко всем переменным с одинаковым именем в вашем коде.
Я бы дал SourceGear Vault шанс. У них есть интеграция VB6, и она работает чертовски хорошо. Плюс это бесплатно для 2 пользователей.
Я пробовал SVN, но, как говорит @MarkJ, это будет сложно - SVN слишком сильно зависит от слияния. Вам нужно будет пометить файлы.frx, чтобы они были исключительно извлечены, что затем может привести к их потере синхронизации с файлами.frm, что заставит вас размещать файлы.frx исключительно для проверки, и в этот момент вы также можете сделать эксклюзивные проверки по умолчанию, который побеждает основные силы SVN.
Мы перешли от использования StarTeam к использованию Team Foundation Server, который действительно очень хорошо интегрируется с IDE VB6 с использованием поставщика MSSCCI.
В VSS explorer
попробуй настройки Tools | Options
табуляция Local Files
установка Compare files by
в Contents
, Это может немного замедлить работу VSS.