Я использую Subversion для управления кодом с TortoiseSVN для взаимодействия с сервером в течение последних нескольких месяцев, и в целом все отлично! Однако иногда моя FoxPro IDE изменяет случай расширения файла без предупреждения, где "program.prg" становится "программой. PRG" ). TortoiseSVN, по-видимому, подразумевает, что первый файл был удален, становится помеченным как "отсутствует", а второе имя называется "не-версией", разрушая мою способность отслеживать изменения в файле. Я понимаю, что Subversion имеет свое происхождение в чувствительном к регистру мире * nix, но есть ли способ контролировать это поведение в Subversion или TortoiseSVN, чтобы имя файла было нечувствительным к регистру при использовании с Windows?
Могу ли я сделать Subversion + TortoiseSVN без учета регистра для Windows?
Ответ 1
К сожалению, Subversion чувствительна к регистру. Это связано с тем, что файлы из Subversion можно проверить как в файловых системах, чувствительных к регистру (например, * nix), так и в незашифрованных файловых системах (например, Windows, Mac).
Этот крюк pre-commit script может помочь вам избежать проблем при проверке файлов. Если это не решит вашу проблему, мое лучшее предложение - написать немного script, чтобы убедиться, что все расширения имеют строчные буквы и запускают их каждый раз, прежде чем вы входите в/проверить. Это будет PITA, но, возможно, ваш лучший выбор.
Ответ 2
Windows поддерживает чувствительность к регистру, но вы должны отправить правильные флаги POSIX в CreateFile из Windows API! Возможно, потребуется изменить раздел реестра (SFU/Tools для Unix и Ultimate Windows 7 уже установили эту запись в реестре, чтобы окна поддерживали имена файлов, чувствительных к регистру).
Windows разрабатывается из Unix, но такие вещи, как Explorer.exe и другие программы, предназначены для предотвращения чувствительности к регистру для обратной совместимости и безопасности (в основном при работе с dos, выполняющей notepad.exe по сравнению с NOTEPAD.EXE, где все кепки является вирусом или вредоносным ПО).
Но у Vista + есть атрибуты безопасности, которые делают это устаревшим.
TortiousSVN просто не поддерживает передачу этого символа posix при создании и переименовании файлов.
Ответ 3
Я использую TortoiseSVN с VFP, и он в основном - легко обрабатывает флип файл. Единственный раз, когда это не так, - если у меня есть файл, открытый в среде IDE, когда я пытаюсь выполнить фиксацию: блокировка файла VFP держит его. Это где ваша проблема возникает, или есть другие проблемы?
В прошлом году я сделал презентацию в FoxForward об использовании VFP с Subversion: большая часть презентации была посвящена командной строке, но в конце есть несколько слайдов, которые имеют ссылки на инструменты, которые помогут вам работать с Subversion в VFP, http://docs.google.com/Presentation?id=dfxkh6x4_3ghnqc4
Ответ 4
Я считаю, что случайный верхний и нижний регистр в расширениях не является случайным вообще. Я помню, как тестировал это. Если вы измените программу у менеджера проекта. Нажав кнопку "Изменить", скажем. Затем сохраните изменения, а расширение - в нижнем регистре. Если вы выполните команду изменения из окна команд и сохраните изменения, расширение будет в верхнем регистре. По-видимому, кодеры Microsoft не беспокоились о том, что расширение является тем же.
Ответ 5
Kit, вы замечаете выше, что исходные файлы на основе двоичных файлов VFP с трудом работают в Subversion. В ссылке, которую я привел выше, упоминается несколько инструментов, чтобы упростить ее, но с моей работой связана утилита Christof Wollenhaupt TwoFox - она конвертирует проект VFP в текстовое. Вы должны запускать его вручную, но у меня нет проблем с этим.
Ответ 6
Нет, конечно, вы не можете. SVN чувствителен к регистру, если вы не должны каким-либо образом переписывать код... это open-source.