Кто-нибудь имел успех с приложением VB6 и Source Control? - PullRequest
7 голосов
/ 16 июня 2011

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

Ответы [ 5 ]

11 голосов
/ 16 июня 2011

Используйте что-нибудь еще - что-нибудь еще. Три наиболее популярных решения с открытым исходным кодом - это git, mercurial и svn. Я сомневаюсь, что git и mercurial интегрируются в VB6, но у SVN есть решение для интеграции - вы можете найти его здесь: http://svnvb6.tigris.org/

Несмотря на это, я привык к тому, что контроль исходных кодов не интегрирован в мою IDE, поэтому интеграция даже не стала бы фактором в моем решении, если бы я выбирал новое решение.

3 голосов
/ 20 июня 2011

Я использую Mercurial с комбинированным приложением VB6 / .NET около года. Оно работает. Я столкнулся со следующими проблемами на стороне VB6, но они не являются нарушителями:

  1. Если у вас есть «ресурсы» в форме, такой как изображение, они встраивают их в параллельный файл .frx рядом с файлом .frm, и эти файлы .frx не могут быть объединены, если вы и компания -работник вносит изменения одновременно. Контроль источника, который предлагает блокировку для определенных типов файлов, будет работать лучше для этого. Нам нужно было либо (а) подойти к нескольким случаям, когда это произошло, либо (б) использовать какую-то процедуру ручной блокировки: «Я редактирую frmMain ... никто больше не трогал ее!»

  2. В среде IDE VB6 есть некоторые неприятные проблемы с попыткой автоматического исправления регистра ваших идентификаторов, и это не помогает. Поэтому Mercurial всегда видит изменения в файле, где все, что действительно изменилось, было в случае имени переменной. Хуже всего то, что в среде IDE значения Enum обрабатываются как глобальные переменные, поэтому он будет учитывать ваши значения Enum и применять их ко всем переменным с одинаковым именем в коде.

2 голосов
/ 18 июня 2011

Я бы дал SourceGear Vault шанс.У них есть интеграция VB6, и она работает чертовски хорошо.Кроме того, она бесплатна для 2 пользователей.

Я пробовал SVN, но, как говорит @MarkJ, это будет сложно - SVN слишком сильно полагается на слияние.Вам нужно будет пометить файлы .frx, чтобы они были исключительно извлечены, что затем может привести к их потере синхронизации с файлами .frm, что заставит вас размещать файлы .frx исключительно для проверки, и в этот момент вы также можете сделатьэксклюзивные проверки по умолчанию, которые побеждают основные силы SVN.

1 голос
/ 20 июня 2011

Мы перешли от использования StarTeam к использованию Team Foundation Server , который действительно очень хорошо интегрируется с IDE VB6 с использованием поставщика MSSCCI

0 голосов
/ 17 июня 2011

В VSS explorer попробуйте настройки Tools | Options вкладка Local Files настройки Compare files by до Contents.Это может немного замедлить работу VSS.

...