2017-01-03 11 views
1

Я только что начал эту проблему с VS2012 и TFS.VS2012 - TFS меняет объекты из нижнего регистра в верхний регистр (VB6)

У нас есть классы VB6, хранящиеся в Team Foundation Server.

Я проверил класс (VB6 * .cls) для редактирования (в VS2012 TFS), а затем отредактировал его в Visual Basic 6 IDE, изменив не более 20 строк из примерно 8900 строк в классе, прежде чем сохранять класс.

К сожалению, когда я пытаюсь сравнить мои изменения с последней версией в TFS, я получаю сотни изменений, потому что либо Visual Studio, либо TFS меняет все Adodb. на «ADODB». как в рисунке

enter image description here

Это делает его очень трудным для моих коллег, чтобы рассмотреть мои изменения кода, так как должно быть не более чем приблизительно 20 ....

EDIT: похоже, что это VB6 делает все эти изменения ...

Что мне нужно изменить, чтобы исправить это?

+1

TFS ничего не меняет. Это приведет к тому, что оно станет инструментом контроля источника. –

+0

В пределах внесенных изменений был изменен adodb на ADODB? Существует стандартное поведение для VB6 IDE, если имя переменной не определено. По общему признанию, вам пришлось бы попытаться добиться этого, но, возможно, если бы вы только проверили .cls и открыли его вне контекста проекта, вы потеряли бы ссылку на полное определение класса ADODB, а затем, если бы вы невинно отредактировали случай Префикс ADODB вы бы нашли, что VB IDE будет рабски менять каждую подходящую строку в том же случае. Это по дизайну и иллюстрирует, почему редактирование отдельного файла проекта VB6 является плохим. –

+1

@VanquishedWombat: нет, ничего подобного ... Я только добавил код к существующей функции - в VB6 IDE –

ответ

5

Это не проблема с TFS. VB6 делает это, когда думает, что объявление объекта или переменной изменилось.

Но вы можете обратиться к этому в TFS. Настройте TFS для использования внешнего инструмента сравнения, такого как Beyond Compare или WinMerge (есть много других), которые поддерживают нечувствительные к регистру сравнения.

+0

Голосовать за меня. Но в то время как то, что вы говорите, верно, если OP отредактировал файл за пределами контекста проекта, он, конечно же, не тестировал его, и всевозможные проблемы могли быть созданы, если пропустить простой тест ctrl-F5. Не хорошая практика. –

+3

@VanquishedWombat - Я часто видел это поведение от vb6, то есть ссылочные типы объектов, полностью заглавные или наоборот. Никогда не надоело пытаться выяснить, почему/когда/как vb6 решает это сделать. Я полностью ожидаю, что OP редактировался в IDE vb6 с полным загруженным проектом, а не за его пределами. – MarkL

+0

Согласитесь, это маловероятно, но я не видел, чтобы VB6 IDE заново закрывал переменную, о которой он знал, - только те, кто вводил новый код и ссылался на переменные un-dimmed. Посмотрим, что говорит OP. Счастливы, если мои предположения неверны. –